fsolve matlab для матричного ввода - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь решить систему нелинейных уравнений, используя 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 не может продолжаться.

Любая помощь по этому вопросу высоко ценится.

...