MATLAB中如何求矩阵中所有元素与该元素所在的列的所有元素之和的比值,组成一个新的矩阵

如A=[1 2;3 4]算出来结果应该是B=[0.25 0.33;0.75 0.67]
2024-11-09 05:51:07
推荐回答(2个)
回答(1):

想了一下,想到2个方法

方法一:用循环

[m,n]=length(A)

result=zeros(m,n)

b=sum(A)%将A按列求和。

for i=1:n

c(:,i)=A(:,i)/b(i);

end

c

方法2:

[m,n]=size(A)

b=sum(A)

b1=ones(m,1)

b2=b1*b

c=a./b2

方法3:将方法2改成一行命令

c=A./(ones(size(A,1),1)*sum(A))

结果为

回答(2):

给你个参考
>> A=[1 2;3 4]
A =
1 2
3 4
>> B=sum(A)
B =
4 6

>> C=[A(:,1)/B(1),A(:,2)/B(2)]

C =

0.2500 0.3333
0.7500 0.6667