Assignment 11

Linear Interpolation

by vzufelt

HTML

<h3>
Assignment 11
</h3>
<p>
Enter a rainfall value between 0 and 6.
</p>
<input type="textbox" id="range" />
<br/>
<input type="button" id="AddLink" value="Enter a Value" onClick="inputRange();" />
<br/>
<div id="input"></div> <br/>
<div id="output"></div> <br/>

JavaScript

var array = [0.00,0.04,0.11,0.60,0.87,0.95,1.00];

function inputRange() {
	var input = document.getElementById('range').value;
  Interpolation(input); 
}
function Interpolation(input){
  if(input < 0 | input > 6){
    document.getElementById("output").innerHTML = "Error, use a number between 0-6." + "<br>You put " + input ;
    return null;
  }
  if(input >= 0 | input <= 6){
  	var inter = array[input];
    	if(inter === undefined){
        var x = input;
        var x1 = Math.floor(input);
        var x2 = Math.ceil(input);
        var y1 = array[x1];
        var y2 = array[x2];
        
        var equation1 = ((x-x1)/(x2-x1)).toFixed(2)
        var equation2 = (equation1*(y2-y1)).toFixed(2);
        var equation3 = (+equation2 + y1).toFixed(2);
        inter = equation3;
      }
  }  else {
  	document.getElementById("output").innerHTML = "Error, use numbers 0-6.";
    return null;
  }
   document.getElementById("output").innerHTML = inter;
}