matlab num=[4];den=[1 2 1]; margin(num,den),grid; w=0.1:1000; [mag,phase,w]=bode(num,den);mag(1)mag(1.5)输出:mag(1)=3.9996但是mag(1.5)出了问题,如下:Subscript indices must either be real positive integers or logicals.只要mag(

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 11:24:48

matlab num=[4];den=[1 2 1]; margin(num,den),grid; w=0.1:1000; [mag,phase,w]=bode(num,den);mag(1)mag(1.5)输出:mag(1)=3.9996但是mag(1.5)出了问题,如下:Subscript indices must either be real positive integers or logicals.只要mag(
matlab num=[4];den=[1 2 1]; margin(num,den),grid; w=0.1:1000; [mag,phase,w]=bode(num,den);
mag(1)
mag(1.5)
输出:mag(1)=3.9996
但是mag(1.5)出了问题,如下:
Subscript indices must either be real positive integers or logicals.
只要mag()括号中为整数就没问题,为什么小数就是不行呢?

matlab num=[4];den=[1 2 1]; margin(num,den),grid; w=0.1:1000; [mag,phase,w]=bode(num,den);mag(1)mag(1.5)输出:mag(1)=3.9996但是mag(1.5)出了问题,如下:Subscript indices must either be real positive integers or logicals.只要mag(
mag(1) 并不代表w=1时mag的值,而是得到结果向量mag的第一个元素,对应输出w的第一个元素.
所以mag(1.5)的意思是mag中第1.5个元素,而元素的序数显然不能是小数,所以出现错误.