同时画出K=1,KI=0和K=1,KI=1和K=10,KI=5,传递函数为Ts=(Ks+KI)/(s^3+3*s^2+(2+K)*s+KI)的暂态响应曲线。
刚开始用循环时,发现不能像c中的for中双变量循环,很明显,此处也不能双重循环,否则图像就不对了,后来的解决的办法,虽然不是很高明,但总算解决了,记录下,代码的注释已经很详细了,具体就说了。
代码如下:
1 pkg load control 2 3 t=0:0.01:10; 4 %充分利用matlab中yis 列输出的特性,将KKI按照2行3列的方法形成一个矩阵 5 KKI=[1 1 10; 0 1 5] 6 7 for kki=KKI 8 %此时kki是第一列数值,也就是1 0 9 denT=[1 3 2+kki(1) kki(2)]; 10 %kki(1)=1 kki(2)=0,变相实现了并行的双变量循环,而不是二层循环 11 numT=[kki(1) kki(2)]; 12 sysT=tf(numT,denT); 13 hold on; 14 grid on; 15 step(sysT); 16 end
图像:
先凑合用吧。
标签:10,KI,循环,kki,matlab,octave,KKI From: https://www.cnblogs.com/guochaoxxl/p/18090869