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 に答える