Bonjour,
pour résoudre un problème non linéaire, j'utilise la fonction lsqnonlin,
sauf que dans mon cas, lors de la création du système d'équation (myfun) j'ai besoin que myfun dépende à la fois d'un paramètre et d'une inconnue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
function F1 = myfun(x,h)
[Zc,Vg,Tg,Tamb,u,sz,npxy,Z,M]=MesureCapteur;
 
for i = 1 : npxy ;
        for k = 1 : 528;
          if (sz(i,1,k)==0) 
                G1(i,k)=0;
          else 
                G1(i,k) = (Z(i,1,k)*x(1)*((exp(-0.5*(((Zc-(hs1(1)+( 1.5 * Vg(k,1)* ds(1) + 0.00001 * Cp * x(1) * (Tg(k,1)-Tamb(k)))/u(i,1,k))))/sz(i,1,k))^2))+...
    (exp(-0.5*(((Zc+(hs1(1)+( 1.5 * Vg(k,1)* ds(1) + 0.00001 * Cp * x(1) * (Tg(k,1)-Tamb(k)))/u(i,1,k))))/sz(i,1,k))^2))));
           end
   end
end 
 
for i = 1 : npxy ;
        for k = 1 : 528;
          if (sz(i,2,k)==0) 
                G2(i,k)=0;
          else 
                G2(i,k) = (Z(i,2,k)*x(2)*((exp(-0.5*(((Zc-(hs1(2)+( 1.5 * Vg(k,2)* ds(2) + 0.00001 * Cp * x(2) * (Tg(k,2)-Tamb(k)))/u(i,2,k))))/sz(i,2,k))^2))+...
    (exp(-0.5*(((Zc+(hs1(2)+( 1.5 * Vg(k,2)* ds(2) + 0.00001 * Cp * x(2) * (Tg(k,2)-Tamb(k)))/u(i,2,k))))/sz(i,2,k))^2))));
           end
   end
end 
 
for i = 1 : npxy ;
        for k = 1 : 528;
          if (sz(i,3,k)==0) 
                G3(i,k)=0;
          else 
                G3(i,k) = (Z(i,3,k)*x(3)*((exp(-0.5*(((Zc-(hs1(3)+( 1.5 * Vg(k,3)* ds(3) + 0.00001 * Cp * x(3) * (Tg(k,3)-Tamb(k)))/u(i,3,k))))/sz(i,3,k))^2))+...
    (exp(-0.5*(((Zc+(hs1(3)+( 1.5 * Vg(k,3)* ds(3) + 0.00001 * Cp * x(3) * (Tg(k,3)-Tamb(k)))/u(i,3,k))))/sz(i,3,k))^2))));
           end
   end
end 
 
for i = 1 : npxy ;
    for h = 1 : 528;
     if (M(i,h) < 0.00001)
         F1(i,h)=0;
     else
    F1(i,h)=G1(i,h)+G2(i,h)+G3(i,h)-M(i,h);
     end
 end
end
Une fois la fonction créer : it's ok, sauf que j'ai besoin seulement de F1(i,:) c'est-à-dire pour h fixé et ça marche pas même si je crée une autre myfun2 qui est fonction de myfun et seulement de l'inconnue x.

merci.