作业帮 > 综合 > 作业

求助Matlab高手,帮我解释一小段程序,

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/06 03:20:01
求助Matlab高手,帮我解释一小段程序,
if nargin >= 3 && isstruct(Units)
U = true;
u = Units;
if isa(H_in,'DimensionedVariable')
H_in = H_in/u.m;
end
if isa(Toffset,'DimensionedVariable')
Toffset = Toffset/u.K;
end
Units = 'si';
else
U = false;
end
求助Matlab高手,帮我解释一小段程序,
if nargin >= 3 && isstruct(Units)
这里首先判断输入的参数是不是大于等于3个,以及Units是否为结构体.
如果不是直接就到最后一个else返回U=false
当满足上述条件后,先令
U=true
和将结构体Units给临时变量u
if isa(H_in,'DimensionedVariable'),这是判断H_in是否为DimensionedVariable类型.
(这里补充一下isa的用法:
K = isa(obj,'class_name') 判断obj是否为class_name类型.如果是,返回逻辑1(真);如果不是,返回逻辑0(假).
参量obj是一个MATLAB对象或者Java对象.参量class_name是MATLAB(预定义的或用户定义的)对象或Java对象.)
如果H_in的类型条件满足,就将H_in除以u结构体中的成员m,如下:
H_in = H_in/u.m;
下面这两句的意义和上面相同,先判断类型,如果满足数据类型就将其除以u的成员变量K.
if isa(Toffset,'DimensionedVariable')
Toffset = Toffset/u.K;