如何制作尺寸(B,1)=尺寸(A,1)?

时间:2016-05-17 20:28:08

标签: matlab matrix

我正在尝试编写一个函数,它将矩阵A作为输入,并返回矩阵B作为输出。 B的行数与A相同。

  1. B的第一列的每个元素都包含相应A行的平均值。
  2. 第二列包含中值。
  3. 虽然第三列有最小值。
  4. B的第四列的每个元素等于A的给定行的最大值。
  5. function B = simple_stats (A)
    n = size(A,1);
    x = A(1,:);
    y = median(A);
    z = min(A);
    r = max(A);
    B = [x.',y.',z.',r.'];
    B(1:n,:); % Here I have a problem and B has not the same number of rows as A.
    end
    

1 个答案:

答案 0 :(得分:0)

您需要指定要在矩阵的 second 维度上计算medianmeanminmax A。默认情况下,所有这些功能都沿第一个维(沿列向下)运行。所有这些函数都使用dim参数,该参数用于指定应用操作的维度。

A = randi(10, 5, 3);

%// 8     3     3
%// 8     2     1
%// 6     3     5
%// 2     9     1
%// 6     1     9

B = [mean(A, 2), median(A, 2), min(A, [], 2), max(A, [], 2)];

%// 4.6667    3.0000    3.0000    8.0000
%// 3.6667    2.0000    1.0000    8.0000
%// 4.6667    5.0000    3.0000    6.0000
%// 4.0000    2.0000    1.0000    9.0000
%// 5.3333    6.0000    1.0000    9.0000