怎样在matlab中把矩阵的两列合并成一列,只是把两列的数据放在一起
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样在matlab中把矩阵的两列合并成一列,只是把两列的数据放在一起相关的知识,希望对你有一定的参考价值。
比如a=【1 2 3 4; b=【1 2.3 4;
5 6 7 8 ; 5 6.7 8;
9 10 11 12】,变成 9 10.11 12】
就是把中间两列放在一起,中间加个点,matlab处理数据月份和日期是分开放的,不好作图,求大神指点!
clear;
a=[1 2 3 4;
5 6 7 8;
9 10 11 12];
%取第三列元素
temp=a(:,3);
m=length(temp);
for i=1:m
%先取元素
t=temp(i);
t2(i)=0;
%t2将保存第三别的位数
while abs(t-0)>=1
t2(i)=t2(i)+1;
t=t/10;
end
end
t2=(10.^(-1*(t2)));
t2=t2\';
a=[a(:,1),a(:,2)+(t2.*a(:,3)),a(:,4)] 参考技术A 如果单纯合并两列,这样试试。
a=[a(:,1),a(:,2)+0.1*a(:,3),a(:,4)]
format short g追问
谢谢,看明白了,但是我要合并的是月份和日,日有十位和个位之分,*0.01会比较好吧。‘format short g’是什么意思?
追答我是针对你给的矩阵a回答的,你的问题一定有办法解决。只是不知道你的具体问题。方法有的是。
a=[1 2 3 4;5 6 7 8;9 10 11 12];b=[a(:,1),a(:,2)+0.1*a(:,3),a(:,4)];
结果b =
1.0000 2.3000 4.0000
5.0000 6.7000 8.0000
9.0000 11.1000 12.0000
这样比较难看。
输入命令format short g%(数字输出格式命令)
后你再输入
b
结果是b =
1 2.3 4
5 6.7 8
9 11.1 12
这样就好看点了。
要将11.1后面的零显示出来,需要采用别的输出格式。
那个觉悟壮志的方法就行啊。
ps:采用答案给错了人,没有给能解决你问题的人。
谢谢,因为我发现之前自己的问题就不对,和他有同样的想法。后来决定采用距离某天的天数做坐标了。源数据太多了,是61年逐日的。还是十分感谢!!
参考技术B 放在一起不难,但有两个问题:1、两列数据都是整数吗?
2、这样放在一起你认为含义靠谱吗?比如2.2>2.11?追问
是整数,一列是月份,一列是日,放在一起想要画图的时候横坐标是某月某日,比如4月13日在坐标轴上显示的是4.13,,用strcat的话会放在列的后边,也会使其他列没有了。或者有没有其他办法,因为数据中的月份和日是分开的。。
追答时间日期数据应该用时间日期的相关函数来处理,不应该像你现在这样。
比如我刚才说的,按照你原来的写法,4月2日是4.2,4月13日是4.13,4月2日反而比4月13日大。
就算是把天数乘以0.01再相加也是不合适的,那样4月30日到5月1日的距离本来只是1天,但坐标轴上的距离却成了71天,显然不对。
你最好把你现在画图的效果贴出来,说明存在什么问题,以及希望达到什么样的效果,我再帮你。
iview表格行/列合并
参考技术Aiview在4.0版本之后可谓是脱胎换骨,并且更名为view-ui,在4.0后表格增加了拖拽调整列宽,行/列合并,合计等功能,此处还是有一些坑点记录下来方便以后遇到能够快速解决
span-method指定合并行或列的算法函数,该方法接收四个对象作为参数,这个官网描述的很清楚,但是返回值这里就有些让人费解了,在这贴出官网原话: 该函数可以返回一个包含两个元素的数组,第一个元素代表 rowspan,第二个元素代表 colspan。 也可以返回一个键名为 rowspan 和 colspan 的对象。
rowspan和colspan是啥啊?这让人感到困惑,其实看完它的例子(踩了几个坑)后就会发现这个方法返回值其实就是 单元格占据的行和列
我们可以用一个二维数组来实现一个与表格内容一一对应的layout,根据当前的参数rowIndex, columnIndex返回layout[rowIndex][columnIndex],表示表格内容的排列方式
举个例子
再举一个例子
其实就是数组中的值为[1,1]代表默认不合并,[0,0]代表不显示,如果有人说[1,0]或者[0,1]这样的怎么办?在view-ui中,这种情况也是按照[0,0]来处理的,知道这些我们就可以实现一个合并数据中重复出现的单元格的表格了
参考: https://blog.csdn.net/weixin_43824116/article/details/105275869?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-8.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-8.nonecase
以上是关于怎样在matlab中把矩阵的两列合并成一列,只是把两列的数据放在一起的主要内容,如果未能解决你的问题,请参考以下文章