Skip to content

Instantly share code, notes, and snippets.

@meru-akimbo
Created June 9, 2012 18:48
Show Gist options
  • Save meru-akimbo/2902179 to your computer and use it in GitHub Desktop.
Save meru-akimbo/2902179 to your computer and use it in GitHub Desktop.
定積分計算機
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<link href="./css/index.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#enzan").click( function() {
var a = $("#start").val();
var b = $("#end").val();
var fx = $("#siki").val();
var n = 10000;
var s;
if( jQuery.isNumeric(a) || jQuery.isNumeric(b) )
{
a = Number(a);
b =Number(b);
var h = ( b - a ) / (2*n);
var i=0;
x = new Array(2*n+1);
xx = new Array(2*n+1);
y = new Array(2*n+1);
yy=0;
var fxx;
while(i <= 2*n)
{
x[i] = (a+h*i);
i++;
}
i = 0;
fxx = fx.replace(/x/g, "x[i]");
while(i <= 2*n)
{
y[i] = eval(fxx);
i++;
}
i = 0;
while(i<=(2*n))
{
if( i == 0 || i == 2*n)
{
yy = yy + y[i];
}
else if( i % 2 == 1)
{
yy = yy + 4*y[i];
}
else
{
yy = yy + 2*y[i];
}
i++;
}
s = h/3 * yy;
$("#kekka").html("<font size='4'><b>S="+s+"</b></font>");
}
else
{
alert("範囲が数値でない");
}
});
});
</script>
</head>
<body>
<table border="5">
<tr>
<td><font size="5"><b>シンプソン法での定積分</b></font></td>
</tr>
<tr>
<td>始点:a <input type="text" value="a" id="start" /></td>
</tr>
<tr>
<td>終点:b <input type="text" value="b" id="end" /></td>
</tr>
<tr>
<td>関数:f(x) <input type="text" value="f(x)" id="siki" /></td>
</tr>
<tr>
<td><button id="enzan" />計算</button></td>
</tr>
<tr>
<td><span id="kekka" /></td>
</tr>
</table>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment