2016-12-06 292 views
0

我有两个矩阵,我已经垂直连接。但是,我想在它们之间插入2行或更多行,并在这些行中插入一个字符串。我该如何去做。 基本上这是我的;在矩阵中添加行与矩阵之间的矩阵

A = 0.7363 0.8217 0.7904 0.5144 0.5341 
     0.3947 0.4299 0.9493 0.8843 0.0900 
     0.6834 0.8878 0.3276 0.5880 0.1117 
     0.7040 0.3912 0.6713 0.1548 0.1363 
     0.4423 0.7691 0.4386 0.1999 0.6787 
     0.0196 0.3968 0.8335 0.4070 0.4952 
     0.3309 0.8085 0.7689 0.7487 0.1897 
     0.4243 0.7551 0.1673 0.8256 0.4950 
     0.2703 0.3774 0.8620 0.7900 0.1476 
     0.1971 0.2160 0.9899 0.3185 0.0550 

但我想要它;

A = 0.7363 0.8217 0.7904 0.5144 0.5341 
      0.3947 0.4299 0.9493 0.8843 0.0900 
      0.6834 0.8878 0.3276 0.5880 0.1117 
      0.7040 0.3912 0.6713 0.1548 0.1363 
      0.4423 0.7691 0.4386 0.1999 0.6787 

      MESH  PART 
      0.0196 0.3968 0.8335 0.4070 0.4952 
      0.3309 0.8085 0.7689 0.7487 0.1897 
      0.4243 0.7551 0.1673 0.8256 0.4950 
      0.2703 0.3774 0.8620 0.7900 0.1476 
      0.1971 0.2160 0.9899 0.3185 0.0550 
+4

你不能。在MATLAB中,矩阵只能是1种类型 –

+1

如果我们知道为什么要这样做,我认为这个问题会更容易处理。矩阵内列标题的目的和用途是什么? – TroyHaskin

+0

如果你的问题只涉及显示这样的矩阵,首先将** A **矩阵分成两部分(** A1 **,** A2 **),并在之间添加disp('MESH PART')' ** A1 **和** A2 **。 – netizen

回答

0

假设CATIA可以正确读取输出,你可以简单地设置Acell变量,它可以同时包含数字和字符的字符串。这是通过使用方括号{}来实现的,而不是[]用于数字矩阵。你的具体情况,我会写:

A = {0.7363 0.8217 0.7904 0.5144 0.5341; ... 
     0.3947 0.4299 0.9493 0.8843 0.0900; ... 
     0.6834 0.8878 0.3276 0.5880 0.1117; ... 
     0.7040 0.3912 0.6713 0.1548 0.1363; ... 
     0.4423 0.7691 0.4386 0.1999 0.6787; ... 
     'MESH' 'PART' '-'  '-'  '-' ; ... 
     0.0196 0.3968 0.8335 0.4070 0.4952; ... 
     0.3309 0.8085 0.7689 0.7487 0.1897; ... 
     0.4243 0.7551 0.1673 0.8256 0.4950; ... 
     0.2703 0.3774 0.8620 0.7900 0.1476; ... 
     0.1971 0.2160 0.9899 0.3185 0.0550}; 

的“-'s旁边目,部分是能够与基体(在这种情况下,电池),尺寸一致性。我希望这对你有用。

+0

这将是真的,但对于我来说,使用它我不必写出整个数据我自己?事情是,上面显示的只是一个示例数据,真实的数据是超过一千个数字......所以有没有办法做到这一点,而不输入所有的数据? –

+0

当然,可能某种循环会起作用,但这取决于您使用的数据。如果您愿意分享数据的结构/存储方式以及需要添加字符串的位置,我可以指导您如何操作。 – yuyu2809

+0

你不必使用循环,你可以使用['num2cell'](https://uk.mathworks.com/help/matlab/ref/num2cell.html),所以'A = [num2cell(A (1:5,:)); {'MESH','PART','','',''}; num2cell(A(1:结束,:))]' – Wolfie