Почему моя функция отображает только одну выходную переменную? - PullRequest
0 голосов
/ 14 февраля 2019

Я учусь использовать Matlab.В следующем коде я хочу применить функцию mldivide https://www.mathworks.com/help/matlab/ref/mldivide.html Однако я немного запутался в том, как функция обрабатывает выходные данные.В соответствии с документацией https://www.mathworks.com/help/matlab/ref/function.html, когда я вызываю свою функцию в командном окне, мне нужно выплюнуть out1, out2 и out3.Но отображается только out1.Почему?

function [out1, out2, out3] = testSystem(in1, in2, in3)

b = [in1; in2; in3];

A = [2, 1, 1; 
    -1, 1, -1;
    1,  2, 3;];

x = A\b;

disp(x);
out1 = x(1,1);
out2 = x(2,1);
out3 = x(3,1);

end
>> testSystem(2,3,-10)
     3
     1
    -5


ans =

     3

1 Ответ

0 голосов
/ 14 февраля 2019

Потому что вы не назначаете выход.Поэтому функция возвращает только первый вывод.Если вы звоните [out1, out2, out3] = testSystem(2,3,-10), он должен делать то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...