matlab 矩阵元素已知一个对角矩阵,判断该矩阵主对角线上的每个元素,若是非负的则不变,若是负的则换成0,构成一个新的矩阵.用matlab怎么编啊?如A=[1 0 0;0 -5 0;0 0 3]怎么通过编程得到B=[1 0 0;0 0 0;0
来源:学生作业帮助网 编辑:六六作业网 时间:2025/01/22 14:39:32
matlab 矩阵元素已知一个对角矩阵,判断该矩阵主对角线上的每个元素,若是非负的则不变,若是负的则换成0,构成一个新的矩阵.用matlab怎么编啊?如A=[1 0 0;0 -5 0;0 0 3]怎么通过编程得到B=[1 0 0;0 0 0;0
matlab 矩阵元素
已知一个对角矩阵,判断该矩阵主对角线上的每个元素,若是非负的则不变,若是负的则换成0,构成一个新的矩阵.用matlab怎么编啊?
如A=[1 0 0;0 -5 0;0 0 3]
怎么通过编程得到B=[1 0 0;0 0 0;0 0 3]
A(A
matlab 矩阵元素已知一个对角矩阵,判断该矩阵主对角线上的每个元素,若是非负的则不变,若是负的则换成0,构成一个新的矩阵.用matlab怎么编啊?如A=[1 0 0;0 -5 0;0 0 3]怎么通过编程得到B=[1 0 0;0 0 0;0
我来晚了,我也想这么回答:
>> A=[1 0 0;0 -5 0;0 0 3]
A =
1 0 0
0 -5 0
0 0 3
>> A(A
我是如下编的:
syms A B
A=[1 0 0;0 -5 0;0 0 3];
for i=1:3
for j=1:3
if A(i,j)>=0
B(i,j)=A(i,j);
end
end
end
B
也许有点复杂,但能得到结果!
>> A=[1 0 0;0 -5 0;0 0 3]
A =
1 0 0
0 -5 0
0 0 3
>> m=size(A)
m =
3 3
>> for n=1:m(1)
if A(n,n)<0;
A(n,n)=0;
...
全部展开
>> A=[1 0 0;0 -5 0;0 0 3]
A =
1 0 0
0 -5 0
0 0 3
>> m=size(A)
m =
3 3
>> for n=1:m(1)
if A(n,n)<0;
A(n,n)=0;
end
end
>> A
A =
1 0 0
0 0 0
0 0 3
>>
%这是直接运行的。
%要是写成M文件:
function []=fun()
A=[1 0 0;0 -5 0;0 0 3];
m=size(A);
for n=1:m(1)
if A(n,n)<0;
A(n,n)=0;
end
end
A
运行 :
>> fun
A =
1 0 0
0 0 0
0 0 3
收起
我也是初学的,也不懂,挣点分