flash 制作求函数解析式

2019-10-08 15:09:14王冬梅

 

源文件下载
代码如下:

复制代码
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的值。