Matlab矩阵运算
A=4324353423433534433224323432343234332433我想把第一至二行,第一至二列中小于30的数变为30以下我方法,但结果出错。如下>>A(...
A = 43 24 35 34 23 43 35 34 43 32 24 32 34 32 34 32 34 33 24 33 我想把第一至二行,第一至二列中小于30的数变为30 以下我方法,但结果出错。如下 >> A(find((A(1:2,1:2))<30))=30 A = 43 24 35 34 30 43 35 34 30 32 24 32 34 32 34 32 34 33 24 33 请牛人帮我改一下看哪里错了
展开
展开全部
首先A(1:2,1:2)表示的是A中一至二行与一至二列的所有值,应该为find(A(1:2,:)<30);其次在用find函数是在第一至二行找到的地址也只是第一至二行组成函数的地址并不是整个函数的所在的地址。
其中find(A(1:2,:)<30)
ans=
2
3
则发现2
3并不是在整个矩阵中的地址,所以第一列的23被改为30
如果要改的话要加个cat()函数,如下
B=A(1:2,:);
C=A(3:5,:);
B(find(B<30))=30;
A=cat(1,B,C)
其中find(A(1:2,:)<30)
ans=
2
3
则发现2
3并不是在整个矩阵中的地址,所以第一列的23被改为30
如果要改的话要加个cat()函数,如下
B=A(1:2,:);
C=A(3:5,:);
B(find(B<30))=30;
A=cat(1,B,C)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询