solving an unknown 1024x1024 variable
Show older comments
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?
Accepted Answer
More Answers (2)
Torsten
on 8 Aug 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 Comments
shoba
on 8 Aug 2016
Torsten
on 8 Aug 2016
Yes, this is correct for your settings since the elements of Vp1 and Vp2 are all the same.
Best wishes
Torsten.
shoba
on 8 Aug 2016
Walter Roberson
on 8 Aug 2016
It is past my bedtime. I am off to sleep.
Steven Lord
on 8 Aug 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]);
Categories
Find more on Common Operations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!