Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 在给定错误的值范围内绘制传递函数时,输入参数不足_Matlab - Fatal编程技术网

Matlab 在给定错误的值范围内绘制传递函数时,输入参数不足

Matlab 在给定错误的值范围内绘制传递函数时,输入参数不足,matlab,Matlab,我需要知道kc的哪个值是稳定的,哪个值是不稳定的 系统具有以下传输功能: -2Kc/s^4+3s^3+4s^2+3s+1-2Kc 计算后,为了使该系统稳定,kc应在以下数值范围内: -1

我需要知道kc的哪个值是稳定的,哪个值是不稳定的

系统具有以下传输功能:

-2Kc/s^4+3s^3+4s^2+3s+1-2Kc

计算后,为了使该系统稳定,kc应在以下数值范围内:

-1 我正在使用matlab,并添加以下内容,以绘制从-2到1的Kc各值的传递函数响应,步长为0.1:

syms s kc;

t=(-2*kc)/(s^4+3*s^3+4*s^2+3*s+1-2*kc);

kc=-2:0.1:1;

plot(t)
我得到了以下错误:

使用绘图数据时出错必须是数字、日期时间、持续时间或数组 可转换成双人的

使用绘图时出错。输入参数不足


我尝试单步执行函数,但得到了相同的错误。

错误消息说t不是数字数组。t是一个符号对象;plot函数对符号对象一无所知,无法正确处理它们。第二个问题是kc变量的定义

kc=-2:0.1:1;
没有效果,因为它不影响符号对象t的内容

有一个函数ezplot,用于打印符号对象。此外,还需要一个循环:

syms s 

for kc=-2:0.1:1;
    t=(-2*kc)/(s^4+3*s^3+4*s^2+3*s+1-2*kc);
    ezplot(t);
    hold on;
end
为了绘制阶跃响应,可以使用控制系统工具箱:

for kc=-2:0.25:1;
    h = tf(-2*kc,[1 3 4 3 1-2*kc]);
    step(h,10);
    hold on;
end

谢谢,先生。我会直接试一试。