matlab-自控原理 已知A矩阵求线性定常系统的矩阵指数函数

慈心积善融学习,技术愿为有情学。善心速造多好事,前人栽树后乘凉。我今于此写经验,愿见文者得启发。


  •                     matlab : R2018a 64bit
  •                             os : win7
  •            type setting : markdown
  •                         blog : https://blog.csdn.net/yushaopu
  •                     github : https://github.com/GratefulHeartCoder

code

clear
clc

% 制作时间:2016-09-26
% 制作人:心少朴
% 制作原因:自控原理留了作业,写完了后,想验证一下写的对不对,于是写了这个小代码
% 这个代码,没有捕捉异常的工序,所以请使用的时候,小心点哦。

syms s;
A=input('请输入题目已知的A矩阵,如果不会输入,请参考模板:一个三行三列[1 2 3;4 5 6;7 8 9]:\n');
fprintf('您输入的矩阵是:');
A
sizeOfA=size(A);
fprintf('s*I-A的结果:');
sI_A=s*eye(sizeOfA(1))-A
fprintf('对s*I-A求逆矩阵:\n');
fprintf('行列式为:')
hOfsI_A=det(sI_A)
fprintf('伴随矩阵为:')
bOfsI_A=det(sI_A)*inv(sI_A)
fprintf('逆矩阵为:')
nOfsI_A=inv(sI_A)
fprintf('对sI_A的逆矩阵进行拉普拉斯逆变换的结果是:');
lnOfsI_A=ilaplace(nOfsI_A)
fprintf('感谢您的使用程序结束\n');

result

请输入题目已知的A矩阵,如果不会输入,请参考模板:一个三行三列[1 2 3;4 5 6;7 8 9][0 1;-2 -3]
您输入的矩阵是:
A =

     0     1
    -2    -3

s*I-A的结果: 
sI_A =

[ s,    -1]
[ 2, s + 3]

对s*I-A求逆矩阵:
行列式为: 
hOfsI_A =

s^2 + 3*s + 2

伴随矩阵为: 
bOfsI_A =

[ s + 3, 1]
[    -2, s]

逆矩阵为: 
nOfsI_A =

[ (s + 3)/(s^2 + 3*s + 2), 1/(s^2 + 3*s + 2)]
[      -2/(s^2 + 3*s + 2), s/(s^2 + 3*s + 2)]

对sI_A的逆矩阵进行拉普拉斯逆变换的结果是: 
lnOfsI_A =

[   2*exp(-t) - exp(-2*t),   exp(-t) - exp(-2*t)]
[ 2*exp(-2*t) - 2*exp(-t), 2*exp(-2*t) - exp(-t)]

感谢您的使用程序结束
>> 

resource


感恩曾经帮助过 心少朴 的人。
matlab优秀,值得学习。基础知识 + 专业知识 + matlab = ?
注:此文是自学笔记所生,质量中下等,故要三思而后行。新手到此,不可照搬,应先研究其理象数,待能变通之时,自然跳出深坑。

猜你喜欢

转载自blog.csdn.net/yushaopu/article/details/81072136