【问题标题】:Matlab 3D matrix extensionMatlab 3D矩阵扩展
【发布时间】:2014-05-08 22:19:34
【问题描述】:

我在 MATLAB 中有 2x2x1 3d 矩阵(val),例如:

val(:,:,1) =

   195   1386
   27   10

val(:,:,2) =

   196   138
   217   102

我想添加

val(:,:,3) = 

   196   138
   217   102
   217   102.

像往常一样,Matlab 给出尺寸不匹配错误。在添加第 3 个 (3x2) 矩阵之前,我应该如何处理我的 val 矩阵?

【问题讨论】:

  • 原始的 2x2x2 矩阵会发生什么?如何填补缺失的行?按 0 还是按 NaN?
  • 这样大小的矩阵根本不可能。每个切片必须具有相同的大小。也许二维矩阵的单元格是一个解决方案?你期待什么?
  • 好吧,如果无法调整矩阵大小,我会尝试使用单元格。

标签: matlab matrix extend


【解决方案1】:

给定你的原始数组:

val(:,:,1) = [
   195   1386
   27   10 ];
val(:,:,2) = [
   196   138
   217   102 ];

您需要定义第三行。用一些东西填充它,例如NaN

val(end+1,:,:) = NaN;

这样,当您添加新切片时,尺寸将匹配:

val(:,:,3) = [
   196   138
   217   102
   217   102 ];

【讨论】:

    【解决方案2】:

    您的数组不能有空位。

    对于改变维度,你应该考虑使用结构或单元格。

    【讨论】:

      猜你喜欢
      • 2014-07-19
      • 2012-06-07
      • 1970-01-01
      • 2015-02-04
      • 2016-05-08
      • 2013-09-21
      • 2011-07-07
      • 2020-04-09
      • 2019-06-28
      相关资源
      最近更新 更多