solving an unknown 1024x1024 variable
Afficher commentaires plus anciens
pic1 = double (Pic1);
pic2 = double(Pic2);
pic3 = double(Pic3);
pic4 = double(Pic4);
ILB = 1;
B = pic1./ILB;
ILC = 0.2;
VC(1:1024,1:1024)= 0.581695;
VT = 0.025;
C = (pic2 - B*ILC)./(exp(VC./VT));
IL = 1;
V1 = VT*log((pic3 - B*IL)./(C));
V2 = VT*log((pic4 - B*IL)./(C));
jp=0.038;
Vp1(1:1024,1:1024)=0.616185;
Vp2(1:1024,1:1024)=0.575044;
syms A
eqn = (((Vp1-V1))./(A.*exp(V1/VT)-jp)).*(A*exp(V2/VT)-jp) == Vp2-V2;
Asol = solve(eqn, A);
A= subs(Asol, {A}, {A});
Unable to solve for variable A?
Réponse acceptée
Plus de réponses (2)
Torsten
le 8 Août 2016
A linear equation in A can easily be solved analytically:
A=jp.*((Vp1-V1)-(Vp2-V2))./((Vp1-V1).*exp(V2-VT)-(Vp2-V2).*exp(V1/VT))
Best wishes
Torsten.
4 commentaires
shoba
le 8 Août 2016
Torsten
le 8 Août 2016
Yes, this is correct for your settings since the elements of Vp1 and Vp2 are all the same.
Best wishes
Torsten.
shoba
le 8 Août 2016
Walter Roberson
le 8 Août 2016
It is past my bedtime. I am off to sleep.
Steven Lord
le 8 Août 2016
You could try defining A to be a symbolic matrix, but solving a system of over a million symbolic equations is likely to take quite a while.
A = sym('A', [1024 1024]);
Catégories
En savoir plus sur Sparse Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!