hi,
why do I get too many output arguments here? C is a matrix
[m, n]=size(C);
for i=1:1:n
j=i:m
[wert, wo]=[abs(max(C(:,i)))], [i:1:m]
end

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 26 Aug. 2020

0 Stimmen

you cannot assign to multiple variables using the syntax
[A, B] = [C], [D]
To assign to multiple variables then you need one right hand side, which has to be of the form:
  1. a function that returns multiple outputs, like max can but abs cannot
  2. a structure expansion
  3. a cell expansion
  4. deal() -- which is really just a function that returns multiple outputs
You could turn what you have into a call to deal(). I do not especially recommend that, as I find it less clear than multiple assignment statements.

1 Kommentar

Walter Roberson
Walter Roberson am 26 Aug. 2020
Which of the four cases I listed do you consider your [wert, wo]=[k, z] line to be?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Software Development finden Sie in Hilfe-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