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从矩阵生成剩余值_Matlab_Matlab Deployment - Fatal编程技术网

使用Matlab从矩阵生成剩余值

使用Matlab从矩阵生成剩余值,matlab,matlab-deployment,Matlab,Matlab Deployment,假设有一个使用for循环生成的矩阵,如下所示 A = [ 1 3 4 ;... 5 8 9 ;... 6 3 8 ] 让给定的矩阵生成另一个矩阵,如下所示 B = [ 5 3 8 ] 我的问题是:我想通过只从a列中删除B的元素来生成一个矩阵 输出 C = [ 1 8 4 ;... 6 3 9 ] 如何使用Matlab实现这一点?假设从每行中删除的元素数量相同,这应该可以实现 A = [1 3 4; 5 8 9; 6 3 8]; B = [3 5 8];

假设有一个使用
for
循环生成的矩阵,如下所示

A = [ 1 3 4 ;...
      5 8 9 ;...
      6 3 8 ]
让给定的
矩阵生成另一个矩阵,如下所示

B = [ 5 3 8 ]
我的问题是:我想通过只从
a
列中删除
B
的元素来生成一个矩阵

输出

C = [ 1 8 4 ;... 
      6 3 9 ]

如何使用Matlab实现这一点?

假设从每行中删除的元素数量相同,这应该可以实现

A = [1 3 4; 5 8 9; 6 3 8];
B = [3 5 8];

C = A';
C(find(A' == repmat(B, size(A, 2), 1))) = [];
C = reshape(C, [], size(A, 1))'

矩阵B是随机生成的。每列只删除一个元素,从而生成矩阵C。可以使用什么命令生成矩阵CYou行和列之间存在一些不一致<根据您的定义,代码>C
应为3x2。请相应地编辑您的问题,不要在评论中留下重要信息。@Ash::在第二列中,3出现两次(第1行和第3行)。。。。我们怎么知道B中的3来自第1行而不是第3行,反之亦然……C中的第2列可以是[8;3]或[3;8]。。。请澄清…@face::B矩阵是从A中随机选择的。只从每个列中拾取一个元素。因此,我在我的程序中也面临同样的问题。可以确定位置,但使用setdiff命令可以更改值的顺序。