building matrix of a variable series in a for loop

1 次查看(过去 30 天)
hi all...i have some variables with their values in workspace, lets say y1,y2....y9.
I want to convert this array in to 3 x 3 matrix such that [y1 y2 y3; y4 y5 y6; y7 y8 y9]..automatically. So that next time if i have values like, y1,y2,..........y49, some script automatically builds a matrix [y1,y2...y7; y8,y8....y14;....and so on]
thanks in advance
  5 个评论
m naveed
m naveed 2016-7-5
never mind...found the solution.
evalin('base', (['y', num2str(i)])); does the job

请先登录,再进行评论。

回答(1 个)

Andrei Bobrov
Andrei Bobrov 2016-6-29
编辑:Andrei Bobrov 2016-6-29
a = rand(21);
n = numel(a);
m = ceil(sqrt(n));
out = reshape([a(:);nan(m^2-n,1)],m,[])';

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by