lei2yu 发表于 2011-4-27 19:34:36

如何利用上一步的多个数据进行自动画图

大家好:现在我遇到这么一个问题,希望大家能不吝赐教。先在此谢过……
问题描述:
restart;
with(plots, implicitplot);
m := 1;
n := 5.0;
step := 2/n;
for i from m to n do
a = i*step;
b = i^2*step+2*sin(i*step)
end do;
根据这一程序我会计算得到一组数据:                              
                               a = 0.4000000000
                               b = 1.178836685
                              a = 0.8000000000
                               b = 3.034712182
                               a = 1.200000000
                               b = 5.464078172
                               a = 1.600000000
                               b = 8.399147206
                               a = 2.000000000
                               b = 11.81859485

然后我想以a为横坐标,b为纵坐标画图。所以我用以下函数:
plot(Vector(), Vector(), symbol = asterisk, color = blue);

这样,我在第一个程序中改变了参数之后,a,b的值也会改变,那么画图的时候用我这方法的话就得把a,b的值copy到plot函数中。有没有什么方法可以不用copy,改变第一个程序中的参数,后面可以自动根据结果画出图像?

PS:上面的a,b函数很简单,可以直接用plot画出来他们的关系。但我的实际函数是一个很复杂的隐函数,数值求解才能求出来。就是这个模式,我想让他自动画图,我是maple初学者,不知道该怎么做。
上面的程序我附件上:

maplelab 发表于 2011-4-27 20:59:59

本帖最后由 maplelab 于 2011-4-27 21:01 编辑

仅供参考:restart;
fig:=proc(m,n)
local step,a,b,i;
step:=2.0/n;
a:=[];
b:=[];
for i from m to n do
a:=;
b:=;
end do;
return plot(a,b,symbol = asterisk, color = blue);
end proc:
fig(1,5.0);

lei2yu 发表于 2011-4-27 21:13:27

谢谢版主

本帖最后由 lei2yu 于 2011-4-27 21:16 编辑

2# maplelab
谢谢版主,对于这个简单的函数您的程序很好,我学到了比较标准的写法了。但是我那个例题中的函数很复杂,您这个程序我试了试不成功。因为这个里面是简单的函数,可以在vector里面直接引用函数,但我的函数是一个隐函数求解。不过你的程序给了我一点灵感,就是定义一个数组就行了。我把a,b结果分别存到两个个vector里,然后画图就好了。
再次谢谢斑竹……
页: [1]
查看完整版本: 如何利用上一步的多个数据进行自动画图