|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Feb 2008
Città: PoggibonZi
Messaggi: 140
|
[MATLAB] Domanda generica..
Ciao, devo fare un sottoprogramma matlab che approssimi il valore dello zero di una funzione f con il metodo di bisezione, sottointeso che la f in ingresso rispetti le ipotesi del teorema in un certo intervallo in ingresso [a,b].
Il metodo è molto semplice e devo solo fare dei controlli che f(a)*f(x)<0 o f(b)*f(x)<0..... Il problema è che il mio prof mi ha contestato il progetto dicendo che in aritmetica finita, il controllo <0 non ha senso ed è meglio usare invece una certa quantità (tolleranza). Questo è il codice: Codice:
function [out,flag] = bisezione(f,a,b,bmax,btoll) flag = 0; n=0; fa = f(a); fb = f(b); x = (a+b)/2; fx = f(x); I=(b-a)/2; while n <= bmax && flag == 0 && I >= btoll n=n+1; if fa*fx < -eps b = x; fb = fx; x = a +(b-a)/2; fx = f(x); I=(b-a)/2; elseif fx*fb < -eps a = x; fa = fx; x = a +(b-a)/2; fx = f(x); I=(b-a)/2; else flag = 1; end end out=x; return Grazie ![]()
__________________
Ho felicemente trattato con: Isomarcus, NLDomy, cipacci. ![]() Intel e2180 @ 3.1Ghz + Arctic Cooling Freezer 7 ~ MSI P35 Neo2-FR ~ Geil Black Dragon @ 970Mhz 4-4-4-12 ~ ASUS 8800GT 512Mb ~ OCZ StealthXtream 500W |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Feb 2008
Città: PoggibonZi
Messaggi: 140
|
nessuno?
![]()
__________________
Ho felicemente trattato con: Isomarcus, NLDomy, cipacci. ![]() Intel e2180 @ 3.1Ghz + Arctic Cooling Freezer 7 ~ MSI P35 Neo2-FR ~ Geil Black Dragon @ 970Mhz 4-4-4-12 ~ ASUS 8800GT 512Mb ~ OCZ StealthXtream 500W |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:24.