关于scope的问题(不知能不能重发,希望管理员不要删..
SIMULINK仿真图中的一个scope有多个输入信号,要在命令窗口中用FIGURE获取和scope中一模一样的波形,包括scope波形坐标中的注释,该用什么样的语句呢?我知道用subplot()和plot(scopedata(:,1),scope(:,2))可以得到,但这样只能对只有一个输入信号的scope进行绘图,有多个输入信号的就绘不出,还有三相电压一般都要绘在同一坐标中,scope可以很好地绘出,但怎么用指令把scope中的这么好的图原封不动的‘搬’到figure中呢?麻烦高手指点一下,谢谢啦!!另:本人对plot(scopedata(:,1),scope(:,2))中的scopedata(:,1)和scope(:,2)这两个参数不懂是什么意思,是scope中的横坐标和纵坐标吗?
PS:本人希望电路中最好只要一个scope(可以多个输入嘛,何必每个信号用一个),并且能在命令窗口中用指令把这个scope中的所有波形原封不动地绘出来,最好背景也一样,呵呵
回复 #1 happydzps 的帖子
同问:@L望高人指点 你是不是要把这些信号表示在一个坐标系下?
就是你所说的象三相电压或电流一样要在一个坐标系下表示
你直接在你的仿真模型中就可以实现了,不需要那么麻烦的
步骤:
在simulink里面的有一个“MUX”模块,把你要显示的那些信号合成在一起,送入scope即可 SIMULINK仿真图中的一个scope有多个输入信号,要在命令窗口中用FIGURE获取和scope中一模一样的波形,包括scope波形坐标中的注释,该用什么样的语句呢?
为什么要在命令窗口画一样的?你想要得到什么,如果一样,何必画直接copy或者截图不就可以了?
我知道用subplot()和plot(scopedata(:,1),scope(:,2))可以得到,但这样只能对只有一个输入信号的scope进行绘图,有多个输入信号的就绘不出,
你如果想在一个坐标系里得到几个输出信号在示波器里,那么用lirui0662的在simulink里面的有一个“MUX”模块,把你要显示的那些信号合成在一起,送入scope即可
否则,你用subplot画可以实现,你的示波器里面是什么样的一样可以画什么样,如果你用了mux,比如输出为1,2,在示波器的一个图里面,那你可以在subplot(311)即三个中的一个图,先画plot(t,1)再hold on,再subplot(311)再plot(t,2),这样不就可以实现你所说的了么?
还有三相电压一般都要绘在同一坐标中,scope可以很好地绘出,但怎么用指令把scope中的这么好的图原封不动的‘搬’到figure中呢?麻烦高手指点一下,谢谢啦!!
同上,在一个图里,hold几次就可以实现了.
另:本人对plot(scopedata(:,1),scope(:,2))中的scopedata(:,1)和scope(:,2)这两个参数不懂是什么意思,是scope中的横坐标和纵坐标吗?
你肯定用的scope里面的输出数据到workspace选项,当然也可以自己to workspace,保存数据名为scopedata
scopedata(:,1)表示该数据的第一列的所有行,scope(:,2)第二列的所有行,应该是默认的时间和输出.
电路中最好只要一个scope(可以多个输入嘛,何必每个信号用一个),并且能在命令窗口中用指令把这个scope中的所有波形原封不动地绘出来,最好背景也一样,呵呵
还是那句话,你如果觉得subplot不爽可以直接截图,否则一样可以在matlab对figture进行处理,坐标不同,设置成同样坐标系就行,总之时间都是一样的嘛. 谢谢楼上的详细的解释,我顺便也问下:能不能把在一个示波器里的信号单独画出来呢?用demux就可以了吗?要是把一个包含多个谐波信号中的各次谐波分别显示在单独的示波器有怎么解决呢? 这个demux和mux是用在示波器之前,比如说,你一个转速一个转矩,你想在示波器的一个坐标系的小图里面看到2条曲线,那么就用mux把两个信号合并输入到scope,那么运行时候会看到2种颜色的曲线在一个小图里,就好象我们经常的三相电流在一个示波器里一样.
至于你说的分别显示多个谐波用demux,但前提是你这个信号的提取,你要提取出来才行,就好象三相电流,人家本来就是三个信号,而你这个信号系统能分辨么?是不是先要进行信号提取呢? 是呀,就是不好分别提取出来的,看来只能编写程序了
页:
[1]