Я пытаюсь решить систему нелинейных уравнений, используя fsolve, где неизвестные представляют собой матрицу размером 2xS (S может быть любым целым числом больше 1). Тем не менее, я получаю ошибку для образца, который пытаюсь решить в первую очередь. Вот функция и скрипт:
функция z = myfun (x, y)
a = [2 1 3 4];
b = [5 10 20 30];
z (1,1: длина (x)) = log (x. ^ A) -y + b;
z (2,1: длина (x)) = log (y. ^ a) -x + b;
основной сценарий:
cl c
очистить
F = @ (x , y) myfun (x, y);
x0 = rand (1,4);
y0 = rand (1,4);
x = fsolve ( F, [x0; y0]);
Это дает мне эту ошибку:
Недостаточно входных аргументов.
Ошибка в dummyfsolve> @ (x, y) myfun ( x, y) ошибка в fsolve (строка 230) fuser = feval (funfcn {3}, x, varargin {:}); Ошибка в dummyfsolve (строка 8)
x = fsolve (F, [x0; y0]);
Вызвано: Сбой в начальной оценке целевой функции. FSOLVE не может продолжаться.
Любая помощь по этому вопросу высоко ценится.