How can store data when a function provide answer with different sizes.

4 Ansichten (letzte 30 Tage)
I want to apply a function called extrema that have this way: [xmax, imax, xmin, imin]=extrema (x); but a i have a matrix that have this dimensions: 3500X6 and I want to apply this function in each column, so, six times. However, the answer to each extrema provide me a matrix with different sizes and that way, I can't to do my job. This is the code:
for i=1:NCf
[xmax(:,i),imax(:,i),xmin(:,i),imin(:,i)] = extrema(Graph(:,i));
end
??? Subscripted assignment dimension mismatch.
I though, in change the name of outputs each time that occur the loop, but I don't know how to do?

Akzeptierte Antwort

Wayne King
Wayne King am 20 Sep. 2011
Hi Alan, one way is to use cell arrays to store your data.
  2 Kommentare
Alan
Alan am 20 Sep. 2011
I tried but the Matlab said that is not a cell array
Wayne King
Wayne King am 20 Sep. 2011
Hi Alan, you have to use the proper syntax for cell arrays.
xmax{i}

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Jan
Jan am 20 Sep. 2011
An approach with cells:
xmax = cell(1, NCf);
imax = cell(1, NCf);
xmin = cell(1, NCf);
imin = cell(1, NCf);
for i=1:NCf
[xmax{i}, imax{i}, xmin{i}, imin{i}] = extrema(Graph(:,i));
end

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by