building matrix of a variable series in a for loop

2 visualizzazioni (ultimi 30 giorni)
m naveed
m naveed il 28 Giu 2016
Modificato: Stephen23 il 25 Giu 2019
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 Commenti
m naveed
m naveed il 5 Lug 2016
never mind...found the solution.
evalin('base', (['y', num2str(i)])); does the job

Accedi per commentare.

Risposte (1)

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

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by