这段MATLAB代码是什么意思? a=[1 2 3; 4 5 6; 7,8,9]; b=a>5; a(b)=sqrt(a(b)) a(b)是a的一个子矩阵么?

如题所述

b=a>5产生的逻辑矩阵是不大于5的位置为零,大于5的位置为1,即
0 0 0
0 0 1
1 1 1
a(b)=sqrt(a(b)) 表示b中为零的位置,a中相应的元素不进行运算,为1的位置进行开方运算,所以结果是
1.0000 2.0000 3.0000
4.0000 5.0000 2.4495
2.6458 2.8284 3.0000
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-03
第一句定义a为一个矩阵,
第二句判断a中元素是否大于5,大于5为1,否则为0,然后将该对应判断值组成的矩阵定义为b
第三句,对矩阵a进行开方运算,规则是b中为零的位置,a中相应的元素不进行运算,为1的位置进行开方运算,一开始,a(b)=7 8 6 9 然后又通过开方运算,a(b)= 2.6458 2.8284 2.4495 3.0000, 最后a 就成为一楼所说样子
第2个回答  2011-07-03
a=0; b=pi/6; n=6; x=a:(b-a)/n:b; y=sqrt(4-(sin(x)).^2); % 少 点 s=trapz(x,y)
相似回答