matlab中如何将一个矩阵中的正负数分开,并分别求和??
发布网友
发布时间:2023-09-18 16:03
我来回答
共3个回答
热心网友
时间:2024-02-15 14:20
matlab是矩阵实验室 这点和其他语言有所区别 所以要充分利用矩阵运算 循环效率很低
x=randn(6); %定义6阶正态分布矩阵
y=find(x>0); %找出x中大于0的元素的位置
a=x(y); %把大于零的元素赋值给a
s1=sum(a) %求出所有大于零的元素之和
z=find(x<0); %找出x中小于0的元素的位置
b=x(z); %把大于零的元素赋值给b
s2=sum(b) %求出所有小于零的元素之和
s=s1+s2 %x的所有元素之和
s3=sum(sum(x)) %求出所有元素之和 最后两步是用于验证正确性
热心网友
时间:2024-02-15 14:20
a=rand(5)-0.5
sp=0;sn=0;
for i=1:5
for j=1:5
if a(i,j)>0
sp=sp+a(i,j);
else
sn=sn+a(i,j);
end
end
end
sp
sn
热心网友
时间:2024-02-15 14:21
a=rand(5)-0.5
sp=0;sn=0;
for i=1:5
for j=1:5
if a(i,j)>0
sp=sp+a(
sn=sn+a(i,j);