关于MATLAB程序解释

我刚学MATLAB,看不懂以下的程序,有高手帮逐行翻译下吗?小弟在此谢过了~!function[Phi,Gamma]=c2d(a,b,t)error(nargchk(3,... 我刚学MATLAB,看不懂以下的程序,有高手帮逐行翻译下吗?小弟在此谢过了~!
function [Phi, Gamma] = c2d(a, b, t)
error(nargchk(3,3,nargin));
error(abcdchk(a,b));

[m,n] = size(a);
[m,nb] = size(b);
s = expm([[a b]*t; zeros(nb,n+nb)]);
Phi = s(1:n,1:n);
Gamma = s(1:n,n+1:n+nb);
展开
 我来答
匿名用户
2007-10-12
展开全部
%这个函数的名字叫做c2d,对它输入a,b,t,则返回Phi和Gamma两个值。

function [Phi, Gamma] = c2d(a, b, t)
error(nargchk(3,3,nargin));%检查输入变量的个数,变量个数不能大于3,也不能小于3,否则报错。
error(abcdchk(a,b));% 检查a,b,c,d各维空间向量是否前后一致,否则报错。

[m,n] = size(a);%a是m行n列的矩阵
[m,nb] = size(b);%b是m行mb列的矩阵
s = expm([[a b]*t; zeros(nb,n+nb)]);
%对括号里面的矩阵,进行矩阵指数expm运算。括号里面的矩阵是:上半部分 [a*t b*t],下半部分全是零。零的个数是nb行,n+nb列
Phi = s(1:n,1:n);% 取s的1到n行,1到n列,组成Phi
Gamma = s(1:n,n+1:n+nb);%取s的1到n行,n+1到n+nb列,组成Gamma
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式