Я хочу изменить переменную функции на каждом шаге цикла for в matlab.я делаю эти шаги: я создал свою функцию mfile
function [jfun,fun]=air(x,vt,ty,tz,p2,y0)
jfun=[(cos(tz)*cos(ty)*vt/9.81)*(1-exp(-9.81*x(2)/vt)),...
x(1)*cos(tz)*cos(ty)*exp(-9.81*x(1)/vt);
(-vt*sin(tz)*cos(ty)/9.81)*exp(-9.81*x(1)/vt),...
(x(1)*sin(tz)*cos(ty)*+vt)*exp(-9.81*x(1)/vt)];
fun=[(x(1)*cos(ty)*cos(tz)*vt/9.81)*(1-exp(-9.81*x(2)/vt))-p2;...
(vt/9.81)*(x(1)*sin(tz)*cos(ty)+vt)*(1-exp(-9.81*x(2)/vt))-vt*x(2)+y0];
end
, а затем я использовал команду newtonSys:
ty=rad(-23)
tz=rad(15)
p2=1.8
vt=8.4925
y0=0.2
myfun=@(x)air(x,vt,ty,tz,p2,y0)
x=newtonSys(myfun,[15 5],0.000001,0.000001,500,1)
и ответ matlab: ошибка в ==> Untitled18 при 7 x = newtonSys(myfun, [15 5], 0.000001,0.000001,500,1) Я предполагаю, что это из-за неправильного использования дескриптора функции, и для моей функции я должен использовать другую команду, или я должен использовать другой метод для решения 2 нелинейного уравнения.