Sei sulla pagina 1di 3

Analisi Matematica I (per Ing. Matematica) Prof.

Verri Prova di laboratorio del 24/01/2013

Cognome Matr.
Nome N. lista
Il tempo concesso per svolgere lesame e di 60 minuti.
Salvo diversa indicazione, riportare negli appositi spazi solamente i comandi MATLAB necessari a
risolvere i problemi e leventuale risultato numerico.
Non verranno ritirati altri fogli oltre al presente.
E consigliato, tra un esercizio e laltro, cancellare tutti i dati salvati utilizzando il comando clear all.

La terzultima cifra del mio numero di matricola e K = . (Questo valore andra usato nei problemi seguenti.)

1. Disegnare il grafico della funzione f (x) = x cos(2|x|) nellintervallo [2, 2] con un linea rossa. Affiancare poi nella
stessa finestra grafica uno zoom della funzione nellintervallo [0.5, 0.5].

f = @(x) x.*cos(2*pi*abs(x)); x = linspace(-3, 3, 100);


figure
subplot(1,2,1), plot(x, f(x), r-)
subplot(1,2,2), plot(x, f(x), r-), xlim([-0.5 0.5])

13 13

y = x2 x +

2. Fornire una stima dellarea compresa tra i grafici delle parabole di equazioni 3 3 utilizzando
y = x2 + x 11
17
3 3
una tecnica di tipo hit or miss.

p1 = @(x) x.^2 - 13/3*x + 13/3; p2 = @(x) -x.^2 + 17/3*x - 11/3;


x = linspace(0.5,4.5,100);
figure, plot(x, p1(x), r-), hold on, plot(x, p2(x), k-)
n = 10000; x_punti = 3*rand(1,n) + 1; y_punti = 6*rand(1,n) - 1;
n_dentro = numel(find((y_punti < p2(x_punti)) & (y_punti >p1(x_punti)) ));
area_rettangolo = 3*6; stima_area = n_dentro / n * area_rettangolo

x4 2
3. Determinare le equazioni degli asintoti del grafico della funzione f (x) = , utilizzando il pacchetto simbolico
|x 3|
di MATLAB.

syms x
f = sqrt(x^4-2)/abs(x-3)
limit(f, x, 3, left), limit(f, x, 3, right) % x = 3 asintoto verticale
limit(f, x, inf), m = limit(f/x, x, inf), q = limit(f - m*x, x, inf)
% Asintoto obliquo per x -> +inf, y = x + 3
limit(f, x, -inf), m = limit(f/x, x, -inf), q = limit(f - m*x, x, -inf)
% Asintoto obliquo per x -> -inf, y = -x - 3
4. Rappresentare
( la curva parametrica detta cicloide, i cui punti hanno coordinate definite dalle equazioni
x(t) = r(t sin t)
per t [0, 6] e r = K + 1.
y(t) = r(1 cos t),
Creare poi una animazione nella quale un punto si muove lungo la traiettoria prima da sinistra verso destra e poi in
senso contrario.

kappa = 0; r = kappa+1;
cicloide = @(t) [r*(t - sin(t)); r*(1 - cos(t))];
t = linspace(0, 6*pi, 100); punti = cicloide(t);
figure, plot(punti(1,:), punti(2,:), b-, Linewidth, 2), axis equal, hold on
for ii = 1:numel(theta)
h = plot(punti(1,ii), punti(2,ii), o-, Markersize, 8, LineWidth, 2);
pause(0.02), delete(h)
end
for ii = numel(theta):-1:1
h = plot(punti(1,ii), punti(2,ii), o-, Markersize, 8, LineWidth, 2);
pause(0.02), delete(h)
end

5. Determinare le soluzioni complesse dellequazione

z 3 [K(1 + i) + 2 i] z 2 + K2 i + (3 + 2i)K 2i z 2K2 i 2K = 0


 

utilizzando il pacchetto simbolico di MATLAB. Rappresentare poi le soluzioni ottenute sul piano di Gauss.

syms k z
eq = z^3 - (k*(1+1i) + 2 - 1i)*z^2 + (k^2*1i + (3+2i)*k - 2i)*z - 2*k^2*1i - 2*k;
sol = solve(eq)
kappa = 1;
sol1 = subs(sol(1),k,kappa), sol2 = subs(sol(2),k,kappa), sol3 = subs(sol(3),k,kappa)
figure, hold on, plot(real(sol1), imag(sol1), xr, real(sol2), imag(sol2), xr, ...
real(sol3), imag(sol3), xr)
sol = 2, k*i, k - i

6. Descrivere il funzionamento del comando prod e fornire un esempio del suo utilizzo diverso da quelli presenti nellhelp
di MATLAB.

help prod
Sintassi: P = prod(X)
Il comando prod applicato a una lista di valori ritorna il prodotto degli elementi della lista
stessa.
Se applicato a una tabella...

7. Scrivere una funzione che, data in ingresso una lista a di n valori ai , i = 1, 2, . . . , n, calcoli la media geometrica di

questi ultimi, definita come a = n a1 a2 a3 . . . an .
Applicare poi la funzione alla lista di numeri a = [1, 2, 3, . . . , 10 + K] e riportare il risultato ottenuto in formato short.

function a_bar = geometrica(a)


n = numel(a); prodotto = 1;
for ii = 1:n
prodotto = prodotto*a(ii);
end
a_bar = prodotto^(1/n);
end
kappa = 1; armonica([1:(10+kappa)])
0: 4.5287; 1: 4.9092; 2: 5.2889; 3: 5.6677; 4: 6.0459; 5: 6.4234; 6: 6.8005;
7: 7.1770; 8: 7.5532; 9: 7.9289;

a0 = 1
8. Mostrare che la successione ricorsiva definita da (a )2 + 2 converge a 2 riportando su un
an = n1 n = 1, 2, . . .
2an1
grafico levoluzione dei valori della successione.

a(1) = 1;
for ii = 1:10
a(ii+1) = a(ii)/2 + 1/a(ii);
end
figure, plot(1:numel(a), a, xb)
hold on, plot(1:numel(a), sqrt(2)+0*a, r--)

5
9. Determinare i valori positivi x e y tali che la quantita f = x2 +2y 2 xy sia minimizzata, sotto il vincolo xy = 10+K.
2
Effettuare ciascun passaggio utilizzando il pacchetto simbolico di MATLAB.

syms x y
f = x^2 + 2*y^2 - x*y
% Inserire il numero kappa corrispondente
y_x = solve(x - y = 10 + 1, y), f_x = subs(f, y, y_x), f_x = expand(f_x)
df_x = diff(f_x, x)
solve(df_x, x)
0: x = 15 1: x = 33/2 2: x = 18 3: x = 39/2 4: x = 21 5: x = 45/2 6: x = 24
y = 5 y = 11/2 y = 6 y = 13/2 y = 7 y = 15/2 y = 8
7: x = 51/2 8: x = 27 9: x = 57/2
y = 17/2 y = 9 y = 19/2

1 2 3 ... n

0 1 2 ... n 1

10. Scrivere una funzione che, dato in ingresso un valore n, ritorni la tabella di nn valori T =
0 0 1 ... n 2 .

.. .. .. . . ..
. . . . .
0 0 0 ... 1

function T = triangolare(n)
T = zeros(n);
for ii = 1:n
T(ii, ii:n) = 1:n-ii+1;
end
end