Bonjour,

Je suis débutante en matlab. ça me parait difficile. Je veux résoudre ce système d’équations

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
P= exp(-lambda*pi*r.^2.*P+lambda*pi*R.^2.*Q).*sum((lambda*pi*r.^2.*P +lambda*pi*R.^2.*Q).^m./factorial(m))  // with m=(0:1:k-1); ;k=9
 
Q=exp(-lambda*pi*r.^2.*P + lambda*pi*R.^2.*Q).*sum((lambda*pi*r.^2*P + lambda*pi*R.^2.*Q).^n./factorial(n))  // n=(k:1:K_avg); K_avg=17
J'ai essayé de le faire avec "solve" Résultat d'exécution ------> Cannot solve symbolically. Returning a numeric approximation instead.
avez vous une idée ?

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
 
  th = -80:-3:-106;
 lambda= 1.0000e-04;
 list1 = zeros(size(th));
 list2 = zeros(size(th));
 r=[ 15.8 20.8 27.5 36.3 47.6 63.9 83.1 109.6 115.2];
 R=[ 8.12 10.9 14.4 19.2 25.6 33.1 43.5 75.6   80.2];
 for i = 1:numel(th)
  K_avg=17;
  k=9;
  m=(0:1:k-1);
  n=(k:1:K_avg);
  syms P Q
eqns=[exp(-lambda*pi*r.^2.*P+lambda*pi*R.^2.*Q).*sum((lambda*pi*r.^2.*P +lambda*pi*R.^2.*Q).^m./factorial(m))-P==0,exp(-lambda*pi*r.^2.*P + lambda*pi*R.^2.*Q).*sum((lambda*pi*r.^2*P + lambda*pi*R.^2.*Q).^n./factorial(n))-Q==0];
vars = [P Q];
[sol1,sol2]=solve(eqns,vars);
list1(i) = sol1;
list2(i) = sol2;
  end