flash 制作求函数解析式
admin 2013-03-07 15:58:58
源文件下载
代码如下:
stop();
var a:Number;
var k:Number;
var b:Number;
var c:Number;
var d:Number;
d= 0;
function yicihanshu(q:Number):void
{
xuze.gotoAndStop(2);
d = 1;
}
yi.addEventListener(MouseEvent.MOUSE_DOWN, yicihanshu);
function fanbilihanshu(q:Number)
{
xuze.gotoAndStop(1);
d = 2;
}
fan.addEventListener(MouseEvent.MOUSE_DOWN,fanbilihanshu);
function zhenbilihanshu(q:Number):void
{
xuze.gotoAndStop(1);
d = 3;
}
zheng.addEventListener(MouseEvent.MOUSE_DOWN,zhenbilihanshu);
function ercihanshu(q:Number):void
{
xuze.gotoAndStop(3);
d = 4;
}
er.addEventListener(MouseEvent.MOUSE_DOWN,ercihanshu);
function jishuan(q:Number)
{
switch (d)
{
case 0 :
shuchu.text = "先选择函数类型";
case 1 :
k=((xuze.Y2.text)-(xuze.Y1.text))/((xuze.X2.text)-(xuze.X1.text));
b=(xuze.Y1.text)-k*(xuze.X1.text);
shuchu.text = "y" + "=" + k + "x" + "+" + b;
break;
case 2 :
k=(xuze.X0.text)*(xuze.Y0.text);
shuchu.text = "y" + "=" + k + "/" + "x";
break;
case 3 :
k=(xuze.Y0.text)/(xuze.X0.text);
shuchu.text = "y" + "=" + k + "x";
break;
case 4 :
a=(xuze.Y5.text)/(((xuze.X4.text)-(xuze.X5.text))*((xuze.X3.text)-(xuze.X5.text)))
+(xuze.Y4.text)/(((xuze.X4.text)-(xuze.X5.text))*((xuze.X4.text)-(xuze.X3.text)))
+(xuze.Y3.text)/(((xuze.X3.text)-(xuze.X4.text))*((xuze.X3.text)-(xuze.X5.text)));
b=((xuze.Y4.text)-(xuze.Y3.text)-a*((xuze.X4.text)*(xuze.X4.text)-(xuze.X3.text) *(xuze.X3.text)))/((xuze.X4.text)-(xuze.X3.text));
c=xuze.Y3.text-a*(xuze.X3.text)*(xuze.X3.text)-b*xuze.X3.text;
shuchu.text = "y" + "=" + a + "x²" + "+" + b + "x" + "+" + c;
}
}
queding.addEventListener(MouseEvent.MOUSE_DOWN,jishuan);
注:
yi,fan,zheng,er,queding分别为一次函数,反比例函数,正比例函数,二次函数 按钮的实例名称。
xuze为填入坐标的影片剪辑的实例名称。
X1~5和Y1~5均为坐标文本实例名称。
计算方法:
计算正比例函数和反比例函数的解析式的方法比较简单这里就不说了。
计算一次函数解析式y=kx+b需要两个坐标(x1,y1),(x2,y2) 计算时列出方程组:
y1=kx1+b
y2=kx2+b
解得:
k=(y2-y1)/(x2-x1)
b=y1-kx1
根据这个就可以直接由两个坐标求k,b的值。
计算二次函数解析式比较麻烦,但也可以推出公式
计算y=ax²+bx+c时需要三个坐标(x1,y1),(x2,y2),(x3,y3),列出方程组:
y1=ax1²+bx1+c
y2=ax2²+bx2+c
y3=ax3²+bx3+c
解得:
a=y3/((x2-x3)(x1-x3))+y2/((x2-x3)(x2-x1))+y1/((x1-x2)(x1-x3))
b=(y2-y1-a(x2²-x1²))/(x2-x1)
c=y1-ax1²-bx1
这样只要写出三个坐标,根据公式可直接求的a,b,c的值
你也可以试着推一下,但和我推的结果可能不一样,验算正确就可以了。
IT时代网(关注微信公众号ITtime2000,定时推送,互动有福利惊喜)所有原创文章版权所有,未经授权,转载必究。
创客100创投基金成立于2015年,直通硅谷,专注于TMT领域早期项目投资。LP均来自政府、互联网IT、传媒知名企业和个人。创客100创投基金对IT、通信、互联网、IP等有着自己独特眼光和丰富的资源。决策快、投资快是创客100基金最显著的特点。