问题描述:
关于matlab simulink中三角波模块的问题!
为什么我把时间参数换一下,产生的三角波会越来越乱,最后干脆不产生了?
1个回答
分类:
综合
2014-11-20
问题解答:
我来补答
“repeating sequence ”这个模块产生的波形是根据“time values ”和“output values ”两个值确定的,就是说: time values =[ t1 t2 .tn],output values =[ v1 v2 .vn]这样产生的波形是:在t1时刻波形的幅值是v1、t2时刻波形的幅值是v2……tn时刻波形的幅值是vn,之后,重复这一波形.波形的重复次数跟你simulink时候的simlulation stop time值有关.
另外,你的最后一个图,time values =[ 0 0.001],output values =[ 1 2],你把simlulation stop time设成0.01,会看到三角波的~
再问: 按照您说的确实出来了三角波,output[1 2] 但是三角波幅值在1.8,2之间跳动 这是怎么回事?然后我出来的三角波为什么会和simlulation stop time有关,要是我需要连续输出1秒的三角波呢??
再答: 我的理解是matlab计算和scope的显示都是是有误差的,所以会波动…… simlulation stop time是总的仿真时间,你的time values 是0~0.001,就是波形的周期是0.001秒,如果仿真时间是1,那就是要仿真1秒,这样就的有1/0.001=1000个三角波,估计scope的显示没这么高的精度,所以,就看不到…… 你仿真1s的时候,scope看到的是直线,是它显示的问题,真实的数据是有的,你用“to workspace”模块,双击它把采样时间设成“0.0001”(比你在time values 里设的时间要短,不然还是什么都采样不出来),然后运行。simlulink里运行完之后,到matlab界面下的workspace里找“simout”变量,“simout”是个结构体,它的“signal”成员里的“values”子成员是个数组,在这个数组里你会看到“repeating sequence ”产生的值~
展开全文阅读