我正在尝试编写一个函数,它将矩阵A作为输入,并返回矩阵B作为输出。 B的行数与A相同。
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
答案 0 :(得分:0)
您需要指定要在矩阵的 second 维度上计算median
,mean
,min
和max
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