楼主: xingyeshuijing
1350 8

[其他] 求一个小程序 运用matlab软件 [推广有奖]

  • 0关注
  • 0粉丝

已卖:12份资源

硕士生

44%

还不是VIP/贵宾

-

威望
0
论坛币
146 个
通用积分
0.0013
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
22338 点
帖子
46
精华
0
在线时间
247 小时
注册时间
2010-8-21
最后登录
2023-7-17

楼主
xingyeshuijing 发表于 2012-6-9 10:54:11 |AI写论文
10论坛币
请教大家,我用matlab建立一个1*30的矩阵,怎么能把它变成3*10的矩阵,要求不改变顺序。例如
a=【1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0】
变换为b=【1,2,3,4,5,6,7,8,9,0
                  1,2,3,4,5,6,7,8,9,0
                  1,2,3,4,5,6,7,8,9,0】
用什么函数啊?当然我做的矩阵没有这么简单。

最佳答案

luckyart 查看完整内容

楼主看看用matlab reshape 函数。 B = reshape(A,m,n) returns the m-by-n matrix B whose elements are taken column-wise from A. An error results if A does not have m*n elements.
关键词:matlab软件 MATLAB matla atlab Mat matlab 程序 软件

沙发
luckyart 发表于 2012-6-9 10:54:12
楼主看看用matlab  reshape 函数。
B = reshape(A,m,n)

returns the m-by-n matrix B whose elements are taken column-wise from A. An error results if A does not have m*n elements.

藤椅
恋蝶飞雪 发表于 2012-6-9 12:40:46
不会这个

板凳
xingyeshuijing 发表于 2012-6-10 17:39:50
luckyart 发表于 2012-6-10 16:17
楼主看看用matlab  reshape 函数。
B = reshape(A,m,n)
您的答案非常好,但是还有一个问题,reshape函数是把数据竖着放入的,而不是横着放入的,怎么修改呢,谢谢

报纸
cckinger 在职认证  发表于 2012-6-11 17:25:06
xingyeshuijing 发表于 2012-6-10 17:39
您的答案非常好,但是还有一个问题,reshape函数是把数据竖着放入的,而不是横着放入的,怎么修改呢,谢谢 ...
用转置一下行不?虽然我不用MATLAB

地板
lov妍e 发表于 2012-6-11 18:03:05
这个貌似不是很难。M文件如下:
%将1*30矩阵A转化为3*10矩阵B
A=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30];
B=ones(3,10);
for i=1:3
for j=1:10
    B(i,j)=A(1,(i-1)*10+j);
end
end
B


7
mj2012 发表于 2012-6-12 07:57:22
repmat

8
xingyeshuijing 发表于 2012-6-15 17:26:03
看来还是转置的方法不错!

9
sina410915 发表于 2012-6-16 12:09:58
这个是什么啊?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-29 13:49