声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1708|回复: 10

[编程技巧] 如何在原有的矩阵里加入新的矩阵

[复制链接]
发表于 2007-5-23 17:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
  现在有一个600×10的矩阵,对其中的第二列要把其数字比如0612这样一个月日组成的数字分开,分开后且和原来矩阵一起输出。现在主要难在,分开后成为一个新的两列矩阵后,不知道怎么加在原来的矩阵中。也可以把问题总结为,如何在原有矩阵中插入新的多于原来矩阵列数的矩阵?请各位帮帮忙。
回复
分享到:

使用道具 举报

发表于 2007-5-23 17:24 | 显示全部楼层
原帖由 yamma 于 2007-5-23 17:06 发表
  现在有一个600×10的矩阵,对其中的第二列要把其数字比如0612这样一个月日组成的数字分开,分开后且和原来矩阵一起输出。现在主要难在,分开后成为一个新的两列矩阵后,不知道怎么加在原来的矩阵中。也可以 ...


没看懂,其实你举一个小例子就可以了,输入是什么,输出是什么
 楼主| 发表于 2007-5-23 17:29 | 显示全部楼层
比如:
x=[1,0212,2;
     2,0305,4]
y=[1,02,12,2;
     2,03,05,4]
目的就是把x变成y
发表于 2007-5-23 17:32 | 显示全部楼层
y = [x(:,1),floor(x(:,2)/100),x(:,2)-floor(x(:,2)/100)*100,x(:,3:end)]

[ 本帖最后由 w89986581 于 2007-5-23 17:35 编辑 ]

评分

1

查看全部评分

发表于 2007-5-23 17:33 | 显示全部楼层
原帖由 yamma 于 2007-5-23 17:29 发表
比如:
x=[1,0212,2;
     2,0305,4]
y=[1,02,12,2;
     2,03,05,4]
目的就是把x变成y


y = [x1, x2];
其中 x1 是前两列,x2 是后两列
 楼主| 发表于 2007-5-23 17:38 | 显示全部楼层
不明白你的意思
 楼主| 发表于 2007-5-24 08:59 | 显示全部楼层

找到一个方法

我找到方法了
使用的是repmat这个函数
z= repmat(x,1,2);
(x:,[3:4]=[];
%因为在前面的过程中,用fix已把月日行分开成为列矩阵,所以我直接赋,假如为time_m 和time_d
x(:,2)=time_m
x(:,3)=time_d
这样再按格式输出z就可以了
发表于 2007-5-24 09:35 | 显示全部楼层
原帖由 yamma 于 2007-5-24 08:59 发表
我找到方法了
使用的是repmat这个函数
z= repmat(x,1,2);
(x:,[3:4]=[];
%因为在前面的过程中,用fix已把月日行分开成为列矩阵,所以我直接赋,假如为time_m 和time_d
x(:,2)=time_m
x(:,3)=time_d
这样 ...


用 z = [x,time_m, time_d]; 就行了,这就是我上面给你提示的用意,举一反三即可
 楼主| 发表于 2007-5-24 10:08 | 显示全部楼层
原帖由 eight 于 2007-5-24 09:35 发表


用 z = [x,time_m, time_d]; 就行了,这就是我上面给你提示的用意,举一反三即可



如果这样,新加入矩阵的没有在我所希望的位置
发表于 2007-5-24 10:09 | 显示全部楼层
原帖由 yamma 于 2007-5-24 10:08 发表



如果这样,新加入矩阵的没有在我所希望的位置


变通一下即可:
z = [x(:,1), time_m, time_d, x(:,4)]
 楼主| 发表于 2007-5-24 10:59 | 显示全部楼层
原帖由 eight 于 2007-5-24 10:09 发表


变通一下即可:
z = [x(:,1), time_m, time_d, x(:,4)]



这样比用repmat简化多了,谢谢eight。
整个编程随着这问题的解决已经很顺利的完成了。
感谢关注过并给予启发的每个人。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-19 04:34 , Processed in 0.076567 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表