matlab 矩阵列求和对矩阵进行分块,再对分块后的每一小块矩阵进行求和,成为一个新的矩阵?

查看: 8508|回复: 7|关注: 0
如何对一个矩阵的几行元素求和?
<h1 style="color:# 麦片财富积分
新手, 积分 15, 距离下一级还需 35 积分
已知一个矩阵的行数为3的倍数,要对矩阵每三行元素进行求和,得到一个新的矩阵。
如已知矩阵A=
对A矩阵的第一至三行求和,四至六行求和,依此类推,得到新的矩阵
B=[4 7 6 9
& && &6 9 12 10
& &&&……]
请问要怎么编程实现呢?:'(
谢谢!:loveliness:
Simulink 基础讨论版块优秀回答者
<h1 style="color:#1 麦片财富积分
关注者: 10
本帖最后由 bbrui2008 于
21:57 编辑
如你上面的例子,可以这样编程:
a=[1 2 3 4;2 1 1 2;1 4 2 3;1 2 3 5;4 5 6 3;1 2 3 2]
[m,n]=size(a);
for i=1:m/3
& & b(i,:)=sum(a(3*(i-1)+1:3*(i-1)+3,:));
b复制代码得到结果如下:b =
& &&&4& &&&7& &&&6& &&&9
& &&&6& &&&9& & 12& & 10复制代码
<h1 style="color:# 麦片财富积分
嗯 谢谢!!
可以不用循环,用矩阵运算实现么?
样本量大时,运行速度很慢。
论坛优秀回答者
帖子最佳答案
关注者: 573
|此回复为最佳答案
嗯 谢谢!!
可以不用循环,用矩阵运算实现么?
样本量大时,运行速度很慢。
A = [1 2 3 4
& &&&2 1 1 2
& &&&1 4 2 3
& &&&1 2 3 5
& &&&4 5 6 3
& &&&1 2 3 2]
subs = repmat(1:numel(A)/3,3,1);
reshape(accumarray(subs(:),A(:)),[],size(A,2))
论坛优秀回答者
帖子最佳答案
关注者: 573
嗯 谢谢!!
可以不用循环,用矩阵运算实现么?
样本量大时,运行速度很慢。
reshape(sum(reshape(A,3,[])),[],size(A,2))
<h1 style="color:# 麦片财富积分
reshape(sum(reshape(A,3,[])),[],size(A,2))
嗯呐。这个简单易懂一点。谢谢:P
<h1 style="color:# 麦片财富积分
太厉害了!帮了我大忙
<h1 style="color:# 麦片财富积分
如你上面的例子,可以这样编程:得到结果如下:
你好大神,我想在一个的矩阵中将它分为若干个50*100的矩阵,然后再对每一个矩阵求模值的平方和,将求的平方和存入一个mat文件中,请教一下大神如何编辑程序呀???
站长推荐 /3
利用MATLAB进行投资组合优化
Powered by帐号:密码:下次自动登录{url:/nForum/slist.json?uid=guest&root=list-section}{url:/nForum/nlist.json?uid=guest&root=list-section}
贴数:1&分页:&发信人: BirdsNest (鸟窝), 信区: NumComp
标&&题: matlab里矩阵怎么分块求和?
发信站: 水木社区 (Sun May 16 21:26:51 2010), 站内 && rt
知道matlab里矩阵分块的函数是 mat2cell
但问题是 成了cell以后,没法求和了。 && 如果用cell2mat想要实现分块求和,是不是必须用到循环啊? && -- && ※ 修改:·BirdsNest 于 May 16 21:30:21 2010 修改本文·[FROM: 166.111.200.*]
※ 来源:·水木社区 newsmth.net·[FROM: 166.111.200.*]
&文章数:1&分页:苹果/安卓/wp
积分 312, 距离下一级还需 138 积分
权限: 自定义头衔, 签名中使用图片
道具: 彩虹炫, 涂鸦板, 雷达卡, 热点灯, 金钱卡, 显身卡, 匿名卡下一级可获得
道具: 抢沙发
购买后可立即获得
权限: 隐身
道具: 金钱卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
悲催签到天数: 2 天连续签到: 1 天[LV.1]初来乍到
假设我有一个m by n的矩阵,我想先根据列1排序,按这列值的五分位把矩阵分成五块,然后每一小块里面,再根据另一列2排序,然后再按列2的五分位把这个小块在分为5小块。最终形成25个小块。这种可以直接用循环吗?或者,在我用sortrows按列1排好之后,能不能再用sortrows根据列2排序,但是此时,每次只对其中的一部分行进行排序,这样就能保证,我是在第一列排好的各个五分位的小块里根据列2排序的?也就是说sortrows能不能只对一个矩阵中的一块作用,而不是对整个矩阵排序?
matlab新手,希望大神指导。
支持楼主:、
购买后,论坛将把您花费的资金全部奖励给楼主,以表示您对TA发好贴的支持
载入中......
无限扩大经管职场人脉圈!每天抽选10位免费名额,现在就扫& 论坛VIP& 贵宾会员& 可免费加入
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
京ICP证090565号
论坛法律顾问:王进律师matlab怎样将矩阵分块与分块矩阵还原?
matlab怎样将矩阵分块与分块矩阵还原?
09-03-13 &
A=rand(256,64);%将A分块B=mat2cell(A,ones(256/16,1)*16,ones(64/16,1)*16);%B{i,j}就是所要的分块矩阵%将分块矩阵合并C=cell2mat(B)%C就是合并好的矩阵,即C=A
请登录后再发表评论!
A=rand(256,64);%将A分块B=mat2cell(A,ones(256/16,1)*16,ones(64/16,1)*16);%B{i,j}就是所要的分块矩阵%将分块矩阵合并C=cell2mat(B)%C就是合并好的矩阵,即C=A
请登录后再发表评论!

我要回帖

更多关于 matlab矩阵内元素求和 的文章

 

随机推荐