次のコードで何が問題なのか教えていただけますか?
nを計算しているときに行列の行列の誤差が表示されるのはなぜですか?
function [n]=calculate_n(p,delta)
e = 1.6*power(10,-19);
k = 1.38*power(10,-23);
T = 298;
co = 3.25*power(10,13)*e*power(10,4);
er=12.5;
eo=1.0;
Nv=3*power(10,13);
us = log((p*e)/sqrt(2*k*T*er*eo*Nv))*2*k*T;
tmp = delta+(e*e*p)/co+us;
n = 1/(exp((tmp))+1);
end
のnを計算しながら、私は、マトリックス寸法誤差を取得しています。私を助けてください。
発信者:
e = 1.6*power(10,-19);
x = logspace(13,18);
y=calculate_n(x,0.2*e);
semilogx(x,y,'-s');
grid on;
pまたはデルタベクトルはありますか? p = 0.5とdelta = 2の場合は、私にとってはうまくいっています... –
私は呼び出し元コードを追加しました。 –
'n = 1 /(exp((tmp))+ 1);を' n = 1 ./(exp(tmp)+1) 'に置き換えてください; ' - しかし、' tmp'はこれらの値'exp(tmp)'は常に1になります。また、tmpの前後に余分な括弧があります。 –