想学习matlab,有没有典型的程序例子,后面附带注释的,通过这些例子可以学...
发布网友
发布时间:2024-10-03 08:23
我来回答
共2个回答
热心网友
时间:2024-11-06 02:48
clc;clear;close all;
num=input('please input num:'); %输入传函分子分母系数%
den=input('please input den:');
num=num/den(1);den=den/den(1); %把分母首项转化成首一型%
sys=tf(num,den) %求得传函表达式%
a=size(num);b=size(den); %分子系数维数与分母系数维数分别放入变量m,n中%
n=b(1,2);m=a(1,2);
A_1=eye(n-2); %建立A阵%
A_0=zeros((n-2),1);
for i=1:1:n-1
k(1,i)=-den(1,n+1-i);
A_2(1,i)=k(1,i);
end
A=[A_0,A_1;A_2];
B_0=zeros(n-2,1);
B=[B_0;1];
if n==m %用IF区分分子分母的维数关系的三种情况%
for i=1:1:m-1 %建立C阵%
C(1,i)=num(1,m+1-i)-num(1,1)*den(1,m+1-i);
end
C=C;
D=num(1);
else if n>m
for i=1:1:m %建立C阵%
C(1,i)=num(1,m+1-i);
end
C=[C,zeros(1,n-m-1)]; %输出C阵%
D=0;
else
disp('error!')
end
end
disp('传函对应的可控标准型为:');
A %输出A阵%
B %输出B阵%
C %输出C阵%
D %输出D阵%
disp('传函对应的可观标准型为:');
Ag=A' %建立能观标准型矩阵%
Bg=C' %输出能观标准型矩阵%
Cg=B'
Dg=D'
热心网友
时间:2024-11-06 02:47
https://courses.engr.illinois.edu/cs101/labs/lab.htm
里面有matlab自学课程,lab1-4都有,lab5及以后还没,好好看哦。
但愿你英语不错