⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex933.m

📁 《MATLAB及其在理工课程中的应用指南》书上的程序集
💻 M
字号:
%《MATLAB及其在理工课程中的应用指南》第九章例9-3-3程序
% 用多维矩阵求状态转移矩阵及齐次状态方程解
% 西安电子科技大学出版社出版  陈怀琛编著 1999年10月初版,2004年11月第二版
%
A=[-2,1;-17,-4];		        % 输入状态方程系数矩阵
x0=[3;4];				        % 输入初始条件
t=0:.02:3; Nt=length(t);		% 设定自变量数组并确定其长度
F=zeros(2,2,Nt);x=zeros(2,Nt);	% 状态转移矩阵F及状态变量初始化
for k=1:Nt							% 对时间循环
   % F(:,:,k)=expm(A*t(k));		% 用expm函数计算各时刻的状态转移矩阵F
   F(:,:,k)=expm1(A*t(k));		% 用expm1函数计算各时刻的状态转移矩阵F
end
z=reshape(F,[4,Nt]);			% 把F变为二维矩阵以便绘图
subplot(2,1,1),plot(t,z), grid,	% plot语句只接受二维变量
set(gcf,'color','w')            % 置图形背景色为白色
for k=1:Nt						% 对时间循环,求各点状态变量
% 矩阵乘法只能用于二维,因此对每一时刻的F,用squeeze函数缩去长度为1的第三维
   x(:,k)=squeeze(F(:,:,k))*x0;
end
subplot(2,1,2),plot(t,x),grid		%画第二张图

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -