Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.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 从a值中减去矩阵中一行的平均值,然后放入另一个矩阵_Matlab_Matrix - Fatal编程技术网

Matlab 从a值中减去矩阵中一行的平均值,然后放入另一个矩阵

Matlab 从a值中减去矩阵中一行的平均值,然后放入另一个矩阵,matlab,matrix,Matlab,Matrix,我试图得到矩阵中一行的平均值,然后从该行的值中减去它,然后将该值放入相应的矩阵中。我已经用几个for循环完成了这项工作,但我想远离这些代码。我是一名经验丰富的程序员,正在尝试学习如何在不使用for循环的情况下在Matlab中进行操作。非常感谢您的帮助 A = [ 1 3 5; mean = 3 2 5 5; mean = 4 3 4 8; ]; mean = 5 B = [|B_11-mean| |B_1

我试图得到矩阵中一行的平均值,然后从该行的值中减去它,然后将该值放入相应的矩阵中。我已经用几个for循环完成了这项工作,但我想远离这些代码。我是一名经验丰富的程序员,正在尝试学习如何在不使用for循环的情况下在Matlab中进行操作。非常感谢您的帮助

A = [ 1 3 5;    mean = 3
      2 5 5;    mean = 4              
      3 4 8; ]; mean = 5             

B = [|B_11-mean| |B_12-mean| |B_13-mean|
     |B_21-mean| |B_22-mean| |B_23-mean|
     |B_31-mean| |B_32-mean| |B_33-mean|];

B = [ 2 0 2;
      2 1 1;
      2 1 3; ];
下面是我正在使用的代码。我计划扩展到一个更大的数据集,以便尽可能提高效率

[rows columns] = size(A);
B = zeros(rows, columns);
mean_row = mean(A.');
for j=1:rows
  for i=1:columns
   B(j,i) = abs(A(j, i) - mean_row(1,columns));abs(A(j, i) - mean_row(1,columns));
  end
end
我一直在研究如何在没有for循环的情况下实现这一点,以及如何更有效地创建B矩阵,但我一直未能正确实现。感谢您的帮助。谢谢

B = abs ( bsxfun (@minus, A, mean(A,2) ) );
测试

>> A = [ 1 3 5; 2 5 5; 3 4 8 ]

A =

   1   3   5
   2   5   5
   3   4   8

>> B = abs ( bsxfun (@minus, A, mean(A,2) ) )

B =

   2   0   2
   2   1   1
   2   1   3
测试

>> A = [ 1 3 5; 2 5 5; 3 4 8 ]

A =

   1   3   5
   2   5   5
   3   4   8

>> B = abs ( bsxfun (@minus, A, mean(A,2) ) )

B =

   2   0   2
   2   1   1
   2   1   3

谢谢你的回答,但它没有返回我正在寻找的矩阵。请查看更新的问题。@user2743您提供的输入是否与问题中显示的相同?我非常怀疑它,因为我这边的输出和期望的完全一样。请检查更新答案中的测试。使用它非常有趣@你完全正确。我想我已经盯着这个太久了,没有注意到。谢谢你的帮助!谢谢你的回答,但它没有返回我正在寻找的矩阵。请查看更新的问题。@user2743您提供的输入是否与问题中显示的相同?我非常怀疑它,因为我这边的输出和期望的完全一样。请检查更新答案中的测试。使用它非常有趣@你完全正确。我想我已经盯着这个太久了,没有注意到。谢谢你的帮助!