# A numerical calculation problem leading to Inf or NaN in matlab

2 visualizzazioni (ultimi 30 giorni)
Hancheng Zhu il 20 Lug 2024
Commentato: David Goodmanson il 21 Lug 2024
I want to calculate the exact value of , where and λ is a very large positive number. Obviously, we have the bound ,and therefore .
However, in reality, for example, if , due to the large λ, we have and the matlab will treat it as 0 and .
On the other hand, if , due to the large λ, we have a very large and matlab will treat the sum as Inf and . So how to avoid the above two cases and get the exact value of F in matlab?
##### 1 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
David Goodmanson il 21 Lug 2024
Hi HZ,
(1/lam) log( (x1^lam)*(1 + (x2/x1)^lam + (xn/x1)^lam) )
= log(x1) + (1/lam)*log(1 + (x2/x1)^lam + (xn/x1)^lam))

Accedi per commentare.

### Risposte (2)

Torsten il 20 Lug 2024
Spostato: Torsten il 20 Lug 2024
log2(norm(x,lambda))
does not work ?
##### 3 CommentiMostra 1 commento meno recenteNascondi 1 commento meno recente
Walter Roberson il 21 Lug 2024
Use the Symbolic Toolbox
Torsten il 21 Lug 2024
Modificato: Torsten il 21 Lug 2024
Maybe rewriting the expression as
1 / (1 + (x2/x1)^lambda + ... + (xn/x1)^lambda)*u1 +
(x2/x1)^lambda / (1 + (x2/x1)^lambda + ... + (xn/x1)^lambda)*u2 +
(x3/x1)^lambda / (1 + (x2/x1)^lambda + ... + (xn/x1)^lambda)*u3 +
...
(xn/x1)^lambda / (1 + (x2/x1)^lambda + ... + (xn/x1)^lambda)*un
can help.
If not, please give an example for x, u and lambda where the computation fails.

Accedi per commentare.

Walter Roberson il 20 Lug 2024
If you need the exact value, calculate using the Symbolic Toolbox.
However, it is questionable what meaning to assign to the exact value of log2 of an expression. It is highly likely that log2 will be an transcendental number -- something that you cannot calculate the exact decimal representation for.
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Categorie

Scopri di più su Logical in Help Center e File Exchange

R2023b

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by