Вы вызывали свою функцию function
?Это ОЧЕНЬ ПЛОХАЯ идея, поскольку function
является зарезервированным ключевым словом.
Предполагая, что вы просто заменили имя функции, которую вы хотите вызвать, на функцию в вашем примере: вам нужно определить вводи вывод в определении функции.Например, для функции myFun, которая принимает FP в качестве входных данных и должна возвращать AE в качестве выходных данных, вы пишете в качестве первой строки функции
function [A,B,C,D,E] = myFun(F,G,H,I,J,K,L,M,N,O,P)
EDIT
Для пояснения: вы получаете ошибку, потому что вы запрашиваете больше выходных аргументов, чем может предоставить функция.Вы бы получили ту же ошибку, если бы позвонили [u,v]=sin(0)
, поскольку sin
определяется только с 1 выводом.Таким образом, вы должны проверить сигнатуру своей функции, чтобы решить проблему.
РЕДАКТИРОВАТЬ 2
Давайте создадим пример
Я открываю редактор и определяюфункция
function [A,B,C] = myFun(D,E,F)
%# myFun returs the pairwise sums of the input arguments
A = D+E;
B = E+F;
C = F+D;
Затем я сохраняю функцию как "myFun.mat" на пути Matlab.
Теперь я могу вызывать myFun следующим образом:
[A,B,C] = myFun(1,2,3);
Однако, если я вызову myFun с четырьмя выходными аргументами, я получу ошибку
[A,B,C,D] = myFun(1,2,3);
Фактически, я получу именно ту ошибку, которую вы получили, потому что я определил myFun только с тремя выходными аргументами.
Примечание. Вы всегда можете вызвать функцию с меньшим количеством заданных выходных аргументов, но не с большим.