Sunteți pe pagina 1din 7

Ministerul Educației și Cercetării

al Republicii Moldova
Universitatea Tehnică a Moldovei
Departamentul Fizică

Raport
asupra lucării de laborator Nr.3

la Mecanica Teoretică realizat în MATLAB


Tema: Construirea graficelor în pachetul MATLAB

Varianta 8

A realizat st. gr. FAF-231 Cobzari Ion

A verificat dr., conf. univ. Sanduleac, Ion

Chișinău -2023
1
Sarcina Lucrării Nr.3

I. De declarat funcţia din tabel file-funcţie şi de construit graficele pe segmentul dat cu


ajutorul plot (pasul 0.05) şi fplot(ezplot):

II. De scris o functie (spre exemplu, cu denumirea xy) are parametrul de intrare - t
(timpul) , iar parametrii de ieşire valorile coordonatelor punctului material în timpul
mişcării (x şi y) pentru timpul respectiv.
a) De arătat poziţia punctului pe traiectorie pentru un moment de timp ales aleatoriu din
intervalul dat. De experimentat diferite valori ale pasului de calcul/
b) De calculat viteza, acceleraţia, acceleraţia tangenţială, acceleraţia normală şi raza
curburii traiectoriei penru momentul de timp ales.
c) De arătat pe graficul traiectoriei toţi vectorii din punctul precedent, utilizând pentru
aceasta instrumentele ferestrei grafice.
d) De afisat rezultatele obţinute

III. De scris o functie (spre exemplu, cu denumirea xyz) are parametrul de intrare - t
(timpul), iar parametrii de ieşire valorile coordonatelor punctului material în timpul
mişcării (x,y şi z) pentru timpul respectiv.
a) De arătat poziţia punctului pe traiectorie pentru un moment de timp ales aleatoriu
din intervalul dat. De experimentat diferite valori ale asului de calcul.
b) De calculat viteza, acceleraţia, acceleraţia tangenţială, acceleraţia normală şi raza
curburii traiectoriei pentru momentul de timp ales.
с) De afisat rezultatele obţinute.

1)Rezolvare:

% Cobzari Ion
% Varianta 8

x = [0.05:0.05:1];
y = f(x);

figure()
plot(x, y, 'r-', 'LineWidth', 3)
figure()
fplot('f', [0.05,1])

2
% Ex 2

% Lucrare de laborator Nr.3


% Student Cobzari Ion FAF-233
% Varianta 8
clc; close all; clear all
t = [0:0.05:4*pi];
[x,y ]=lab3_f(t);
figure()
plot(x,y,'b', 'linewidth',3)
grid; grid minor; xlabel('x');ylabel('y')
t1 = 4;
[x,y ]=lab3_f(t1);
hold on
plot(x,y,'r*', 'linewidth',3)

% Calcule simbolice
pkg load symbolic
syms t
[x,y ]=lab3_f(t);
vx = diff(x); vy = diff(y);
v = sqrt(vx^2+vy^2);

ax = diff(x,2); ay = diff(y,2);
a = sqrt(ax^2+ay^2);

at = diff(v);
an = sqrt(a^2 - at^2);
Ro = v^2/an;

% Calcule numerice
t = t1
v1x = eval(vx); v1y = eval(vy); v1 = eval(v)
disp(['v1x = ',num2str(v1x),' m/s'])
disp(['v1y = ',num2str(v1y),' m/s'])
3
disp(['v1 = ',num2str(v1),' m/s'])

a1x = eval(ax); a1y = eval(ay); a1 = eval(a)


disp(['a1x = ',num2str(a1x),' m/s2'])
disp(['a1y = ',num2str(a1y),' m/s2'])
disp(['a1 = ',num2str(a1),' m/s2'])

a1t = eval(at); a1n = eval(an);Ro1 = eval(Ro)


disp(['a1t = ',num2str(a1t),' m/s2'])
disp(['a1n = ',num2str(a1n),' m/s2'])
disp(['Ro1 = ',num2str(Ro1),' m'])

4
% Ex 3

function figpas(fig, pas)


% Afiseaza traiectoria punctului material si calculeaza caracteristicile traiectoriei

% Definirea intervalului de timp


t_interval = [0, 2*pi];

5
% Generarea vectorului de timp cu pasul specificat
t = t_interval(1):pas:t_interval(2);

% Calculul coordonatelor punctului material folosind functia xyz


[x, y, z] = xyz(t);

% Calculul numarului total de puncte pe traiectorie


num_puncte = length(x);

% Afisarea traiectoriei
figure(fig);
comet3(x, y, z);
hold on;

plot3(x, y, z, 'b'); % Desenarea traiectoriei

hold on;

% Alegerea unui moment de timp aleatoriu


timp_aleatoriu = randi([1, num_puncte], 1);

% Afisarea pozitiei punctului pentru momentul de timp aleatoriu


scatter3(x(timp_aleatoriu), y(timp_aleatoriu), z(timp_aleatoriu), 100, 'r', 'filled');
text(x(timp_aleatoriu), y(timp_aleatoriu), z(timp_aleatoriu), [' Timp: ',
num2str(t(timp_aleatoriu))]);

% Calculul vitezei
vx = diff(x) ./ diff(t);
vy = diff(y) ./ diff(t);
vz = diff(z) ./ diff(t);
v = sqrt(vx.^2 + vy.^2 + vz.^2);

% Calculul acceleratiei
ax = diff(vx) ./ diff(t(1:end-1));
ay = diff(vy) ./ diff(t(1:end-1));
az = diff(vz) ./ diff(t(1:end-1));
a = sqrt(ax.^2 + ay.^2 + az.^2);

% Calculul acceleratiei tangențiale


at = (vx(1:end-1) .* ax + vy(1:end-1) .* ay + vz(1:end-1) .* az) ./ v(1:end-1);

% Calculul acceleratiei normale


an = sqrt(a.^2 - at.^2);

6
% Calculul razei de curbura
R = v(1:end-1).^2 ./ an;

% Afisarea rezultatelor
fprintf('Timp ales: %.2f\n', t(timp_aleatoriu));
fprintf('Viteza: %.4f\n', v(timp_aleatoriu));
fprintf('Acceleratia: %.4f\n', a(timp_aleatoriu));
fprintf('Acceleratia tangentiala: %.4f\n', at(timp_aleatoriu));
fprintf('Acceleratia normala: %.4f\n', an(timp_aleatoriu));
fprintf('Raza de curbura: %.4f\n', R(timp_aleatoriu));
end

Concluzii

În cadrul acestui laborator, am investigat în detaliu graficele în MATLAB, concentrându-


ne pe calculul diferitelor mărimi fizice, cum ar fi viteza, accelerația, raza de curbura și
altele. Am dobândit o înțelegere mai profundă a direcțiilor vectorilor de accelerație
tangențială și normală și am studiat modul în care putem utiliza derivatele în MATLAB
pentru a realiza acest lucru. De asemenea, am învățat să creăm și să utilizăm funcții în
MATLAB pentru a efectua calculele necesare și pentru a organiza codul într-un mod mai
eficient.

S-ar putea să vă placă și