john152 发表于 2011-4-3 18:35:08

maple的循环画图

想用maple在一张图中绘出多个曲线,如何实现?

比如Duffing系统的受迫振动问题:

restart:epsilon:=0.04: B:=1: i:=0:
eq:=A/B=1/sqrt((1-s^2+3*epsilon*A^2/4)^2+(2*zeta*s)^2):
with(plots,implicitplot):
for zeta from 0 by 0.1 to 1 do implicitplot(eq,s=0..2.5,A=0..7,numpoints=10000,axes=box,labels=,labelfont=):end do;

这样绘出的是多个单独的图形,如何将图合并在一起呢?
向各位请教!

MMMS 发表于 2011-4-4 23:59:04

需要将图形结构(语句)赋值给变量,例如
for i from 1 to m
A = implicitplot(...)
end do
然后用plots:-display(seq(A[i), i=1..m));

maplelab 发表于 2011-4-5 09:52:27





john152 发表于 2011-4-5 09:52:40

需要将图形结构(语句)赋值给变量,例如
for i from 1 to m
A = implicitplot(...)
end do
然后用plots:-display(seq(A[i), i=1..m));
MMMS 发表于 2011-4-4 23:59 http://forum.simwe.com/images/common/back.gif

好像不行啊,如果图形不赋值给变量,还能画出一个一个单独的图形,而一旦将图形幅值给了变量,就画不出图来,显示出的是一堆数据结构,不知道是怎么回事?

john152 发表于 2011-4-7 09:08:37

真是奇了怪了,我用版主一模一样的程序就是画不出图来,难道是人品不行?

对了,我用的是maple9,该不是版本的问题吧?
restart: epsilon:=0.04: B:=1:
eq:=zeta->A/B=1/sqrt((1-s^2+3*epsilon*A^2/4)^2+(2*zeta*s)^2):
fig:=zeta->plots(eq(zeta),s=0..2.5,A=0..7,numpoints=10000,axes=box,labels=,labelfont=):
plots(fig~());
plots(fig,,zeta=0..1,trace=10,frames=100);



maplelab 发表于 2011-4-7 17:54:43

建议升级一下版本.

john152 发表于 2011-4-8 07:51:43

建议升级一下版本.
maplelab 发表于 2011-4-7 17:54 http://forum.simwe.com/images/common/back.gif

好的,我升级到了maple12,终于可以画出来了
但是这条语句:
plots(fig~());
还是画不出来

maplelab 发表于 2011-4-8 09:54:31

直接升级到maple14不是更好吗?

john152 发表于 2011-4-8 13:27:12

呵呵,网络流量不够,舍不得下载啊
以后有机会了再更新吧
谢谢matlablab的热心帮助
:handshake
页: [1]
查看完整版本: maple的循环画图