Anteprima
Vedrai una selezione di 10 pagine su 179
Programma con esempi in MATLAB E FLOWCHART Pag. 1 Programma con esempi in MATLAB E FLOWCHART Pag. 2
Anteprima di 10 pagg. su 179.
Scarica il documento per vederlo tutto.
Programma con esempi in MATLAB E FLOWCHART Pag. 6
Anteprima di 10 pagg. su 179.
Scarica il documento per vederlo tutto.
Programma con esempi in MATLAB E FLOWCHART Pag. 11
Anteprima di 10 pagg. su 179.
Scarica il documento per vederlo tutto.
Programma con esempi in MATLAB E FLOWCHART Pag. 16
Anteprima di 10 pagg. su 179.
Scarica il documento per vederlo tutto.
Programma con esempi in MATLAB E FLOWCHART Pag. 21
Anteprima di 10 pagg. su 179.
Scarica il documento per vederlo tutto.
Programma con esempi in MATLAB E FLOWCHART Pag. 26
Anteprima di 10 pagg. su 179.
Scarica il documento per vederlo tutto.
Programma con esempi in MATLAB E FLOWCHART Pag. 31
Anteprima di 10 pagg. su 179.
Scarica il documento per vederlo tutto.
Programma con esempi in MATLAB E FLOWCHART Pag. 36
Anteprima di 10 pagg. su 179.
Scarica il documento per vederlo tutto.
Programma con esempi in MATLAB E FLOWCHART Pag. 41
1 su 179
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

CICLO FOR

Struttura: for variabile = espressione

Blocco di istruzioni

end

Esempio:

%Viene effettuata la somma dei primi dieci numeri

Altro esempio:

%i cicli for possono essere annidati, ne è un esempio la matrice triangolare inferiore

CICLO WHILE

È simile al for, la differenza sostanziale è che il numero di iterazioni non viene stabilito ma dipende da una condizione.

Struttura: while condizione

Blocco di istruzioni

end

Esempio:

%calcolo dei quadrati dei primi 10 numeri naturali

METODO DI BISEZIONE

Il metodo di bisezione consiste nel generare una serie di intervalli [a,b] contenenti la radice della funzione f(x). Utilizzando un punto intermedio c all'interno dell'intervallo, viene suddiviso in due sottocampi [a,c] e [b,c]. Individuando l'intervallo in cui la funzione cambia segno si associa ad esso il nuovo intervallo [a,b] da analizzare. In questo modo si genererà ad ogni iterazione un intervallo [a,b] più stringente dell'iterazione precedente nell'algoritmo.

[a,b] ha dimensioni tali da poter precedente. La convergenza avviene quando l'intervallo considerare il punto intermedio c punto di soluzione.

Esempio: bisezione con approssimazione e di errore e con coseno "run" del main. Ovviamente, si fa il qui si contano anche le iterazioni minimo di "bisezionecos.m". Qui si conta l'elemento.

Altro esempio: il cos(x). Qui c'è (indicata dalla lettera greca τ, In fisica ed ingegneria la costante di tempo tau) caratterizza la frequenza di risposta di un sistema dinamico lineare, in particolare di un sistema dinamico lineare stazionario. Essa è un parametro che caratterizza fortemente il fenomeno da cui dipende. Si è dato un fenomeno governato dall'equazione differenziale ordinaria: ( ) 1= - (f(t)-k)τ. La soluzione f è una funzione esponenziale, con base il numero di Nepero. Se il parametro t è tempo, si mostra che dopo il tempo 3τ le variazioni di f sono inferiori al 5%. Dopo un

tempo di circa 5τ, la funzione f può essere considerata praticamente costante, con variazioni che non superano lo 0.7%. In ambito fisico si suole allora dire che il sistema è a regime. Nel caso di un'evoluzione transitoria, la costante di tempo è spesso legata alla risposta del sistema studiato a una perturbazione istantanea ed è chiamata anche tempo di rilassamento. La costante di tempo caratterizza allora l'ordine di grandezza del tempo al termine del quale si raggiunge il nuovo equilibrio. La natura offre diversi esempi in cui, in prima approssimazione, valgono leggi descritte da equazioni differenziali come quella sopra. %aggiungendo il plot alla "bisezionecos.m" Sempre con il "run" del main si ha: Altro esempio: %con tan(x) e il plot "run" del main: Ovviamente si fa il Altro esempio: "feval", che permette di calcolare il valore di una funzione in un punto. LaIl tuo compito è formattare il testo fornito utilizzando tag html.

sua sintassi è: feval(nomedellafunzione, valore) e la funzione deveessere identificata con il suo nome e non con la sua espressione.

bisezione con feval e coseno“run” del main.

Dove è stato fatto sempre il Altrimenti si può scrivere così nel Command Window“bisezionefeval.m”:al di sotto di%invece, inserendo nel Command Window

f=inline(‘x^2-2’);

bisezionefeval(f,0,2,0.00000001) con e=0.00000001

si ha:

Esiste in Matlab una sintassi che permette di definire una funzione in modo simbolico. Talepotenzialità permette di manipolare agevolmente funzioni anche molto complesse e dipendenti dapiù parametri. Nella forma più semplice della sintassi, utilizziamo il comando inline, che”in linea”, ovvero direttamente nello spazio di lavoro, senza ricorrere ad undefinisce una funzionefile esterno.

La funzione f(x)=('x^2-3') è definita come: f=inline('x^2-3'), dove f è la funzione di x.

Adfunzione cos`ı definitauna non sono associati dei valori numerici (verificare con whos f).

cambiando i valori dell’esponente

cambiando i valori in parentesi

bisezione con feval e tangente

aggiungendo la variabile k

METODO DI NEWTON

Il metodo di Newton (o delle tangenti) genera una successione di punti a partire da un punto iniziale che dopo un certo numero di iterazioni converge ad un’approssimazione della radice della0 successivafunzione. Data una funzione f(x) a partire da viene calcolata l’approssimazione comedelle ascisse. Considerando l’equazione delintersezione della retta tangente a f(x) con l’assefascio di rette: ’(y - f( ) = m(x- ), posto y=0 e m=f ) ,0 0 0 0 ( 0)-1 1sarà pari a = ′( 0)

Terza funzione:

f(x)=cos(x)

Punto iniziale = 2.

funzione l’algoritmo esegue 4 iterazioni.

In quest’ultima

METODO DI NEWTON SEMPLIFICATO

Il metodo di Newton semplificato (o metodo della direzione costante) genera una successione di punti a

Partire da un punto iniziale 0 della radice della funzione. Quando, applicando ripetutamente che dopo un certo numero di iterazioni converge ad un'approssimazione la formula di Newton-Raphson, accade che la derivata prima della funzione f(x) si mantiene sensibilmente costante allora si può porre: M=f'(x). Per tale metodo si applica la formula seguente: ( )x = x -k+1 k La funzione iteratrice del metodo è: ( )g(x) = x-METODO DELLE SECANTIIl metodo di Newton nasce da un approccio semplificato alla risoluzione del problema base f(x)=0 della tangente come curvatramite dell'utilizzo approssimante la funzione da azzerare. Si supponga oradi conoscere il valore della f(x) in due punti distinti x0ɑ.e x sufficientemente prossimi alla soluzione1I due punti distinti x e x rispetto cui far passare la0 1retta interpolante q(x) non necessariamente debbonoɑ.contenere la soluzione Chiamata con q(x) la secante alla f(x) si ha:

  • q(x)=a x+a1 0
  • q(x )=f(x ), q(x )=f(x )0 0

1 1della secante assume la formula: q(x)= ( 1− ) ( 0)+( − 0) ( 1)L’equazione 1− 0delle ascisse nel punto x2:La secante interseca l’asse( )x2= x1- ( 1)− ( 0) 1− 0Si noti altresì che la formula delle secanti approssima la derivata presente nel metodo di Newton:( ) ( )− ( )−1)≈- , ovvero f’(x= n+1 ′( ) − −1“eps” è definito come il numero reale minimo positivo in modo tale che 1 + eps> 1 quando icalcoli vengono eseguiti in aritmetica a doppia precisione. Tuttavia, considerare i seguenti calcoli:>> 1+eps > 1ans =1>> 1+eps/2 >1 ans =0>> 1+eps/1.2 >1 ans =1IL METODO DI GAUSS lineare. Essa costituisce unL’eleminazione gaussiana è uno degli strumenti più utilizzati nell’algebran x mϵalgoritmo che ha come obiettivo quello di trasformare una matrice M R in una matricen x mϵtriangolare superiore M R , ovvero una matrice in cui gli

  1. elementi al di sotto delladiagonale sono nulli.
  2. Considerando una matrice a componenti reali
  3. 1,1 1,2 1, prima riga… RR n-esima riga1 n( ⋮A= ⋮ ⋱ )⋯,1 ,2 ,è annullare tutti i termini che si trovano al di sotto della diagonale principale e per
  4. L’obiettivo “mosse elementari” o le “mosse di Gauss”:farlo si usano le
  5. • scambio di due righe;
  6. • moltiplicare una riga della matrice per uno scalare non nullo;
  7. • sostituire una riga della matrice con quella ottenuta sommando ad essa un multiploriga.di un’altra
  8. Il primo obiettivo è quello di annullare tutti i termini al di sotto di , quindi ci assicuriamo che1,1se è uguale a 0 si cambia tale riga con una in cui il primo elemento sia diverso da 0.1,1≠0,
  9. Supponiamo, per semplicità, che 1,1 ≠0 ed eliminiamo il primo elemento della seconda riga :
  10. • se =0 lasciamo così come è la seconda riga e cancelliamo il primo elemento della terza

riga;2,1• sostituiamo la seconda riga con la differenza tra essa e la prima riga moltiplicata2,1≠0seper il coefficiente 2,11,1 (1) 2,1= −2 2 11,12,1(1) otterremo la matrice:

Così facendo la nuova seconda riga avrà come primo elemento =0 ed al primo passo dell’algoritmo⋯1,1 1,2 1,(1) 2,1(1) (1))(A = 0 ⋱ 2,⋯,1 ,2 ,

Una volta annullati tutti i termini della prima colonna eccezione fatta per il primo elemento, si devono annullare tutti gli elementi al di sotto di . Si ripete lo stesso ragionamento2,2utilizzando la formula: con i=3,…,n= (1) − ,2(2) (1)22,2con la quale verranno eliminati tutti i termini sotto l’elemento (1).2,1Il processo deve essere ripetuto cosicché tutti i termini al di sotto della diagonale principalesiano nulli.

Esempio:%con la matrice A%aggiungendo anche il vettore b

VARIABILI NARGIN E NARGOUTNel corpo di una funzione nargin e nargout indicano, rispettivamente, quanti argomenti sono indotazione in ingresso

Il tuo compito è formattare il testo fornito utilizzando tag html.

ATTENZIONE: non modificare il testo in altro modo, NON aggiungere commenti, NON utilizzare tag h1;

o in uscita. Quindi al di fuori del corpo di una funzione, nargin e nargoutindicano, rispettivamente, il numero di argomenti di ingresso o di uscita per una data funzione.Il numero degli argomenti è negativo se la funzione ha un numero variabile di argomenti.

  • nargin restituisce il numero di argomenti di input specificato in una funzione;
  • nargout restituisce il numero di argomenti di output specificato in una funzione.

Esempio:

Altro esempio:

FUNZIONI E SCRIPT

In MATLAB è possibile definire file contenenti istruzioni da eseguire e salvabili come file.m .

Essi possono essere:

  • script: file di comandi che non hanno parametri di input/output ma solo un insieme di operazioni da eseguire sul Workspace;
  • funzioni: accettano parametri di input, li elaborano e restituiscono un risultato ovvero parametri di output.

SCRIPT

%esempio di file di script
%esempio di file di script
%esempio di file di script

FUNZIONI

Data in input una matrice X, è possibile

calcolare il quadrato dei suoi elementi termine a termine:

esempio funzione

• Data in input una matrice X, è possibile calcolare la radice quadrata dei suoi elementi e depositare il risultato nella matrice Y nel seguente modo:

Dettagli
A.A. 2017-2018
179 pagine
SSD Scienze matematiche e informatiche MAT/08 Analisi numerica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher melissa.meli.1997.21.06 di informazioni apprese con la frequenza delle lezioni di Calcolo numerico e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Bari o del prof Satriano Antonio.