0

下面是我的matlab代码:

  for t=1:5
    data=[1 3 5 7 9;2 4 6 8 10];
    k(t)=mean(data(:,t));
    end

结果,k(1)=1.5,k(2)=3.5, ... ,k(5)=9.5。我想创建一个将所有这些组合在一起的结果,如下所示:

结果=[1.5;3.5;5.5;7.5;9.5]

有什么好主意吗?谢谢。

4

2 回答 2

2
data=[1 3 5 7 9;2 4 6 8 10];
R = mean(data)';

修正:

如上所述,如果此解决方案不是您所期望的,我不确定您的要求是什么。从您的标题中您提到“放入工作区”?这是否意味着您需要为“R”中的每个值创建一个变量?如果是这样,请尝试:

for i = 1:5    
    kk = R(i);
    % eval(sprintf('k%d = kk', i)); % better to avoid eval use assignin instead
    assignin('base',['K' sprintf('%d',i)],kk);
end
于 2012-12-08T08:30:12.883 回答
2

你可以使用,

data = [1 3 5 7 9; 2 4 6 8 10];
k = mean( data );        % k = [1.5, 3.5, 5.5, 7.5, 9.5];
% To get a column vector use:
k = mean( data )';       % k = [1.5; 3.5; 5.5; 7.5; 9.5];

检查文档以mean获取更多详细信息。

于 2012-12-08T08:32:18.983 回答