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!