flash 制作求函数解析式


 

源文件下载
代码如下:

复制代码
代码如下:

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基金最显著的特点。

相关文章
中芯国际联手国家队斥500亿投建12吋晶圆制造 什么信号?
中芯国际等被美列黑名单 外交部:坚决反对美方无端打压中国企业
中芯国际遭“断粮”背后:芯片产业链加速国产化
被美国列入“黑名单”?中芯国际:未收到此类官方消息

精彩评论