Documente Academic
Documente Profesional
Documente Cultură
Florin Postolache
http://adl.anmb.ro
Matlab - Laborator
Sapt. 11-12
Calcul simbolic
Dacă var1, var2, ..., varn sunt variabile simbolice definite anterior cu syms sau
prin atribuire atunci prin atribuirea v=f(var1,var2,...,varn) în care f este o
funcţie care depinde de var1, var2, ..., varn, variabila v este definită tot ca
variabilă simbolică.
sym(‘expresie simbolică’)
Toate variabilele care intervin în argumentul funcţiei sym trebuie să fie variabile
simbolice. În particular expresie simbolică poate fi o constantă.
Fie
syms x ; syms f x;
f=log(1+x^2); f=log(1+x^2)
syms x ;
f=sym('log(1+x^2)');
29 mai 2018 Asist.dr.ing. Florin Postolache 5
Calculul valorii unei expresii simbolice
Se face cu unul dintre apelurile funcţiei subs:
• subs(expresie simbolica,valoare)
Ex 1:
syms x;
f=2^x;
Calculul valorii f(4):
subs(f,4)
subs(f,x,4)
Ex 2:
syms x y z t ;
f=x^2+y^3+z^4+t;
Ex 2:
syms x y z t f;
f=x^2+y^3+z^4+t;
findsym(f)
pretty(f)
syms x y real;
z=x+i*y;
abs(z)
Sau
sym('x','real');
sym('y','real');
z=x+i*y;
abs(z)
% apelul functiei:grafsym(0, 3)
subplot(2,1,1)
fsurf(subs(f,a,20));
title('a=20');
subplot(2,1,2)
fsurf(subs(f,a,50));
title('a=50');
grid on;
end
subplot(2,2,1)
fsurf(subs(f,a,10));
title('a=10');
subplot(2,2,2)
fsurf(subs(f,a,20));
title('a=20');
subplot(2,2,3)
fsurf(subs(f,a,50));
title('a=50');
subplot(2,2,4)
fsurf(subs(f,a,100));
title('a=100');
grid on;
end
29 mai 2018 Asist.dr.ing. Florin Postolache 23
Reprezentarea curbelor in spatiu
function graficsym3d
syms t;
x=sin(t);
y=cos(t);
z=t;
ezplot3(x,y,z,'animate');
grid on;
function L3D_1
syms x y;
f=(x^2+y^2)*exp(-(x^2+y^2));
ezmesh(f,[-4,4],[-4,4]);
grid on;
xlabel('axa x');
ylabel('axa y');
shading interp;
colorbar;
end
function L3D_1
syms x y;
f=(x^2+y^2)*exp(-(x^2+y^2));
fmesh(f); % xϵ[-5, 5]
grid on;
xlabel('axa x');
ylabel('axa y');
shading interp;
colorbar;
end
function L3D_1
syms x y;
fmesh(@(x,y) (x^2+y^2)*exp(-(x^2+y^2)), [-4 4 -4 4]);
grid on;
xlabel('axa x');
ylabel('axa y');
shading interp;
colorbar;
end
function L3D_2
syms x y;
f=(x^2+y^2)*exp(-(x^2+y^2));
ezsurf(f, [-4,4],[-4,4]);
grid on;
xlabel('axa x');
ylabel('axa y');
shading interp;
colorbar;
end
function L3D_2
syms x y;
f=(x^2+y^2)*exp(-(x^2+y^2));
fsurf(f); % xϵ[-5, 5]
grid on;
xlabel('axa x');
ylabel('axa y');
shading interp;
colorbar;
end
function L3D_2
syms x y;
fsurf(@(x,y)(x^2+y^2)*exp(-(x^2+y^2))); % x,yϵ[-5,5]
% fsurf(@(x,y)(x^2+y^2)*exp(-(x^2+y^2)), [-4 4 -4 4]);
grid on;
xlabel('axa x');
ylabel('axa y');
shading interp;
colorbar;
end
function L3D_3
syms x y;
f=x*y*sin(x*y);
ezsurf(f,[-pi,pi],[-pi,pi]);
grid on;
xlabel('axa x');
ylabel('axa y');
shading interp;
colorbar;
end
function L3D_3
syms x y;
f=x*y*sin(x*y);
ezsurfc(f,[-pi,pi],[-pi,pi]);
grid on;
xlabel('axa x');
ylabel('axa y');
shading interp;
colorbar;
end
function L3D_3
syms x y;
%ezsurfc(f,[-pi,pi],[-pi,pi]);
fsurf(@(x,y) x*y*sin(x*y),[-pi pi -pi pi],'ShowContours','on')
grid on;
xlabel('axa x');
ylabel('axa y');
shading interp;
colorbar;
end
function L3D_4
syms x y;
f=x*y*sin(x*y);
ezmesh(f,[-pi,pi],[-pi,pi]);
grid on;
xlabel('axa x');
ylabel('axa y');
shading interp;
colorbar;
end
function L3D_4
syms x y;
f=x*y*sin(x*y);
ezmeshc(f,[-pi,pi],[-pi,pi]);
grid on;
xlabel('axa x');
ylabel('axa y');
shading interp;
colorbar;
end
function L3D_4
syms x y;
fmesh(@(x,y) x*y*sin(x*y),[-pi pi -pi pi],'ShowContours','on')
grid on;
xlabel('axa x');
ylabel('axa y');
shading interp;
colorbar;
end
% apelul functiei:
%graficsym(-50, 50,-50,50)
Calculul derivatelor
diff(f) sau diff(f,x) % f’(x) sau df/dx
Calculul integralelor
int(f) sau int(f,x)
int(f,a,b) sau int(f,x,a,b)
4c 4d
4c 4d
syms x f syms x f
f=(log(1+x^2)-(log(1+x))^2)/x^3 f=x*(exp(x)-log(1+x^2))
limit(f,x,0) limit(f,x,inf)
L2_3a=limit(m,n,inf)
L2_3b=limit(p,x,0)
L2_3c=limit(q,x,0)
L2_3d=limit(r,x,inf)
end
29 mai 2018 Asist.dr.ing. Florin Postolache 66
29 mai 2018
L3_4
f=exp(asin(x))/(exp(x)+cos(x));
d=x*y*exp(x*y*sin(x*y));
a=sqrt(x^2+x+1)
b=(x^2+1)/(x^4+2)
c=x^2*exp(x)
L3_a=int(a,2,4)
L3_b=int(b,0,inf)
L3_c=int(c,0,1)
end
L3_6a=dsolve('Dy=x^2*exp(x)','y(0)=1','x')
L3_6b=dsolve('Dy=exp(x)*sin(x)','y(0)=0','x')
[y z]=dsolve('Dy=3*y+z','Dz=-y+z','y(0)=0','z(0)=0','x')
end
% L1_1(-3,3)
%L1_2(-5, 5,-5,5)
%L1_3(-10,10)
%L1_3(-10,10)