sum([2,7,-4].*[1,0,-2]) syms a sum([1,-2,a].*[2,-1,a]) sum([0,1-a,1].*[2,a^2,a])o bien
dot([2,7,-4],[1,0,-2]) syms a dot([1,-2,a],[2,-1,a]) dot([0,1-a,1],[2,a^2,a])
quiver3(0,0,0,2,7,-4,1) % vector (2,7,-4) colocado en el punto (0,0,0) hold on quiver3(0,0,0,1,0,-2,1) % vector (1,0,-2) colocado en el punto (0,0,0) quiver3(0,0,0,2,0,-4,1) % proyección de (2,7,-4) sobre (1,0,-2) plot3([2 2],[7 0],[-4 -4],'c') hold off view([64,30])
cross([2,7,-4],[1,0,-2]) syms a cross([1,-2,a],[2,-1,a]) cross([0,1-a,1],[2,a^2,a])Recuerda que el vector producto vectorial de dos vectores es perpendicular a ambos y su sentido se rige por la regla de la mano derecha o del sacacorchos:
quiver3(0,0,0,2,7,-4,1) % vector (2,7,-4) colocado en el punto (0,0,0) hold on quiver3(0,0,0,1,0,-2,1) % vector (1,0,-2) colocado en el punto (0,0,0) quiver3(0,0,0,-14,0,-7,1) % vector (2,7,-4)x(1,0,-2) en el punto (0,0,0) hold off view([64,30])
syms x y z f=x+y*z; [diff(f,x),diff(f,y),diff(f,z)]El cálculo de una muestra de vectores de este campo gradiente y su trazado se haría con
[X,Y,Z]=meshgrid(-1:1); % malla de puntos donde se dibujarán los vectores F=X+Y.*Z; % definición del campo escalar [M,N,P]=gradient(F); % cálculo del gradiente en los puntos de la malla quiver3(X,Y,Z,M,N,P) % trazado de los vectoresEn la figura puedes ver una muestra de este gradiente desde dos puntos de vista diferentes:
syms x y z M=1; N=sin(x*z); P=-x*y^2*z; div=diff(M,x)+diff(N,y)+diff(P,z) rot=[diff(P,y)-diff(N,z),diff(M,z)-diff(P,x),diff(N,x)-diff(M,y)]Numéricamente, en una muestra de puntos, esta divergencia y este rotacional se calculararían así:
[X,Y,Z]=meshgrid(-1:1); M=ones(size(X)); N=sin(X.*Z); P=-X.*Y.^2.*Z; div=divergence(X,Y,Z,M,N,P) [rotx,roty,rotz]=curl(X,Y,Z,M,N,P)