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

MATLAB中如何求矩阵中所有元素与该元素所在的列的所有元素之和的比值,组成一个新的矩阵
如A=[1 2;3 4]算出来结果应该是B=[0.25 0.33;0.75 0.67]
y0feng00 1年前 已收到2个回答 举报

wl雪莹 幼苗

共回答了19个问题采纳率:94.7% 举报

给你个参考
>> 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

1年前 追问

5

y0feng00 举报

这个方法可行 但是如果矩阵太大的话就有点繁琐了 能不能用for 循环做 我对matlab的语法不是太了解

举报 wl雪莹

呵呵 我也只知道点皮毛 刚学不久 还没学编程 等高手来教我们吧 ^_^ 若有一个命令或函数就解决 那就好了

我qq故我硬 幼苗

共回答了25个问题 举报

想了一下,想到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))

结果为

1年前

0
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 0.021 s. - webmaster@yulucn.com