我有一個非常小的數字除以非常小的數字,MATLAB給我Inf(當x
太小)或NaN(當x
爲零時)。但正確的極限值應該是2.如何解決這個問題?要得到j
爲2太小x
或x = 0
?MATLAB:非常小的數字除以非常小的數字
X = 0.000001
>> x = 0.000001
x =
1.0000e-06
>> j = 2*x*(1+(-1)*exp(-x))^(-1)*exp(-x)
j =
2.0000
X = 0.01
>> x = 0.01
x =
0.0100
>> j = 2*x*(1+(-1)*exp(-x))^(-1)*exp(-x)
j =
1.9900
X = 1E-19
>> x = 1e-19
x =
1.0000e-19
>> j = 2*x*(1+(-1)*exp(-x))^(-1)*exp(-x)
j =
Inf
x = 0的
>> x = 0
x =
0
>> j = 2*x*(1+(-1)*exp(-x))^(-1)*exp(-x)
j =
NaN
你能清理公式?我不明白你想要計算什麼。我只能看到(-1)。* x,它是-x和exp(1)^某物只是exp(某物)。請不要讓它過於複雜 –
@Andreas H.我已經做到了。你可以幫我嗎? – kyle
「Inf」邊界的快速解決方法。使用'min'函數:'f = @(x)min(2,2 * x * exp(-x)/(1-exp(-x)));' – Hoki