matlab如何合并矩阵两列为一列?

30.2359091167-97.7951395833(矩阵两列)合并为30.2359091167-97.7951395833(矩阵一列)... 30.2359091167 -97.7951395833 (矩阵两列)合并为30.2359091167 -97.7951395833(矩阵一列) 展开
 我来答
我行我素850915
2015-10-12 · TA获得超过8241个赞
知道大有可为答主
回答量:5788
采纳率:77%
帮助的人:1762万
展开全部
分三种情况:
1.如果矩阵是两列,要合并为1列,可:
a=randn(4,2);
b=a(:)
2.如果矩阵是多列,且是偶数列,要合并为半偶数列,可:
a=randn(4,8)
b1=[a(:,1);a(:,2)];
for i=1:1:(8/2-1)
b1=[b1,[a(:,2*i+1);a(:,2*i+2)]];
end
b1
3.如果矩阵是多列,且是奇数列,则不能得到合适的合并。
因为会剩1列不能合并。
dukinkin
2013-12-27 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2444
采纳率:90%
帮助的人:936万
展开全部
[30.2359091167 -97.7951395833]=[30.2359091167,-97.7951395833]
空格,逗号,行方向合并

[30.2359091167;-97.7951395833]
分号,列方向合并
更多追问追答
追问
额,我想问一个函数,因为数据量很大,在一个txt里存储,这么手动肯定不行
追答
不是太明白你的意思,你的数据怎么样的,怎样合并

如果你是说txt,文件里面有两列数据,你想把合拼为一列
那么,第一步把数据导入到矩阵a中
a=dlmread('xxx.txt');%可以用其他函数导入,具体看你数据的格式

那么a就是nx2的矩阵

b=[a(:,1);a(:,2)];
或者
b=cat(1,a(:,1),a(:,2));
又或者
b=a(:).'
都可以把数据变成1列
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式