Octave – Equazioni non lineari II – 112

nikon-small-world-cross-section-of-a-lily-of-the-valley

Continuo da qui, sempre su quanto detto qui, un approfondimento su fzero.

Ottima la fsolve (del post precedente) ma ho trascurato la nota:

Note: If you only have a single nonlinear equation of one variable, using fzero is usually a much better idea.

L’argomento interessa, da approfondire. Comincio con l’esempio precedente che usa fsolve, questo:

o613

usando fzero si può scrivere

o616

OK, bravo. L’idea viene dall’esercizio svolto qui. Da rifare:

o617

L’approssimazione è buona

o618

Racket nel post citato dava il valore (approssimato) 4.555532271, con la procedura fixed-point di SICP:

o619

Risulta quindi che fzero (e fsolve) funziona, con l’usuale approssimazione, molto migliore di quella usata praticamente (quando faccio i calcoli a mente per l’ordine di grandezza assumo π = 1 (non ditelo a nessuno)).

Sarebbe molto bello poter passare parametri alla F(x), così:

o620

😦 purtroppo no. Ma forse sono io che dimentico qualcosa:

o621

quindi provo fzero

o622

L’esempio era troppo banale, eccone uno più reale:

o623

È stata dura… (colpa mia). In pratica  si può usare così

o624

Ma c’è un passo ancora: mettere la funzione (con un nome più significativo, p.es. js3) nel file js3.m

function t = js3(x)
    global a;
    t = a(1) * x^3 + a(2) * x^2 + a(3) * x + a(4);
endfunction

Sarà così sufficiente dichiarare il vettore a in 2 tempi e chiamare fzero:

o625

Inoltre tutti –tranne me– usano l’ambiente integrato

o626

:mrgreen:

Posta un commento o usa questo indirizzo per il trackback.

Trackback

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

%d blogger hanno fatto clic su Mi Piace per questo: