Matlab 为什么我在尝试使用vertcat时出错?
尝试使用vertcat连接两个矩阵时出错。如何连接此矩阵Matlab 为什么我在尝试使用vertcat时出错?,matlab,matrix,concatenation,Matlab,Matrix,Concatenation,尝试使用vertcat连接两个矩阵时出错。如何连接此矩阵 text = Columns 1 through 6 'GL/GG' 'go' 'vc (m/min)' 'fz (mm)' 'Fx (N)' 'Fy (N)' '[]' '[]' '[]' '[]' '[]' '[]' Columns 7 through 9 'd (°)' 'MA
text =
Columns 1 through 6
'GL/GG' 'go' 'vc (m/min)' 'fz (mm)' 'Fx (N)' 'Fy (N)'
'[]' '[]' '[]' '[]' '[]' '[]'
Columns 7 through 9
'd (°)' 'MA (%)' 'V (%)'
'[]' '[]' '[]'
它是2乘9,另一个矩阵包含两个值,是96乘9
我不明白为什么vertcat功能有问题。
据我所知,c=vertcattext,文本工作正常:
Columns 1 through 6
'GL/GG' 'go' 'vc (m/min)' 'fz (mm)' 'Fx (N)' 'Fy (N)'
'[]' '[]' '[]' '[]' '[]' '[]'
'GL/GG' 'go' 'vc (m/min)' 'fz (mm)' 'Fx (N)' 'Fy (N)'
'[]' '[]' '[]' '[]' '[]' '[]'
Columns 7 through 9
'd (°)' 'MA (%)' 'V (%)'
'[]' '[]' '[]'
'd (°)' 'MA (%)' 'V (%)'
'[]' '[]' '[]'
我该怎么办
第1列至第6列
1 0 1 0 0.65318 0.045977
1 0.2 0.42857 1 0.46243 0.21264
0 0 0.42857 0.4 0.023121 0.26437
0 0.2 0.14286 0.4 0.10405 0.41954
0 0.2 1 0.4 0.14451 0.4023
0 0.6 0 1 0.034682 0.2931
0 1 0.42857 0.4 0.21387 0.48276
1 0.2 1 0 0.53179 0.086207
1 0.6 1 0 0.46243 0.011494
1 0.6 0.14286 1 0.62428 0.52299
1 1 0.42857 0 1 0.21839
0 0.2 0.42857 1 0.028902 0.52874
0 0.6 0 0 0.16185 0.16667
0 0.6 0.14286 0 0.098266 0.13218
0 0.6 1 0 0.19653 0.14368
0 0.6 1 0.4 0.10983 0.40805
0 1 0 0 0.25434 0.25862
0 1 1 1 0.046243 0.47701
1 0 0.14286 0.4 0.7052 0.3046
1 0.2 1 1 0.66474 0.32184
1 0.6 1 0.4 0.54913 0.057471
1 0.6 1 1 0.89017 0.24713
1 1 0.14286 0 0.74566 0.15517
1 1 0.14286 0.4 0.42197 0.091954
1 1 1 1 0.61272 0.14943
0 0 1 1 0.069364 0.7931
0 1 0.14286 0 0.33526 0.37931
0 1 0.14286 1 0.034682 0.55172
1 0 0.42857 0 0.56069 0.17816
1 0.6 0 1 0.57803 0.46552
1 1 1 0 0.87861 0.057471
1 0 0 0.4 0.45087 0.18966
1 0.2 0 0 0.3526 0.028736
1 0.2 0 0.4 0.50867 0.29885
1 0.2 1 0.4 0.7341 0.32184
1 0.2 0 1 0.56647 0.2931
1 0.6 0.14286 0 0.43931 0.086207
1 0.6 0.42857 0.4 0.39306 0.21839
1 1 0.42857 0.4 0.50289 0.1092
0 0 0.42857 0 0.21965 0.32184
0 0 0.14286 0.4 0.17919 0.74138
0 0 1 0.4 0.098266 0.47126
0 0.2 1 0 0.33526 0.36782
0 0.2 0.14286 1 0.023121 0.47701
0 0.6 0.14286 0.4 0.16185 0.54598
0 1 0.14286 0.4 0.023121 0.20115
1 0.2 0.14286 0 0.43931 0.068966
1 0.2 0.14286 0.4 0.52023 0.25862
1 0.6 0.42857 0 0.43353 0.034483
1 0.6 0 0.4 0.48555 0.26437
1 1 0 0.4 0.42197 0.16092
1 1 0 1 0.80925 0.6092
0 0 0 0 0.23121 0.37931
0 0 1 0 0.30636 0.1954
0 0.2 0.42857 0 0.18497 0.15517
0 0.6 0.42857 1 0 0.53448
1 0 1 0.4 0.54913 0.13218
1 0.6 0.14286 0.4 0.45087 0.27586
1 0.6 0.42857 1 0.52601 0.40805
1 1 0.42857 1 0.83237 0.55747
0 0 0 1 0.017341 0.50575
0 0 0.42857 1 0.080925 1
0 0.2 0 0 0.11561 0.15517
0 0.6 0.42857 0.4 0.052023 0.36782
0 0.6 1 1 0.10983 0.41954
0 1 1 0 0.40462 0.27586
0 1 0.42857 1 0.14451 0.74713
1 0 0 0 0.65318 0.1954
1 0 0.42857 0.4 0.55491 0.24138
1 0 0.14286 1 0.99422 0.61494
1 0.6 0 0 0.3526 0
0 0 0 0.4 0.092486 0.26437
0 0.2 0 1 0.023121 0.38506
0 0.6 0.14286 1 0.017341 0.58046
0 1 0.42857 0 0.49711 0.41954
0 1 0 1 0.15029 0.72414
1 0 0.42857 1 0.78035 0.62069
1 0 1 1 0.72832 0.44828
1 1 0.14286 1 0.81503 0.27586
0 0 0.14286 0 0.21387 0.21839
0 0 0.14286 1 0.086705 0.7931
0 0.2 0.14286 0 0.10983 0.1092
0 0.2 0 0.4 0.086705 0.41954
0 0.2 0.42857 0.4 0.023121 0.1092
0 0.6 0 0.4 0.052023 0.31609
0 1 0 0.4 0.098266 0.17241
1 0 0.14286 0 0.65896 0.16667
1 0 0 1 0.90751 0.73563
1 0.2 0.42857 0 0.4104 0.051724
1 0.2 0.42857 0.4 0.36994 0.17241
1 0.2 0.14286 1 0.47977 0.23563
1 1 0 0 0.6185 0.16667
1 1 1 0.4 0.39884 0.25287
0 0.2 1 1 0.052023 0.5
0 0.6 0.42857 0 0.18497 0.15517
0 1 1 0.4 0.16763 0.3046
第7列至第9列
0.061728 0.26761 0.375
0.32099 0 0
0.91358 0.74648 0.375
0.76543 0.35211 0.4375
0.71605 0.39437 0.33333
0.82716 0.67606 0.10417
0.66667 0.49296 0.52083
0.16049 0.4507 0.58333
0.12346 0.22535 0.8125
0.39506 0.87324 0.1875
0.074074 0.19718 0.58333
0.85185 0.5493 0.1875
0.60494 0.57746 0.375
0.69136 0.29577 0.47917
0.54321 0.4507 0.52083
0.75309 0.64789 0.1875
0.54321 0.47887 0.625
0.92593 0.15493 0.083333
0.23457 0.19718 0.47917
0.25926 0.49296 0.1875
0.12346 0.77465 0.14583
0.12346 0.59155 0.22917
0.11111 0.056338 1
0.23457 0.25352 0.33333
0.17284 0.39437 0.66667
0.82716 0.94366 0.29167
0.53086 0.26761 0.375
0.83951 0.59155 0.083333
0.22222 0.22535 0.66667
0.39506 0.38028 0.10417
0 0.42254 0.72917
0.30864 0.71831 0.22917
0.23457 0.47887 0.375
0.34568 0.16901 0.22917
0.23457 0.16901 0.1875
0.2963 0.59155 0.10417
0.22222 0.25352 0.375
0.38272 0.39437 0.375
0.19753 0.47887 0.1875
0.60494 0.64789 0.52083
0.75309 0.49296 0.47917
0.77778 0.69014 0.375
0.51852 0.39437 0.70833
0.85185 0.84507 0.14583
0.7284 0.64789 0.29167
0.82716 0.16901 0.29167
0.19753 0.39437 0.5625
0.30864 0.38028 0.33333
0.17284 0.35211 0.4375
0.34568 0.12676 0.29167
0.30864 0.5493 0.22917
0.34568 0.59155 0.22917
0.61728 0.52113 0.4375
0.44444 0.32394 0.375
0.5679 0.22535 0.375
0.87654 0.29577 0.375
0.19753 0.59155 0.083333
0.37037 0.80282 0.29167
0.39506 0.15493 0.33333
0.30864 0.42254 0.14583
0.90123 0.59155 0.083333
0.82716 0.94366 0.22917
0.66667 0.47887 0.39583
0.81481 0.67606 0.33333
1 0.57746 0.33333
0.40741 0.29577 0.29167
0.77778 0.74648 0.39583
0.18519 0.39437 0.70833
0.2716 0.52113 0.29167
0.2716 0.25352 0.22917
0.19753 0.39437 0.29167
0.74074 0.4507 0.52083
0.83951 0.61972 0.1875
0.85185 0.91549 0.33333
0.41975 0.29577 0.625
0.76543 0.64789 0.22917
0.35802 0.64789 0.22917
0.30864 0.52113 0.1875
0.17284 0.90141 0.10417
0.5679 0.47887 0.52083
0.81481 0.84507 0.375
0.65432 0.49296 0.29167
0.77778 0.57746 0.22917
0.93827 0.49296 0.22917
0.80247 0.29577 0.25
0.7037 0.57746 0.33333
0.16049 0.15493 0.58333
0.34568 0.84507 0.10417
0.20988 0.61972 0.29167
0.35802 0.42254 0.375
0.32099 0.52113 0.083333
0.18519 0.4507 0.58333
0.39506 0.47887 0.25
0.92593 1 0.33333
0.5679 0.22535 0.39583
0.66667 0.19718 0.1875
如果字符串类型的垂直数组大小相等,即行和列必须相同,则只能连接它们。这里也回答了一个类似的问题-。也许这会帮助你了解你面对的是什么 给你的一个提示是使用空白填充差异?这将确保您有一个相同大小的数组来处理。但是,我不知道操作的参数,因此用作填充元素可能会影响您试图实现的目标。问题是,您的文本矩阵实际上是一个双精度矩阵,而双精度矩阵只是一个常规双精度矩阵。为了进行连接,首先需要将double数组转换为单元数组,其中每个元素位于单独的单元中,即96×9单元数组。为此,您可以使用:
我认为您在这里混淆了一些类型和数据结构。1您不能将单元格和矩阵连在一起2您不能有一个同时包含双精度和字符元素的矩阵。@meryem,您确定文本是矩阵吗?在matlab中,矩阵不能容纳字符串,只有单元数组才能容纳字符串。矩阵只能容纳字符,这使得2D字符矩阵变成了一维字符串向量。@meryem如果你做了divacar建议的事情,你就没有做。不能将矩阵和单元格合并,也不能在同一个矩阵中同时包含char和double。故事结束了。您可以看到这一点,因为vertcat{'a'、'b';'c';'d'}、['a'、'b';'c'、'd']将给出编译错误,而a=[1,2,'a'、'b']将假定1和2是ascii格式的字符。@ILYAMELAED字符串在matlab中不存在。您有一个字符或字符数组/矩阵。有一个字符矩阵是绝对可能的,在这个矩阵中,每个字符占用1个元素,每个元素的大小为2个字节。@patrik,这是我写的,一个矩阵不能在同一个位置容纳多个字符,只能容纳一个字符。如果您需要几个字符在一起,即一个字符串,则只能使用单元格数组。从这个问题来看,OP似乎将文本作为一个矩阵来处理,这让我感到好奇。
text = { 'GL/GG', 'go', 'vc (m/min)', 'fz (mm)', 'Fx (N)', 'Fy (N)', 'd (°)', 'MA (%)', 'V (%)';
'[]', '[]', '[]', '[]', '[]', '[]', '[]', '[]', '[]'};
num = rand(96,9);
vertcat(text, mat2cell(num, ones(size(num,1),1), ones(1,size(num,2))));