以下是我的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]
做任何好主意?谢谢。
答案 0 :(得分: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
答案 1 :(得分: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
的文档以获取更多详细信息。