Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
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
- elementi al di sotto delladiagonale sono nulli.
- Considerando una matrice a componenti reali
- 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
- L’obiettivo “mosse elementari” o le “mosse di Gauss”:farlo si usano le
- • scambio di due righe;
- • moltiplicare una riga della matrice per uno scalare non nullo;
- • sostituire una riga della matrice con quella ottenuta sommando ad essa un multiploriga.di un’altra
- 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,
- Supponiamo, per semplicità, che 1,1 ≠0 ed eliminiamo il primo elemento della seconda riga :
- • 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: