Benvenuto in MatLab
Cosa intendi con
non parte il run del seguente script ...
quando faccio run non fa nulla, non da errori ne mi da x non capisco come mai
In realtà lo script "parte" e fa tanto (tantissimo); in particolare entra nel ciclo
while e non ne esce più perchè nello script c'è un "baco" fondamentale, ma molto semplice da individuare.
Non "vedi" niente (a schermo - nella Command Window) perchè all'ìinterno del ciclo "while" non ci sono istruzioni che stampino qualcosa a video (es.
disp) e tutte le istruzioni terminano con "
;" (se cancelli ";" il valore dell'espressione viene scritto a schermo).
Se cancelli i ";" vedrai che "qualcosa" viene scritto (... dopo un po' premi "Ctrl+C ...).
Prova ad aggiunge prima dell'istruzione
while abs(a-b)>0.0000001
k=0
Inserisci, poi, prima dell'istruzione
x=(a+b)/2 l'struzione (senza ";")
k=k+1
Cosa succede?
Lo script "fa qualcosa"?
Per scoprire il baco, prova a "debuggare" lo script ed a vedere quali valori assumono le variabili.
Comincia a mettere un breakpoint all'istruzione
x=(a+b)/2; e poi esegui il codice una riga alla volta (premi F10).
Cosa succede?
Che valori assumono le variabili "x" e "f" al termine di ogni iterazione?
Quali sono le condizioni che consentono di "uscire" dal ciclo while?
Perchè queste condizioni non si verificano?
Fammi sapere se sei riuscito a trovare il baco o se hai bisogno di ulteriori informazioni (visto che hai cominciato da poco a programmare in MatLab, è importante che tu accumuli esperienza anche nella ricerca degli errori e nell'uso del debug).
Hope this helps.