MATLAB: Qu’est-ce qui me manque dans ce code

J’essaie de trouver des valeurs deθetγpour un système d’équation où x (1) =θet x (2) =γdans le code.
Les équations sont;
J’utilise le code ci-dessous mais je n’ai pas trouvé la bonne réponse. La réponse pour
Le code fonctionne, mais j’obtiens des valeurs différentes pour différents intervalles x, et aucune d’entre elles n’est correcte. (Dans ce cas 97,90)
Qu’est-ce que je rate?
a (1,1) est le différentiel partiel depar rapport àθ
a (1,2) est le différentiel partiel depar rapport àγ
a (2,1) est le différentiel partiel depar rapport àθ
a (2,2) est le différentiel partiel depar rapport àγ
b (1) est
b (2) est
 
clc;clear;
x=[-1 0.8]; err=[0.01 0.01];
niter1=10;
niter2=50;
err=transpose(abs(err));
for n=1:niter2
x
%Error Equations---------------------------
a(1,1)=-0.2*sin(x(1))+0.2*((1-0.25*sin(x(1))^2)^(-1/2))*(-0.5*sin(x(1))*cos(x(1))); a(1,2)=0;
a(2,1)=0.2*cos(x(1)); a(2,2)=-0.4*cos(x(2));
b(1)=0.2*cos(x(1))+0.4*sqrt(1-0.25*sin(x(1))*sin(x(1)))-0.32;
b(2)=0.2*sin(x(1))-0.4*sin(x(2));
%----------------------------------------------
bb=transpose(b);eps=inv(a)*bb;x=x+transpose(eps);
if n>niter1
if abs(eps)<err
break
else
disp ('Roots are not found')
end
end
end
 

Meilleure réponse

  •  

    x=x+transpose(eps)