Integrale di Riemann. Somme inferiori= Somme Superiori=4.800

Documenti analoghi
Gnuplot: opzioni di funzionamento

Introduzione ad Gnuplot versione 1


% gnuplot. comp.graphics.apps.gnuplot.

Strumenti freeware/open source per l'insegnamento delle discipline scientifiche

Guida rapida nella grafica scientifica con GNUplot. , con w = x + iy.

Uso dei calcolatori in Fisica

Physical computing: imparare e divertirsi in laboratorio con Arduino, materiali a basso costo e software libero.

Esercitazione. Laboratorio di Informatica. Nota: approssimazione per arrotondamento. Esempio. Uso di file di comandi (Macro) Dr Carlo Meneghini

Federico Lastaria. Analisi e Geometria 2. Integrali multipli. Cambi di variabili. 1/21

Laboratorio di Python (con Linux)

Corso di Laurea in Ingegneria Edile Anno Accademico 2013/2014 Analisi Matematica

Esercitazione Numpy e Plotting. Programmazione Orientata agli Oggetti e Scripting in Python

Appunti sul corso di Complementi di Matematica- modulo Analisi Prof. B.Bacchelli

ed é dato, per P (t) una qualsiasi parametrizzazione di cui sopra, da

Strutture di controllo in C++

Integrali multipli - Esercizi svolti

Determinare estremo superiore ed estremo inferiore dell insieme ( 1) n A = n + 1 : n IN

Array. Maurizio Palesi Salvatore Serrano. In C si possono definire tipi strutturati Vi sono due costruttori fondamentali

Esercizi Python. Corso di Bioinformatica 2012

quando il limite delle somme di Riemann esiste. In tal caso diciamo che la funzione è integrabile sul rettangolo.

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

Python. Valerio Perticone

Capitolo Sedicesimo CENNO SULLE SUPERFICI

COGNOME... NOME... Matricola... Corso Prof... Esame di ANALISI MATEMATICA II - 25 Giugno 2007

Meccanismi di incremento della finestra

Scilab: La Grafica. Corso di Informatica CdL: Chimica. Claudia d'amato.

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

Curve e lunghezza di una curva

Laboratorio di Python

AA LA RICORSIONE

ANALISI VETTORIALE ESERCIZI SULLE SUPERFICI

ISTRUZIONI VELOCI DI PYTHON Versione (manuale realizzato con Google Documenti)

Corso di Fondamenti di Informatica

Si può scrivere un programma anche utilizzando un editor di testo (Blocco Note, WordPad, ) ricordandosi comunque di salvarlo con l estensione.py.

Corso di Linguaggi di Programmazione

Laurea triennale in Informatica Corso di Analisi matematica (A) a.a. 2007/08 9 giugno 2008

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132

Montegrotto Terme 25 luglio 2014 Vincenza Fico Docente di Matematica e Fisica -Liceo Scientifico Rummo di Benevento

Curve e integrali curvilinei: esercizi svolti

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.

R. Capone Analisi Matematica Integrali multipli

Prove d esame Esercizi con Matlab

LA DISTRIBUZIONE NORMALE

Un piccolo esempio: script

Università degli Studi di Salerno - Facoltà di Ingegneria Matematica II - Prova Scritta - 09/06/2006

Cosa vuol dire misurare l'area di una figura piana a contorno curvilineo?

Reti di telecomunicazioni LS Guida agli esercizi TCP con NSCRIPT

Laboratorio di Python

Esempi di Problemi Iterativi

Calcolo rapido dei Numeri di Fibonacci con il linguaggio Python

Studio di funzione. Tutti i diritti sono riservati. E vietata la riproduzione, anche parziale, senza il consenso dell autore. Funzioni elementari 2

Quando usiamo Python in modo interattivo in genere e' lo shell utilizzato che gestisce l'indentazione e la deindentazione.

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione:

Esercizi di Analisi 2. Nicola Fusco (Dipartimento di Matematica e Applicazioni, Università Federico II, Napoli) 1. Successioni e Serie di Funzioni

INTERI (int, non-mutable) INDICE

Calcolare il massimo di una lista

Laboratorio di Python

Esempi di Problemi Iterativi

Un semplice programma per simulare il lancio di dadi. Luca Baldini, INFN - Pisa versione 1.0

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

UD6 - MATLAB. Gestione della grafica

Capitolo 16 Esercizi sugli integrali doppi

Laboratorio 2. Calcolo simbolico, limiti e derivate. Metodo di Newton.

f df(p 0 ) lim = 0 f(x, y) dxdy =

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Calcolo integrale in più variabili

FUNZIONI CONTINUE. funzioni di una variabile: def : Una funzione f(x) definita in un insieme D R si dice continua in un punto c D se risulta.

Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output

Strutture Dinamiche. Fondamenti di Informatica

PYTHON CHEAT SHEET. Rapido documentazione di consultazione per istruzioni, funzioni e tipi in Python. #stampa le variabili x e y

DOMINIO di FUNZIONI. PREREQUISITI: Grafici delle funzioni elementari. Calcolo di EQUAZIONI e DISEQUAZIONI, intere e fratte.

Le strutture di controllo in C++

Istruzioni iterative (o cicliche)

Le funzioni periodiche e il ritmo della vita Molti fenomeni naturali hanno un andamento ciclico ( o periodico), cioè ad intervalli di tempo fissati,

Problema del cammino minimo

while Istruzione while Cicli ed iterazioni Istruzioni di ripetizione in C Comportamento del while

Quesiti di Analisi Matematica A

Elementi di grafica raster

Indice generale Prefazione...xiii Capitolo 1 Introduzione...1 Capitolo 2 Sviluppo del software, tipi di dati ed espressioni...31

Indice. P Preliminari 3. 1 Limiti e continuità 59

Esercitazione 3. Espressioni booleane I comandi if-else e while

Laboratorio di Python

Algoritmi di Ricerca. Esempi di programmi Java

Matematica. Imparare le moltiplicazioni per multipli di 10 e 100. Risposte. Nome:

Prima prova di verifica in itinere di ANALISI MATEMATICA II. 12 Marzo 2008 Compito A. 1 (punti 3)

Ingegneria degli Algoritmi (II parte pratica)

Tipologia delle funzioni studiate: 1. y= ax n + bx n y= e x 3. y= (ax + b)/ (cx + d) 4. y= (ax 2 + b) (cx + d)

Analisi 2. Argomenti. Raffaele D. Facendola

Esercitazione C. 1 Esercizi ed esperimenti pratici proposti

Rudimenti di Python. senza rodimenti di Python

Appunti sul corso di Complementi di Matematica (modulo Analisi)

Esercitazione del 06/03/2012 Istituzioni di Calcolo delle Probabilità

Programmazione multi threaded in Python. Linguaggi dinamici A.A. 2010/2011 1

Calcolo Numerico con elementi di programmazione

CLASSE 5^ C LICEO SCIENTIFICO 12 Gennaio 2015 Studio di funzioni e continuità (Recupero per assenti) lim ++ =

Ingegneria Elettronica, Informatica e delle Telecomunicazioni Prova scritta di ANALISI B - 06/04/2006

Esercizi per la prova in itinere (con soluzioni)

Esercizi Programmazione I

Indice. P Preliminari 3. 1 Limiti e continuità 61. P.7 Funzioni trigonometriche 47. Per lo studente Ringraziamenti

Transcript:

Integrale di Riemann Nelle seguenti figure è rappresentato il grafico della funzione f(x, y) = x 2 y 2 +1. Nella prima figura, assieme al grafico è rappresentata una somma inferiore di Riemann mentre nella seconda figura una somma superiore. Infine nella terza figura è rappresentato il volume sotteso dal grafico. La misura del volume è data dall integrale doppio della funzione. Somme inferiori=3.200 X Y Somme Superiori=4.800 X Y 1

Integrale = 4 Y X I grafici sono stati ottenuti con il seguente programma in Python (http://www.python.it/). Occorre avere installato anche il pacchetto gnuplot.py (http://gnuplot-py.sourceforge.net/). Eseguendo il programma si possono visualizzare somme di Riemann superiori e inferiori relative a diverse partizioni del dominio. #! /usr/bin/env python # -*- coding: utf-8 -*- # import math import Gnuplot, Gnuplot.funcutils import cmath import numpy # inizializza il grafico e fissa la lunghezza # degli assi e le proporzioni g = Gnuplot.Gnuplot() g( set xrange [-1:1] ) g( set yrange [-1:1] ) g( set zrange [0:2] ) g( set isosamples 30,30 ) g( set urange [-1:1] ) g( set vrange [-1:1] ) g( unset xtics; unset ytics; unset ztics ) g( unset key; set hidden3d ) g( set parametric ) g( set terminal wxt font "LMSans12" ) g( set termoption enhanced ) g( set data style lines ) 2

g( set xlabel "X" font "LMMathItalic7" ) g( set ylabel "Y" font "LMMathItalic7" ) # definisce la funzione da integrare # # definizione per gnuplot g( f(u,v) = u**2 - v **2 + 1 ) Comando_gnuplot = "u,v,f(u,v)" # definizione per python def f(x,y): return x * x - y * y + 1 # definisce la griglia while True: a = float(-1) b = float(1) c = float(-1) d = float(1) n = 4 m = 4 n = input("numero intervalli sell asse X (0 per fermare il ciclo): ") if n < 1: break m = input("numero intervalli sell asse Y: ") xstep = (b - a) / n ystep = (d - c) / m xgrid = numpy.linspace(a,b,n+1) ygrid = numpy.linspace(c,d,m+1) # Calcola i minimi della funzione F = numpy.zeros((n,m),float) F[i,j] = min(f(xgrid[i],ygrid[j]),\ f(xgrid[i+1],ygrid[j]),\ f(xgrid[i],ygrid[j+1]),\ f(xgrid[i+1],ygrid[j+1])) # Calcola i massimi della funzione G = numpy.zeros((n,m),float) G[i,j] = max(f(xgrid[i],ygrid[j]),\ 3

f(xgrid[i+1],ygrid[j]),\ f(xgrid[i],ygrid[j+1]),\ f(xgrid[i+1],ygrid[j+1])) # Grafico delle somme inferiori A = numpy.zeros((2*m,2*n,3),float) A[2 * j,2 * i,:] = numpy.array([xgrid[i],ygrid[j],f[i,j]]) A[2 * j,2 * i+1,:] = numpy.array([xgrid[i+1],ygrid[j],f[i,j]]) A[2 * j +1,2 * i,:] = numpy.array([xgrid[i],ygrid[j+1],f[i,j]]) A[2 * j +1,2 * i+1,:] = numpy.array([xgrid[i+1],ygrid[j+1],f[i,j]]) # Somme inferiori Somma_inf = F.sum() * xstep * ystep # Grafico delle somme superiori B = numpy.zeros((2*m,2*n,3),float) B[2 * j,2 * i,:] = numpy.array([xgrid[i],ygrid[j],g[i,j]]) B[2 * j,2 * i+1,:] = numpy.array([xgrid[i+1],ygrid[j],g[i,j]]) B[2 * j +1,2 * i,:] = numpy.array([xgrid[i],ygrid[j+1],g[i,j]]) B[2 * j +1,2 * i+1,:] = numpy.array([xgrid[i+1],ygrid[j+1],g[i,j]]) # Somme superiori Somma_sup = G.sum() * xstep * ystep # Bordo per somme inferiori bordo_inf = numpy.zeros(((2*n+2*m)*3,3),float) bordo_inf[3 * i,:] = numpy.array([xgrid[i],ygrid[0],0]) bordo_inf[3 * i + 1,:] = numpy.array([xgrid[i],ygrid[0],f[i,0]]) bordo_inf[3 * i + 2,:] = numpy.array([xgrid[i],ygrid[0],0]) bordo_inf[3 * n + 3 * j,:] = numpy.array([xgrid[n],ygrid[j],0]) bordo_inf[3 * n + 3 * j + 1,:] = numpy.array([xgrid[n],ygrid[j],f[n-1,j]]) bordo_inf[3 * n + 3 * j + 2,:] = numpy.array([xgrid[n],ygrid[j],0]) bordo_inf[3 * (n+m) + 3 * i,:] = numpy.array([xgrid[n-i],ygrid[m],0]) bordo_inf[3 * (n+m) + 3 * i + 1,:] = numpy.array([xgrid[n-i],ygrid[m],f[n-i-1,m-1]]) bordo_inf[3 * (n+m) + 3 * i + 2,:] = numpy.array([xgrid[n-i],ygrid[m],0]) bordo_inf[3 * (2*n+m) + 3 * j,:] = numpy.array([xgrid[0],ygrid[m-j],0]) 4

bordo_inf[3 * (2*n+m) + 3 * j + 1,:] = numpy.array([xgrid[0],ygrid[m-j],f[0,m-j-1]]) bordo_inf[3 * (2*n+m) + 3 * j + 2,:] = numpy.array([xgrid[0],ygrid[m-j],0]) # Bordo per somme superiori bordo_sup = numpy.zeros(((2*n+2*m)*3,3),float) bordo_sup[3 * i,:] = numpy.array([xgrid[i],ygrid[0],0]) bordo_sup[3 * i + 1,:] = numpy.array([xgrid[i],ygrid[0],g[i,0]]) bordo_sup[3 * i + 2,:] = numpy.array([xgrid[i],ygrid[0],0]) bordo_sup[3 * n + 3 * j,:] = numpy.array([xgrid[n],ygrid[j],0]) bordo_sup[3 * n + 3 * j + 1,:] = numpy.array([xgrid[n],ygrid[j],g[n-1,j]]) bordo_sup[3 * n + 3 * j + 2,:] = numpy.array([xgrid[n],ygrid[j],0]) bordo_sup[3 * (n+m) + 3 * i,:] = numpy.array([xgrid[n-i],ygrid[m],0]) bordo_sup[3 * (n+m) + 3 * i + 1,:] = numpy.array([xgrid[n-i],ygrid[m],g[n-i-1,m-1]]) bordo_sup[3 * (n+m) + 3 * i + 2,:] = numpy.array([xgrid[n-i],ygrid[m],0]) bordo_sup[3 * (2*n+m) + 3 * j,:] = numpy.array([xgrid[0],ygrid[m-j],0]) bordo_sup[3 * (2*n+m) + 3 * j + 1,:] = numpy.array([xgrid[0],ygrid[m-j],g[0,m-j-1]]) bordo_sup[3 * (2*n+m) + 3 * j + 2,:] = numpy.array([xgrid[0],ygrid[m-j],0]) Titolo = "Somme inferiori=" + "%.3f" % Somma_inf g.title(titolo) g.splot(gnuplot.func(comando_gnuplot),\ Gnuplot.Data(A, with_="lines"),\ Gnuplot.Data(bordo_inf, with_="lines lt 4")) ferma = raw_input( Press Enter ) Titolo = "Somme Superiori=" + "%.3f" % Somma_sup g.title(titolo) g.splot(gnuplot.func(comando_gnuplot),\ Gnuplot.Data(B, with_="lines"),\ Gnuplot.Data(bordo_sup, with_="lines lt 4")) g( x(u) = u; y(u) = -1; x1(u) = u; y1(u) = 1;\ x2(u) = 1; y2(u) = u; x3(u) = -1; y3(u) = u ) Nuovo_comando = "u,v,f(u,v),x(u),y(u),((v+1)/2)*f(x(u),y(u)),\ x1(u),y1(u),((v+1)/2)*f(x1(u),y1(u)),\ x2(u),y2(u),((v+1)/2)*f(x2(u),y2(u)),\ x3(u),y3(u),((v+1)/2)*f(x3(u),y3(u))" g( set terminal wxt font "LMMathItalic7" ) Titolo = "{/LMMathSymbols10=20 \342\210\253}{/LMMathSymbols10=20 \342\210\253}\ f(x,y) dxdy = 4" g.title(titolo) 5

g.splot(gnuplot.func(nuovo_comando)) ferma = raw_input( Press Enter ) 6