SimWe仿真论坛's Archiver

20wangz 发表于 2008-6-9 20:53

关于作图的一个问题[继续请教]

我想画个这样的图:
a分别取值1,3,5,8
y=x^2+a
我想在同一张图上得到x-y曲线族,请教该如何编程。

[[i] 本帖最后由 20wangz 于 2008-6-11 06:53 编辑 [/i]]

shamohu 发表于 2008-6-9 22:38

试一下下面代码:

Parameter x=[1,10],y;
PlotFunction  For(i=1:8)(y=x^2+i);

画完后将不需要的线(i=2,4,6,7)在对象检查框里勾去即可,如下图。

20wangz 发表于 2008-6-10 06:27

谨受教!谢谢谢谢!

20wangz 发表于 2008-6-10 20:51

回复 2# 的帖子

再请教:

如果我的a不是恰好是些整数呢?比如:a分别取3.1,4.5,6.2,11.0,这又该如何处理呢?

我想把a定义成一个数组,这样的话,画曲线族就可以通过一个循环来解决。可数组如何定义和引用呢?

以前已经有人问到了这个问题,但似乎没有答复。

一再麻烦你,不好意思了。只能在心底说声“谢谢”!

shamohu 发表于 2008-6-11 13:36

下面的代码原本认为可以,却导致错误!估计是存在Bug,希望下一版本能解决这一问题。
Constant a=[3.1,4.5,6.2,11.0];
Parameter x=[1,10],y;
PlotFunction  For(i=1:8,a)(y=x^2+a[i]);

现在的解决办法是:
Constant a=3.1;
RefreshChart = False;
Parameter x=[1,10],y;
PlotFunction  y=x^2+a;[/i]
[i]画完一条后,将a值换掉再画一次。完毕后再通过属性编辑器调整各条线的属性。虽然笨一些,但可以达到要求。


[/i]

[[i] 本帖最后由 shamohu 于 2008-6-11 13:44 编辑 [/i]]

20wangz 发表于 2008-6-11 23:46

兄台前面的程序我也用过,但只要一运行,1stOpt就自动退出了,不知道是怎么回事。

谢谢!

页: [1]
 

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.