首页 > 编程知识 正文

matlab怎么输入n维向量,matlab怎么输入指数函数

时间:2023-05-03 10:37:53 阅读:153926 作者:3524

参考链接:

3359 WW2.mathworks.cn/help/MATLAB/ref/expm.html? search highlight=exp ms _ tid=doc _ srch title

http://www.Sina.com/http://www.Sina.com/http://www.Sina.com /方法1 :使用的函数是expm矩阵指数

已知矩阵A求F(t)=

y=expm(x )

e^At

y=expm(x )计算x的矩阵指数。 即矩阵指数部分)

在该方法中不进行计算,但在x中包含完整特征向量p和对应的特征量d的组的情况下

[P,d]=EIG(x ) ]

然后,(在矩阵a的特征值彼此不同的情况下(expm(x )=p*diag ) exp (diag ) ) (p^(-1 ) )

附: eig特征值和特征向量

矩阵a的相似变换

[P,D]=eig(A返回特征值的对角矩阵d和可逆矩阵p,其列为与A*P=P*D相对应的右固有向量。

矩阵a的对角化,可逆矩阵p和对角矩阵d。

(p^(-1 ) ) *A*P=D

A*P=P*D

状态转移矩阵

求矩阵A=

-2 0 0

0 -3 1

0-3

的矩阵指数函数e^At

输入命令行

a=[-2 0 0; 0 -3 1; 0-3 ); %定义矩阵a

syms t; %定义变量t

expm(a*t ) %使用expm函数计算迁移矩阵

获得结果:

ans=

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

[ 0,exp(-3*t ),exp(-3*t ) ]

[ 0,0,exp(-3*t ) ]

方法通过axdmf逆变换求e ̄at

输入命令行:

a=[-2 0 0; 0 -3 1; 0-3 ); %定义矩阵a

syms s t; %

定义vi按量s,t

>> G=inv(s*eye(size(a))-a);   %(sI-a)的逆

>> ilaplace(G)              %axdmf反变换

 

ans =

 

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

[         0, exp(-3*t),   t*exp(-3*t)]

[         0,       0,     exp(-3*t)]

 

附:

inv逆矩阵的求取

Y = inv(X) 计算方阵X的逆矩阵。

X^(-1) 等效于inv(X)。

 

size数组的大小

sz = size(A) 返回一个行向量,其元素包含 A 的相应维度的长度。例如,如果 A 是一个 3×4 矩阵,则 size(A) 返回向量 [3 4]。

 

eye单位矩阵

I = eye(n,m) 返回一个主对角线元素为 1 且其他位置元素为 0 的 n×m 矩阵。

 

ilaplaceaxdmf反变换

 

已知F(t)=e^At状态转移矩阵求A矩阵

 

F(t)=e^At

F’(t)=At*(e^At)      这是矩阵对标量的求导

令t=0, F’(0)=A

 

示例

已知矩阵F(t)=[  1   (1/2)*(1-exp(-2*t))   ;   0    exp(-2*t)   ]

(一个2x2矩阵)

求A矩阵

 

 

在Matla输入命令行:

syms t;

>> a=[1 (1/2)*(1-exp(-2*t));0 exp(-2*t)];

>> da=diff(a)

 

得到结果:

da =

 

[ 0,    exp(-2*t)]

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

 

附:

diff

差分和近似导数

Y = diff(X)

参考文档:

https://ww2.mathworks.cn/help/matlab/ref/diff.html?searchHighlight=diff&s_tid=doc_srchtitle

 

x‘=Ax+Bu

y=Cx+Du

求下列状态空间表达式的解

A=[0 1;0 0],B=[0 ; 1],C=[1 0];D=0;

x'=[0 1;0 0]x+[0 ; 1]u

y=[1 0]x

初始状态x(0)=[1 ; 1],输入u(t)是单位阶跃响应

 

输入命令行

A=[0 1;0 0];B=[0;1];

C=[1 0];D=0;            %定义系统矩阵

G=ss(A,B,C,D);          %建立状态空间描述的系统模型

x0=[1;1];               %初始状态

syms s t;               %定义变量

G0=inv(s*eye(size(A))-A); %(sI-a)的逆

x1=ilaplace(G0)*x0;     %零输入响应x1

G1=inv(s*eye(size(A))-A)*B;

x2=ilaplace(G1/s)    %1/s为积分

x=x1+x2;

y=C*x;

 

得出结果:

x1 =

 t + 1

     1

x2 =

 t^2/2

     t

x =

 t^2/2 + t + 1

         t + 1

y =

t^2/2 + t + 1

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。