Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
matlab中带swich的下标赋值维数失配_Matlab - Fatal编程技术网

matlab中带swich的下标赋值维数失配

matlab中带swich的下标赋值维数失配,matlab,Matlab,我有一个表,从中提取每列中最大的元素,以及被告在表中的位置 Max=Max(数组,[],1); 对于i=1:1 对于j=1:30 [X,Y]=find(数组==Max(i,j)); 位置(i,j)=X; 终止 结束 我想得到一个表Sample_Targets(I,j)10*30,其中根据(1-10)中(位置(I,j))的值,存储在每列中的变量是type a=[1;0;0;0;0;0;0] for i=1:1 for j=1:30 switch Locations(i,j)

我有一个表,从中提取每列中最大的元素,以及被告在表中的位置

Max=Max(数组,[],1);
对于i=1:1
对于j=1:30
[X,Y]=find(数组==Max(i,j));
位置(i,j)=X;
终止
结束

我想得到一个表
Sample_Targets(I,j)10*30
,其中根据(1-10)中(位置(I,j))的值,存储在每列中的变量是
type a=[1;0;0;0;0;0;0]

  for i=1:1 
for j=1:30
    switch  Locations(i,j)
            case {1}
                Sample_Targets(i,j) = [1;0;0;0;0;0;0;0;0;0];
            case {2}
                Sample_Targets(i,j) = [0;1;0;0;0;0;0;0;0;0];
            case {3}
                Sample_Targets(i,j)  = [0;0;1;0;0;0;0;0;0;0];
            case {4}
                Sample_Targets(i,j)  = [0;0;0;1;0;0;0;0;0;0];
            case {5}
                Sample_Targets(i,j)  = [0;0;0;0;1;0;0;0;0;0];
            case {6}
                Sample_Targets(i,j)  = [0;0;0;0;0;1;0;0;0;0];
            case {7}
                Sample_Targets(i,j)  = [0;0;0;0;0;0;1;0;0;0];
            case {8}
                Sample_Targets(i,j)  = [0;0;0;0;0;0;0;1;0;0];
            case {9}
                Sample_Targets(i,j)  = [0;0;0;0;0;0;0;0;1;0];
            case {10}
                Sample_Targets(i,j)  = [0;0;0;0;0;0;0;0;0;1];
         end    
    end
  end
每次我都会遇到同样的错误:

下标赋值维度不匹配


我能做什么?

您的示例变量需要是单元格类型,或者是3D数组

  • 单元格:使用{}表示单元格下标,即示例_目标{i,j}

  • 3D阵列:使用样本_目标(i,j,:)=[…]


注意,后一种方法是唯一可行的,因为在switch语句中,您总是分配一个大小相同的数组。如果不是这样,选项a)是唯一可能的。

请提供代码,允许重现您的问题,包括初始化所有变量。这是我的朋友。