solving an unknown 1024x1024 variable
이전 댓글 표시
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?
채택된 답변
추가 답변 (2개)
Torsten
2016년 8월 8일
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
shoba
2016년 8월 8일
Torsten
2016년 8월 8일
Yes, this is correct for your settings since the elements of Vp1 and Vp2 are all the same.
Best wishes
Torsten.
shoba
2016년 8월 8일
Walter Roberson
2016년 8월 8일
It is past my bedtime. I am off to sleep.
Steven Lord
2016년 8월 8일
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]);
카테고리
도움말 센터 및 File Exchange에서 Common Operations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!