我试图合并两个在多列中共享相同值的矩阵。在MATLAB的不同向量中加入具有相同值的矩阵
以下矩阵应该举例说明我的问题并提供MWE。但是,我的数据非常长,因此我正在寻找一种有效的方法来合并它们。数据由选项数据组成,其中c
被调用,p
输入数据,1:4
列:日期,罢工,到期,出价。最后,我想有矩阵1:5
列:日期,罢工,到期,看涨期权价格,投标价格。如MWE中所示,数据长度不同,但列1:3
(日期,罢工,到期)的每个组合只存在一次。
c = [7356011 300 7356081 1.15; 7356011 400 7356081 1.56; 7356011 500 7356081 1.79; 7356011 300 7356088 1.25; 7356011 400 7356088 1.67; 7356011 500 7356088 1.89; 7356011 600 7356088 1.92; 7356012 300 7356081 0.79; 7356012 400 7356081 0.99; 7356012 500 7356081 1.08; 7356012 300 7356088 0.81; 7356012 400 7356088 0.90; 7356012 500 7356088 1.07]
p = [7356011 300 7356081 1.35; 7356011 400 7356081 1.15; 7356011 500 7356081 1.03; 7356011 300 7356088 1.56; 7356011 400 7356088 1.15; 7356011 500 7356088 1.03; 7356012 300 7356081 1.25; 7356012 400 7356081 1.19; 7356012 500 7356081 1.02; 7356012 300 7356088 1.14; 7356012 400 7356088 0.98; 7356012 500 7356088 0.76; 7356012 600 7356088 0.56; 7356012 700 7356088 0.44]
我试图建立对每列的ID,通过使用strcat
和num2str
,并获得 'ID(1)= 73560113007356081' 然而,这需要很长的大量的数据。我也尝试使用unique
和ismember
找到一个解决方案,但遇到了多列问题。
祝愿输出为:
7356011 300 7356081 1.15 1.35 7356011 400 7356081 1.56 1.15 7356011 500 7356081 1.79 1.03 7356011 300 7356088 1.25 1.56 7356011 400 7356088 1.67 1.15 7356011 500 7356088 1.89 1.03 7356011 600 7356088 1.92 NaN 7356012 300 7356081 0.79 1.25 7356012 400 7356081 0.99 1.19 7356012 500 7356081 1.08 1.02 7356012 300 7356088 0.81 1.14 7356012 400 7356088 0.90 0.98 7356012 500 7356088 1.07 0.76 7356012 600 7356088 NaN 0.56 7356012 700 7356088 NaN 0.44
感谢所有帮助
为什么你想要的矩阵有NaNs? – SamuelNLP
明白了,没关系。 – SamuelNLP