Я пытаюсь создать график в MATLAB, перебирая значения константы (A) относительно системы уравнений. Мой код вставлен ниже:
function F=Func1(X, A)
%X(1) is c
%X(2) is h
%X(3) is lambda
%A is technology (some constant)
%a is alpha
a=1;
F(1)=1/X(1)-X(3)
F(2)=X(3)*(X(1)-A*X(2)^a)
F(3)=-1/(24-X(2))-X(3)*A*a*X(2)^(a-1)
clear, clc
init_guess=[0,0,0]
for countA=1:0.01:10
result(countA,:)=[countA,fsolve(@Func1, init_guess)]
end
display('The Loop Has Ended')
display(result)
%plot(result(:,1),result(:,2))
Первый набор кодов, я определяю набор уравнений, которые я пытаюсь решить. Во втором наборе строк я пытаюсь написать al oop, который перебирает значения A, которые я хочу, [1,10] с шагом 0,01. Прямо сейчас я просто пытаюсь заставить работать мой код l oop, но продолжаю получать эту ошибку:
"Ошибка при начальной оценке целевой функции. FSOLVE не может продолжаться."
Я не уверен, почему это так. Из того, что я понимаю, это результат того, что моя исходная матрица догадок не соответствует нужному размеру, но я считаю, что она должна быть размером 3, так как я решаю для трех переменных. Кроме того, я вполне уверен, что нет ничего плохого в том, как я ссылаюсь на мой код Func1 в моем коде L oop.
Любой совет, который вы все могли бы дать, был бы искренне оценен. Я работал над MATLAB всего несколько дней, так что, если это довольно тривиальное решение, простите за мое невежество. Спасибо.