coolmat 发表于 2007-10-24 19:27

在一张图内画多条正弦曲线有几种方法??

我只能想到一种:

t=0:.001:1
x1=sin(2*pi*2*t);

hold on;
plot(t,x1);
x2=sin(2*pi*3*t);
plot(t,x2);
x3=sin(2*pi*4*t);
plot(t,x3);

grid on;


能不能将这三个正弦波放到一个表达式中,但是画出的是三个正弦波呢?

除了这些还有别的方法吗?

[ 本帖最后由 eight 于 2007-10-24 19:55 编辑 ]

eight 发表于 2007-10-24 19:55

原帖由 coolmat 于 2007-10-24 19:27 发表 http://www.chinavib.com/forum/images/common/back.gif
我只能想到一种,

t=0:.001:1
x1=sin(2*pi*2*t);

hold on;
plot(t,x1);
x2=sin(2*pi*3*t);
plot(t,x2);
x3=sin(2*pi*4*t);
plot(t,x3);

grid on;


能不能将这三个正弦波放到一个表达式中,但 ...

把向量做成矩阵就可以了,不过感觉没有太大的必要

coolmat 发表于 2007-10-24 20:02

1111

还是简单点好,就几条语句实现最好

花如月 发表于 2007-10-24 20:08

回复 #1 coolmat 的帖子

t=0:.001:1;a=;plot(a)

huihust 发表于 2007-10-25 09:10

或者用双坐标plotyy,这些都是在一个axis中实现的。用多个axis对象也可以,如subplot等

VibrationMaster 发表于 2007-10-25 14:18

采用矩阵方式可以,但是无法单独控制线型和颜色

花如月 发表于 2007-10-25 14:45

回复 #6 VibrationMaster 的帖子

可以用函数句柄控制,不过有些麻烦。
t=0:.001:1;a=;
plot(a);hl=get(gca);hd=hl.Children;
set(hd(1),'color',,'LineStyle','*','linewidth',2.0);
set(hd(1),'color',,'LineStyle',':','linewidth',2.5);
set(hd(1),'color',,'LineStyle','--','linewidth',3.0);
这样做会简洁些
t=0:.001:1;a=;
plot(t,a(:,1),'r.',t,a(:,2),'b:',t,a(:,3),'go')

[ 本帖最后由 花如月 于 2007-10-25 14:47 编辑 ]

VibrationMaster 发表于 2007-10-25 16:09

谢谢,还是麻烦了点

花如月 发表于 2007-10-25 16:29

回复 #8 VibrationMaster 的帖子

因此,我也赞成2楼的观点。这么做确实没有多大必要,也没有什么实质性的区别

coolmat 发表于 2007-10-26 11:52

再问个问题

t=0:.001:2;
x1=sin(2*pi*2*t-pi/6);
x2=sin(2*pi*3*t-pi/4);
x3=sin(2*pi*4*t-pi/3);
plot(t,x1,'color','red')
hold on
plot(t,x2,'color','green')
plot(t,x3)
grid on

下面图可以看出,在0.2秒内有一点三条曲线可以相交,在1.2秒内也有个相交点,这是一秒钟。
我希望画图起点就在第一个相交点,终点在第二个相交点。即这样的1S占满整个图。

我怎么改程序呢,我试验了一段时间一直没有好方法

花如月 发表于 2007-10-26 12:26

求交点坐标,然后根据坐标定义区间就行了

eight 发表于 2007-10-26 12:42

原帖由 coolmat 于 2007-10-26 11:52 发表 http://www.chinavib.com/forum/images/common/back.gif
t=0:.001:2;
x1=sin(2*pi*2*t-pi/6);
x2=sin(2*pi*3*t-pi/4);
x3=sin(2*pi*4*t-pi/3);
plot(t,x1,'color','red')
hold on
plot(t,x2,'color','green')
plot(t,x3)
grid on

下面图可以看出,在0.2秒内 ...

自己翻翻旧帖吧,记得精华区就有介绍如何求交点

花如月 发表于 2007-10-26 15:22

这种问题自己动下手就可以解决,不过结果并不像肉眼观察的那样。根据方程解出来的,也只有2个交点。因此满足要求的曲线段唯一

coolmat 发表于 2007-10-26 20:09

回复 #13 花如月 的帖子

我要的就是这种效果,麻烦花如月告诉我如何修改我的程序。
还有就是横坐标应该是时间序列,绿色的正弦波,初相和其他两条应该一样。

谢谢了!!:@)

弯弓射大雕 发表于 2007-10-26 20:48

回复 #14 coolmat 的帖子

plot(t,x,t,y)比较简单吧
页: [1] 2
查看完整版本: 在一张图内画多条正弦曲线有几种方法??