24小时热门版块排行榜    

查看: 1456  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

minstrel

木虫 (正式写手)

道法自然

[交流] 【求助】如何使 矩阵行或者列的和为1【已解决】 已有3人参与

比如矩阵[2 2, 2 2],
转化后为[0.5 0.5, 0.5 0.5].

我写了个循环去计算,
太麻烦了。
不知道是否有这样的函数去处理呢?



sumCol=zeros(1, nm);%save the sum of column

for i=1:nm
    for j=1:nm
        sumCol(i)=sumCol(i)+MA(j,i);
    end
end

for i=1:nm
    for j=1:nm
        PA(i,j) = MA(i,j)/sumCol(j);
    end
end

[ Last edited by nono2009 on 2010-6-25 at 06:52 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

photons

至尊木虫 (职业作家)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
nono2009(金币+1):鼓励耐心应助。 2010-06-23 10:36:19
很简单啦,用个循环啊!

clear all;
format rat;
a=reshape(1:12,3,4);
s=sum(a');
for k=1:3;
b(k,=a(k,/s(k);
end;
b
希望多多认识些科研达人!
8楼2010-06-23 10:23:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

lijinfeng042

木虫 (小有名气)

Matlab


minstrel(金币+1):谢谢参与
引用回帖:
Originally posted by minstrel at 2010-06-21 22:34:02:
比如矩阵[2 2, 2 2],
转化后为[0.5 0.5, 0.5 0.5].

我写了个循环去计算,
太麻烦了。
不知道是否有这样的函数去处理呢?



sumCol=zeros(1, nm);%save the sum of column

for i=1:nm
    for j=1 ...

你的意思是归一化?
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
2楼2010-06-21 23:08:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

minstrel

木虫 (正式写手)

道法自然

nono2009:建议“引用回复该帖”,以便别人及时收到你的信息。 2010-06-22 07:46:10
归一化应该是指行最大值为1 最小值为0
而我想要的是让行的和为1
3楼2010-06-21 23:25:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

photons

至尊木虫 (职业作家)

★ ★ ★
minstrel(金币+1):谢谢参与
nono2009(金币+1):鼓励应助。欢迎常来仿真模拟版。 2010-06-22 14:01:16
zzuwangshilei(金币+1):多谢应助,帖子有点乱码,还望改一下 2010-06-22 19:44:02
minstrel(金币+8):谢谢你哈。热心而且厉害. 2010-06-23 06:11:15
不懂楼主的意思!

要使行和为,
不是很简单的事情么?

举个例子:
syms a b c d e f g h A B C D E F G H real;
test=[a,b,c,d;e,f,g,h;A B C D;E F G H];
TA=test';
s=sum(TA);
ttest=[test(1,/s(1);test(2,/s(2);test(3,/s(3);test(4,/s(4)]; %你要的
tttest=sum(ttest');
tttest =

[ 1, 1, 1, 1]

[ Last edited by photons on 2010-6-22 at 12:07 ]
希望多多认识些科研达人!
4楼2010-06-22 11:19:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见