function decoupling_pole(A , B , C, D , pole)
G1 =ss(A , B , C, D); G =tf(G1);
[ z,p,k] =zpkdata(G(:,: ),’v’);
for k =1 : length(z)
z1(k)=length(z{ k} );
end
for k =1 : length(p)
p1(k)=length(p{ k} );
end
m =size(B, 2);
for i =1 : m
for j =1 : m d1(i,j)=length(p{ i,j} ) - length(z{ i,j} );
end
end
for k =1 : m;
d(k)=min(d1(k , : ))- 1 ;
end
[ num1 , den1] =tfdata(G(: , : ),’ v’ );
syms t
num=[ t] ; den =[ t] ;
for i =1 : m
for j =1 : m
num(i,j)=poly2sym(num1{i,j});
end
end
for i =1 : m
for j =1 : m
den(i , j)=poly2sym(den1{ i,j} );
end
end
Gg =num./ den ;
d ;
syms x
E1 =[ x , x] ;
for k =1 : m
E1(k , : )=x^ (d(k)+1)*Gg(k , : );
end
E=limit(E1 , x , inf);
if det(E)==0 , error(’ E 奇异, 系统不能实现动态
解耦’ );
end
if det(E)~ =0 , disp(’ E 非奇异, 系统可以实现动态解耦’ );
end
n =size(A , 1); p =d +ones(1 ,m);
q(1)=p(1);
for k =1 : m - 1
q(k +1)=q(k)+p(k +1);
end
a=[ 0 , q] ;
for k =1 : m
s =eye(n);
for i =a(k)+1 : a(k +1)
s =(A - pole(i)*eye(n))*s ;
end
F(k , : )=C(k , : )*s ;
end
L =inv(E)
K =inv(E)*F
syms s
disp(’ 符合给定极点的解耦系统的传递函数’ )
Gkl =C*inv((s *eye(size(A , 1))- A +B *K))*
B*L
matlab 不识别m文件怎么回事啊能加个好友吗??
本回答被提问者采纳MATLAB绘图,M文件调用时出错了,帮忙看一下怎么回事
fplot用错了。fplot(fun,limits)在指定的范围limits内画出函数名为fun的图像。其中limits是一个指定x轴范围的向量[xmin xmax]或者是x轴和y轴范围的向量[xmin xmax ymin ymax]。m文件如下:function y=objfun(x)y=0.2411.*exp(0.4959.\/x);然后再command window中输入如下命令:x=1:0.1:6...
matlab里面m文件出错。急急急
这是调用方式的问题,在第一次运行时Q_P2是一个函数,当第一次输入后,由于将Q_P2的属性变为了Q_P,它不再是一个函数,所以当第二次输入时,就没法识别Q_P2函数。用下面的调用方式就行了 Q_P=Q_P2([5.515,0.4596,0;0.4596,1.838,0;0,0,0.880;],15);
matlab如何调用m文件
matlab如何调用m文件:1、首先打开软件,在主界面中点击“打开”。2、然后选择一个需要打开的m文件,选择打开。3、接着在编辑器中看m文件的文件名和变量数目。4、可以在命令行中输入m文件名后括号加变量值,就可以调用。5、最后就可以成功调用m文件。
matlab中m文件调用后,执行问题
你再建立一个m文件,这个m文件就存你写的那些代码 t1=cputime;for c=1:1000;function;end;t2=cputime;t=t2-t1;
MATLAB如何调用M文件?
1、打开matlab软件,点击新建脚本,如图。2、在新建的脚本文件下输入如下代码:disp(Mtalab调用M文件!!!)3、点击保存为name.m文件,如图。4、在命令行窗口中输入name文件名,点击运行,就成功地输出运行结果:Mtalab调用M文件!!!,这就说明MATLAB成功地调用了name.m文件。特别提示 个人的生活小分享...
在matlab的命令窗口如何调用M文件
1、首先要在电脑上安装好指定版本的matlab软件。2、然后双击matlab图标打开其主页面。3、鼠标移动到New按钮上单击一下,然后在弹出来的菜单中选择并点击Function这个选项。4、这个时候会看到跳出来一个新的Untitled*文件对话框,里面有一些需要填写的模板:Untitled是m文件的文件名,output_args代表经过一系列...
matlab怎么运行m文件
matlab怎么运行m文件:1、首先打开软件,选择左上角的“打开”。2、然后选择要运行的m文件,并且打开。3、在窗口按F5来运行程序。4、我们可以在命令行窗口和工作区看运行结果。5、直接点击“运行”也可以运行文件。6、最后可以在命令行窗口和工作区看m文件的运行结果。
matlab 2013b M文件无法引用,求大神解决!!!
很大可能是,你调用的m文件不在搜索路径search path中,就和c++的include目录有点类似。我也是2013.将你.m文件路径加入path中 或者将.m文件放到当前工作目录
matlab怎么调用m文件?
首先打开.m文件(matlab中一般左边会有一个文件路径,通过它找到并打开文件即可)2.然后在打开的.m文件窗口的右上方,会有一个run按钮(就是一个三角形按钮),3.按下便可以运行.m中的所有程序,结果显示在command window里。4.如果只想运行程序中的一部分,可以选中文件中的那部分,右键点击选中的...
matlab中一个m文件怎么调用另一个m文件的函数
run('***') 里面填相对路径或绝对路径。例如当前文件夹下的 aa.m,则可以run('aa.m');如果不在搜索路径,则需要给完整路径,如run('C:\\ddd\\aa.m')、run('..\/..\/ddd\/aa.m')如果是自己写的函数(以 function 开头):最好把它放在PATH的某个文件夹里,一般的做法是,把所有自定义函数...