-2
(vgb-phy_s)^2=G^2*phy_t*((exp(-x)+x-1)+exp(-(2*phi_b/phi_t))*(exp(x)-x-1))

どこ

x=phy_s/phy_t
phy_t=0.0288; % phy_t=k*T/q; (k=1.3806503*10^-23, T=300 K, q=1.6*10^-19)
phy_b=0.5267; % phy_b=phy_t*ln(Na/ni)
G=(sqrt(2*q*es*Na)/cox);

phy_sここでは、のさまざまな値をプロットする必要がありますvgb

私はさまざまな方法を試しましたが、matlabを初めて使用するため、学習プロセスを進めているため、適切な解決策を見つけることができません。

使用を提案する人はほとんどいませんでしfminsearchたが、かなり混乱していて、多くのエラーが発生しています。

4

1 に答える 1

0

fminsearchは、方程式の解を見つけるためではなく、関数の最小値を見つけるための関数です。さらに、ここでは1つの方程式ではなく、少なくとも5つの方程式の方程式グループがあります。solve方程式と方程式グループを解くために使用できます。ただし、次の方程式1〜5の方程式グループには、明示的な解がありません。もう1つの問題は、提案する定数値が不正確な値であるように見えることです。複数の丸められた値またはその他の不正確な値がある場合、方程式グループが解ける場合でも解を見つけることができません(ただし、この方程式グループには[明示的な]解決策))。

phy_t=0.0288; phy_t=k*T/q; (k=1.3806503*10^-23; T=300; q=1.6*10^-19それで、これを解決するための手順を示しますが、[おそらく不正確な]定数定義( ; phy_b = 0.5267; `)が省略されていても、この方程式グループに何か問題があるようです。

方程式(定数定義なし):

1. (vgb-phy_s)^2 = G^2*phy_t*((exp(-x)+x-1)+exp(-(2*phi_b/phi_t))*(exp(x)-x-1))
2. x = phy_s/phy_t
3. phy_t = k*T/q
4. phy_b=phy_t*ln(Na/ni)
5. G=(sqrt(2*q*es*Na)/cox)

解決するには、例えば。方程式1、2、3の方程式グループ。

Solution = solve('(vgb-phy_s)^2 = G^2*phy_t*((exp(-x)+x-1)+exp(-(2*phi_b/phi_t))*(exp(x)-x-1))', 'x = phy_s/phy_t', 'phy_t = k*T/q');

Solution.q
ans =
(T*k)/phy_t
(T*k)/phy_t

Solution.vgb
ans =
phy_s + (G*phy_t^(1/2)*(exp((2*phi_b)/phi_t) - exp(phy_s/phy_t) + exp((2*phy_s)/phy_t) - exp((2*phi_b)/phi_t)*exp(phy_s/phy_t) - (phy_s*exp(phy_s/phy_t))/phy_t + (phy_s*exp((2*phi_b)/phi_t)*exp(phy_s/phy_t))/phy_t)^(1/2))/(exp((2*phi_b)/phi_t)^(1/2)*exp(phy_s/phy_t)^(1/2))
phy_s - (G*phy_t^(1/2)*(exp((2*phi_b)/phi_t) - exp(phy_s/phy_t) + exp((2*phy_s)/phy_t) - exp((2*phi_b)/phi_t)*exp(phy_s/phy_t) - (phy_s*exp(phy_s/phy_t))/phy_t + (phy_s*exp((2*phi_b)/phi_t)*exp(phy_s/phy_t))/phy_t)^(1/2))/(exp((2*phi_b)/phi_t)^(1/2)*exp(phy_s/phy_t)^(1/2))

Solution.x
ans =
phy_s/phy_t
phy_s/phy_t

この解は、方程式1〜3の方程式グループに対してのみ有効であることに注意してください。たとえば、方程式1、2、4または1、2、5の方程式グループは、異なる解を与えます。

5つの方程式すべての方程式グループを解くには、次のように使用できます。

Solution = solve('(vgb-phy_s)^2 = G^2*phy_t*((exp(-x)+x-1)+exp(-(2*phi_b/phi_t))*(exp(x)-x-1))', 'x = phy_s/phy_t', 'phy_t = k*T/q', 'phy_b = phy_t*ln(Na/ni)', 'G = sqrt(2*q*es*Na)/cox');

ただし、解決策はありません。

Warning: Explicit solution could not be found. 
In solve at 160 

Solution =
[ empty sym ]

solveしたがって、方程式の何が問題になっているのかを見つけてから、修正した方程式で再試行することをお勧めします。

于 2012-05-01T20:15:43.213 に答える