x = input('inserisci x: '); fx = 1 for ii = 1 : x fx = fx * ii; end if (fx > 220) y = input('inserisci y: '); fy = 1 for ii = 1 : y fy = fy * ii; end

Documenti analoghi
x = input('inserisci x: '); fx = 1 for ii = 1 : x fx = fx * ii; end if (fx > 220) y = input('inserisci y: '); fy = 1 for ii = 1 : y fy = fy * ii; end

x = input('inserisci x: '); fx = 1 for ii = 1 : x fx = fx * ii; end if (fx > 220) y = input('inserisci y: '); fy = 1 for ii = 1 : y fy = fy * ii; end

x = input('inserisci x: '); fx = 1 for ii = 1 : x fx = fx * ii; end if (fx > 220) y = input('inserisci y: '); fy = 1 for ii = 1 : y fy = fy * ii; end

% per essere certi che a <= b a = min(interval); b = max(interval);

samplepolynomial interval polycoeff

Matlab: Funzioni. Informatica B AA 17/18 Luca Cassano 22 Novembre Informatica B, AA 17/18, Luca Cassano

studente = struct('nome', 'Giovanni', 'eta', 24) studente.nome = 'Giovanni'; studente.eta = 24;

studente = struct('nome', 'Giovanni', 'eta', 24) studente.nome = 'Giovanni'; studente.eta = 24;

Diagrammi 2D e 3D Funzioni di ordine superiore

Strutture e Funzioni Built In

Strutture e Funzioni Built-In

v indx v t v indx. v >0 v

Strutture e Funzioni Built In

Strutture di controllo condizionali in Matlab

Sottoprogrammi Diagrammi in MATLAB

UD6 - MATLAB. Gestione della grafica

Matlab: Funzioni. Informatica B. Daniele Loiacono

Matlab: funzioni. Daniele Loiacono, Vittorio Zaccaria

Laboratorio di Matlab

CORSO DI LAUREA IN INGEGNERIA ELETTRICA

Matlab: Strutture di Controllo. Informatica B

Strumenti per il calcolo numerico Matlab/Octave

Laboratorio didattico di matematica computazionale

Strumenti per il calcolo numerico Matlab/Octave

MATLAB - Programmazione - 2. Antonino Polimeno

Prove d esame Esercizi con Matlab

Laboratorio di Matlab

Introduzione a Matlab

Facoltà di Ingegneria Industriale. Matlab/Octave - Esercitazione 3

Laboratorio didattico di matematica computazionale

ESERCIZIO 1. Informatica B - Esercitazione 10

Fondamenti di Informatica 1 - Compito A

1 (7) 2 (6) 3 (6) 4 (7) 5 (6)

MATLAB (3) - Grafica 2 e 3D

Matlab: Script e Funzioni

Esercitazione 2. Prima parte

MATLAB Funzioni grafiche Salvataggio/recupero dati da file

Visualizzazione di dati

CORSO DI LABORATORIO DI INFORMATICA

» max(x)» min(x) Se si vogliono conoscere anche le posizioni del massimo e del minimo, la sintassi è la seguente

Esercizi scalari. 10*10^6 + 3; (Usare la notazione esponenziale) coseno(30 ) - seno(pi greco/2) + pi greco /6 (0.3896)

Grafici in matlab. Un esempio di grafico: xv = 3:0.1:3; yv = xv.^3 5*xv.^2 + 4; plot(xv,yv) xlabel('value of x') ylabel('value of y')

Matlab. Cristina Falcinelli, PhD

Ciclo di seminari: Metodi Computazionali per la Finanza

Introduzione a Matlab e Simulink. Autore: Simone Ciotti, Centro di Ricerca E.Piaggio, UNIPI

Matlab: Variabili e Array. Informatica B

Fondamenti di Informatica A.A. 2016/17

Selection Sort (minsort)

Page Rank. Guerra Stefano. 1. DESCRIZIONE DEL PROBLEMA "Page Rank" 2. DESCRIZIONE DELL ALGORITMO. Pagina 2

Università degli Studi di Ferrara

Grafici tridimensionali

Esercitazione #0. Introduzione a MatLab

Tutorial. Introduzione a Matlab

Tutorato per il corso di Analisi Matematica II

Abbiamo inoltre visto come tracciare grafici di superfici su spazio cartesiano con la funzione mesh:

ESERCITAZIONE MATLAB

Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A

Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.

Matlab: introduzione

Corso di Laurea in Ingegneria Energetica POLINOMI IN MATLAB. Bologna, 13 marzo Fondamenti di Informatica L a.a

% Scrivere un programma che inizializza un vettore monodimensionale di interi a = [ ]

Esercizi MatLab. Alessandro Benfenati. Ph.D Student.

1 LABORATORIO DI SEGNALI E SISTEMI: INTRODUZIONE A MATLAB. Tagliavini Alessia 30/04/2014

Forme canoniche. Si consideri il seguente sistema dinamico SISO caratterizzato dalle matrici A R n n, b R n 1, c R 1 n e d 0 R: (1)

13 Ricorsione con MATLAB

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 2 - Introduzione a MATLAB

INTRODUZIONE A MATLAB

INTRODUZIONE A MATLAB

Introduzione a Matlab Costruzione di Macchine 2 Prof. Sergio Baragetti

LB5 FUNZIONI cap. 7 del testo

Lezioni su MATLAB. Ingegneria Civile/Meccanica

Corso di Elaborazione Numerica dei Segnali Esame del 25 gennaio 2002

INTRODUZIONE A MATLAB Matrix Laboratory

Fondamenti di Informatica

MATLAB Alcune funzioni utili: fprintf, length, size

Progettazione di Algoritmi: Approccio Top-Down e Bottom Up

13 Esercizi di Riepilogo

Introduzione a MATLAB. Fabio Rossi fabio.rossi@sssup.it

Calcolo Numerico I - a.a Laboratorio 3 - Introduzione a MATLAB

Laboratorio di Matematica Computazionale A.A Lab. 8

Università degli Studi di Bergamo Matematica II (5 e 7,5 crediti) 18 febbraio 2010 Tema A

Informatica per Scienze Geologiche LT a.a

Le funzioni in C++ Fondamenti di Informatica. R. Basili. a.a

Analisi Matematica II Corso di Matlab

Vettori e Matrici. Corso di Calcolo Numerico. 24 Aprile 2018

MATLAB: Strutture di controllo. Informatica B Prof. A. Morzenti

RETI DI TELECOMUNICAZIONE

Calcolo Numerico. Esercitazioni (A.A ) Lezione n. 16 Approssimazione

Uso avanzato di MATLAB

Che risultato si ottiene al termine dell esecuzione del seguente frammento di codice?

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Funzioni

11 Funzioni MATLAB. dove. output1, output2,.. sono gli output (opzionali), che, se dichiarati, devono essere inizializzati dalla funzione

Esercitazione 3. Esercizio 1 (smoothing spline)

Introduzione al MATLAB

Corso di Fondamenti di Programmazione canale E-O. Un esempio. Funzioni ricorsive. La ricorsione

%Esercizio 1 Risoluzione di un sistema lineare con parametro

Introduzione all ambiente MATLAB

ESERCIZIO 1. Informatica B - Esercitazione 14

Introduzione a Matlab Parte 1

Transcript:

x = input('inserisci x: '); fx = 1 for ii = 1 : x fx = fx * ii; if (fx > 220) y = input('inserisci y: '); fy = 1 for ii = 1 : y fy = fy * ii;

x = input('inserisci x: '); fx = 1 for ii = 1 : x fx = fx * ii; if (fx > 220) y = input('inserisci y: '); fy = 1 for ii = 1 : y fy = fy * ii;

x = input('inserisci x: '); fx=1 for ii=1:x fx = fx*ii if (fx>220) y = input('inserisci y: '); fy=1 for ii=1:y fy = fy*ii f=1 for ii=1:n f = f*ii

x = input('inserisci x: '); n=x fattoriale fx=f if (fx>220) y = input('inserisci y: '); n=y fattoriale fy=f f=1 for ii=1:n f = f*ii

x = input('inserisci x: '); n=x fattoriale fx=f if (fx>220) y = input('inserisci y: '); n=y fattoriale fy=f f=1 for ii=1:n f = f*ii

n=x fattoriale fx=f f=1 for ii=1:n f = f*ii

function f=fattoriale(n) f=1 for ii=1:n f = f*ii

function f(x,y) function [v1,v2, ] = f(x,y) function [s, p] = sumprod(a, b) s = a + b; p = a * b;

function [out1,.., outm] = nomefunzione(in1,.., inn) in1,.., inn out1,.., outn function [out1,.., outm] out1,.., outm

x = input('inserisci x:'); fx = fattoriale(x); if (fx>220) y = input('inserisci y: '); fy = fattoriale(y); function f=fattoriale(n) f=1 for ii=1:n f = f*ii

function f=fattoriale(n) f = 1; for ii=1:n f = f*ii; >> fat5 = fattoriale(5) %Invocazione fat5 = 120

function [s,p]=sumprod(a,b) s=a+b; p=a*b;

function [s,p]=sumprod(a,b) s=a+b; p=a*b;

(1) >> x=3; (2) >> w=2; (3) >> r = funz(4); function y = funz(x) y = 2*x; %(1 ) x = 0; %(2 ) z = 4; %(3 )

(1) >> x=3; (2) >> w=2; (3) >> r = funz(4); function y = funz(x) y = 2*x; %(1 ) x = 0; %(2 ) z = 4; %(3 ) x = w - 1; %(4 )

s = sommaprod(5,2) s

function [minore, maggiore] = minmax(a,b,c) maggiore = a; if maggiore < b maggiore = b; if maggiore < c maggiore = c; minore = a; if minore > b minore = b; if minore > c minore = c;

function [positivi, media] = mediapositivi(vett) somma = 0; cnt = 0; positivi = []; for ii = 1 : length(vett) if vett(ii) > 0 positivi = [positivi, vett(ii)]; somma = somma + vett(ii); cnt = cnt + 1; if cnt > 0 media = somma / cnt;

function [positivi, media] = mediapositivi(vett) somma = 0; cnt = 0; positivi = []; for ii = 1 : length(vett) if vett(ii) > 0 positivi = [positivi, vett(ii)]; somma = somma + vett(ii); cnt = cnt + 1; if cnt > 0 media = somma / cnt;

function [positivi, media] = mediapositivi(vett) somma = 0; cnt = 0; positivi = []; for ii = 1 : length(vett) if vett(ii) > 0 positivi = [positivi, vett(ii)]; somma = somma + vett(ii); cnt = cnt + 1; if cnt > 0 media = somma / cnt; else media = [];

function [s,p]=sumprod(a,b) s=a+b; p=a*b;

function [t]=trasposta(m) [r,c]=size(m); for ii=1:r for j=1:c t(j,ii)=m(ii,j); ; >> m =[1,2,3,4 5,6,7,8 9,10,11,12] m = 1 2 3 4 5 6 7 8 9 10 11 12 >> trasposta(m) ans = 1 5 9 2 6 10 3 7 11 4 8 12

y = mx + q m, q

m, q y = mx + q function [yy] = retta(m, q, xx) yy = m * xx + q; % for ii = 1 : length(xx) % yy(ii) = m * xx(ii) + q; %

x = [-1 : 0.1 : 1]; % invoco la funzione per plottare y = 3x +2 y = retta(3,2,x) figure plot(x,y, 'b*') % disegno con le stelline axis equal % assi della stessa dimensione plot(x,y, 'b-'), %disegno con una retta grid on % aggingo aggiungo la griglia plot(x,y, 'b-', 'LineWidth', 3), axis equal, grid on plot(x,y, 'b--', 'LineWidth', 5), axis equal, grid on plot(x,y, 'b-.', 'LineWidth', 5), axis equal, grid on title('la mia prima retta', 'FontSize', 24) xlabel('ascisse', 'FontSize', 24) ylabel('ordinate', 'FontSize', 24)

F(0) = 0 F(1) = 1 F(n) = F(n 1) + F(n 2), n > 1

F(0) = 0 F(1) = 1 F(n) = F(n 1) + F(n 2), n > 1 function F = fibonacci(n) % function F = fibonacci(n) % % resituisce un vettore (F) contenente i primi n numeri di fibonacci F = [0, 1]; for indx = [3 : 1 : n] F(indx) = F(indx - 1) + F(indx - 2);

function [n] = inserisciinteropositivo() % richiede all'utente di inserire un numero e contiuna finchè questo non è intero e positivo restituisce l'intero positivo inserito function [perf, abb] = calcolaseperfetto(n) % perf = 1 se n è perfetto, abb = 1 se n NON perfetto e abbondante, abb = 0 se n NON perfetto e difettivo function [s] = calcolasommadivisori(n) % s somma dei divisori di n (escluso n) function [res] = calcolaseamici(a, b) % res = 1 se a e b sono amici, 0 altrimenti

arr - 43 -

- 44 -

- 45 -

function [minore, maggiore] = minmax(a,b,c) minore = a; maggiore = a; if minore < b minore = b; if maggiore > b maggiore = b; if minore < c minore = c; if maggiore > c maggiore = c;

function [minore, maggiore] = minmax(a,b,c) minore = min ([a,b,c]); maggiore = max([a,b,c]);

min max) >> b = [4 7 2 6 5] b = 4 7 2 6 5 >> min(b) ans = 2 >> [x y]=min(b) x = 2 y = 3 >> >> a = [24 28 21; 32 25 27; 30 33 31; 22 29 26] a = 24 28 21 32 25 27 30 33 31 22 29 26 >> min(a) ans = 22 25 21 >> [x y]=min(a) x = 22 25 21 y = 4 2 1 >>

function k = fattoriale2(n) k = prod([n : -1 : 1]);

length(v), size(a) size(a, dim) length max(size(a))

Nome all(x) Elemento restituito un vettore riga, con lo stesso numero di colonne della matrice x, che contiene 1, se la corrispondente colonna di x contiene tutti elementi non nulli, o 0 altrimenti. Se x è un vettore restituisce 0 o 1 con lo stesso criterio. any(x) un vettore riga, con lo stesso numero di colonne della matarice x, che contiene 1, se la corrispondente colonna di x contiene almeno un elemento non nullo, o 0 altrimenti. Se x è un vettore restituisce 0 o 1 con lo stesso criterio. isinf(x) isempty(x) isnan(x) finite(x) ischar(x) isnumeric(x) isreal(x) un array delle stesse dimensioni di x con 1 dove gli elementi di x sono inf, 0 altrove 1 se x è vuoto, 0 altrimenti un array delle stesse dimensioni di x con 1 dove gli elementi di x sono NaN, 0 altrove un array delle stesse dimensioni di x, con 1 dove gli elementi di x sono finiti, 0 altrove 1 se x è di tipo char, 0 altrimenti 1 se x è di tipo double, 0 altrimenti 1 se x ha solo elementi con parte immaginaria nulla, 0 altrimenti

plot(x,y) plot plot(x,y) x y xlabel ylabel title

>> x = -10:0.1:10; >> y=x.^3; >> plot(x,y); >> xlabel('ascisse'); >> ylabel('ordinate'); >> title('cubica'); >> x=[-8:0.1:8]; >> y= sin (x)./ x; >> plot(x, y); >> xlabel('ascisse'); >> ylabel('ordinate'); 1000 800 600 400 cubica 1 0.8 0.6 ordinate 200 0-200 ordinate 0.4 0.2-400 0-600 -800-0.2-1000 -10-8 -6-4 -2 0 2 4 6 8 10 ascisse -0.4-8 -6-4 -2 0 2 4 6 8 ascisse

plot(x,y) x y x. x y >> t=[0:pi/100:2*pi]; >> x=cos(t); >> y=sin(t); >> plot(x,y); >> xlabel('ascisse-x'); >> ylabel('ordinate-y'); >> t=[0:pi/100:10*pi]; >> x=t.* cos(t); >> y=t.* sin(t); >> plot(x,y); >> xlabel('ascisse-x'); >> ylabel('ordinate-y');

1 30 0.8 0.6 20 0.4 10 0.2 ordinate-y 0 ordinate-y 0-0.2-10 -0.4-0.6-20 -0.8-1 -1-0.8-0.6-0.4-0.2 0 0.2 0.4 0.6 0.8 1 ascisse-x >> t=[0:pi/100:2*pi]; >> x=cos(t); >> y=sin(t); >> plot(x,y); >> xlabel('ascisse-x'); >> ylabel('ordinate-y'); -30-30 -20-10 0 10 20 30 40 ascisse-x >> t=[0:pi/100:10*pi]; >> x=t.* cos(t); >> y=t.* sin(t); >> plot(x,y); >> xlabel('ascisse-x'); >> ylabel('ordinate-y');

y = C 1 x n 1 + C 2 x n 2 + + C n 1 x 1 + C(n) y = x 1; y = 2 x 2 + x 12; y = 0.1x 3 + 2 x 2 10 x 12

function [xx, yy] = samplepolynomial(polycoeff, interval) % determina 100 nell'intervallo interval % appartenenti al polinomio avente coefficienti polycoeff % per essere certi che a <= b a = min(interval); b = max(interval); xx = [a : (b-a) / 100 : b]; % oppure xx = linspace(a, b, 100) yy = zeros(size(xx)); for ii = 1 : 1 : length(polycoeff) yy = yy + polycoeff(ii) * xx.^(length(polycoeff) - ii);

interval = [-10, 10]; rettacoeffs = [1,-1]; parabolacoeffs = [ 2, 1, -12] ; cubicacoeffs = [-0.1, 2,-10, -12]; % calcola i valori dei polinomi [rx,ry] = samplepolynomial(rettacoeffs, interval); [px,py] = samplepolynomial(parabolacoeffs, interval); [cx,cy] = samplepolynomial(cubicacoeffs, interval); % determina i punti ad ordinata maggiore per ogni ascissa indx_r = find(ry > py & ry > cy); indx_p = find(py > ry & py > cy); indx_c = find(cy > py & cy > ry);

%plot polynomials figure(2), plot(rx, ry, 'k-'); hold on plot(px, py, 'b-') plot(cx, cy, 'r-') % disegna il punto ad ordinata maggiore per ogni curva plot(rx(indx_r), ry(indx_r), 'ro', 'LineWidth', 2); leg('retta', 'parabola', 'cubica', 'maggiore') plot(px(indx_p), py(indx_p), 'ro', 'LineWidth', 2); plot(cx(indx_c), cy(indx_c), 'ro', 'LineWidth', 2); hold off

plot3(x,y,z) y z xlabel, ylabel, zlabel, title x >> t = 0:0.1:10*pi; >> plot3 (t.*sin(t), t.*cos(t), t); >> xlabel('ascisse'); >> ylabel('ordinate'); >> zlabel('quote'); quote 40 30 20 10 0 40 20 0 ordinate -20-40 -40-20 0 ascisse 20 40

mesh(xx,yy,zz) xx yy zz xx yy zz

meshgrid(x,y) [xx,yy]= meshgrid(x,y) x y xx yy y xx yy x

(1,2) (3,2) (5,2) (1,4) (3,4) (5,4) 9 8 7 6 (1,2,3) (3,2,5) (5,2,7) (1,4,5) (3,4,7) (5,4,9) (NB: z=x+y) 5 4 3 4 3.5 5 3 ordinate-y 2.5 2 1 2 3 ascisse-x 4

>> x=[1:1:3]; >> y=x; >> [xx,yy]=meshgrid(x,y); >> zz=xx+yy; >> mesh(xx,yy,zz); >> xlabel('x'); >> ylabel('y'); >> zlabel('z'); z 6 5 4 3 2 3 2.5 2 y 1.5 1 1 1.5 x 2 2.5 3 >> x=[-4:0.05:4]; >> y=x; >> [xx,yy]=meshgrid(x,y); >> zz=xx.^ 2 + yy.^ 2; >> mesh(xx,yy,zz); >> xlabel('ascisse-x'); >> ylabel('ordinate-y'); >> zlabel('quote-z');

hold on hold off z = x2 ቊ y = 0 figure, mesh(xx, yy, zz) hold on % aggiunge una linea rossa con uno spessore di 5 plot3(x, zeros(size(x)), x.^2, 'r-', 'LineWidth', 5); hold off x=[-4:0.05:4];

>> tx=[-8:0.1:8]; >> ty=tx; >> [xx, yy] = meshgrid (tx, ty); >> r = sqrt (xx.^ 2 + yy.^ 2); >> tz = sin (r)./ r; >> mesh (xx, yy, tz); >> xlabel('ascisse'); >> ylabel('ordinate'); >> zlabel('quote');

if('cane'== 'canguro') disp('uguali') else disp('diverse') End if strcmp('cane','canguro') disp('uguali') else disp('diverse')

function [p,m]=cercamultiplo(v, a) for k = 1 : length(a) if mod(a(k), v)==0 p=k; m=a(k); return; %si restituisce il primo multiplo incontrato % evita ulteriori inutili calcoli ; ; p=0; m=0; %eseguite solo se non trovato alcun multiplo