2014년 10월 29일 수요일

매트랩을 활용한 벡터의 내적과 외적

고등학교부터 벡터의 내적과 외적을 배웠었다.
학부때도 마찬가지인데, 기억도 흐릿하고 의미도 의심스럽다.
이번 기회에 다시 한번 공부도 할겸 정리해 보려고 한다.

1. 회전행렬을 이용한 막대 회전



x=[-.1 -.1 .1 .1]';
y=[-1 1 1 -1]';
box=fill(x,y,'r','erasemode','normal');
axis([-2 2 -2 2]);

 

for i=1:32
t=0.25*i/4;
ts=t*pi;
rot=[cos(ts)  -sin(ts); ...
        sin(ts)  cos(ts)];
uc=rot*[x,y]';
ux=uc(1,:)';
uy=uc(2,:)';
set(box,'xdata',ux,'ydata',uy);
% pause(1)
drawnow
end

 

회전행렬을 통해 삼각함수의 덧셈정리가 헷갈리지 않을 수 있다. 반대일 수도 있고,,,


2. 내적의 증명



BH²+AH²=AB²
a²-2ab·cosθ+b²cos²θ+b²sin²θ=c²
a²+b²(cos²θ+sin²θ)-2ab·cosθ=c²
a²+b²-2ab·cosθ=c

A(x₁,y₁,z₁) , B(x₂,y₂,z₂), O(0,0,0) 일때,
AB²=OA²+OB²-2|OA||OB|cosθ 에서
AB²=(x₁-x₂)²+(y₁-y₂)²+(z₁-z₂)²
OA²=x₁²+y₁²+z₁²
OB²=x₂²+y₂²+z₂²
대입하고 정리하면,
a·b=|OA||OB|cosθ=x₁x₂+y₁y₂+z₁z₂

이렇게 구하는 내적의 물리적 의미는
일정한 크기의 힘 F가 지면과 θ각도로 비스듬하게 물체에 작용하여 지면의 방향으로 d 만큼 이동시켰다면, 힘 F가 물체에 한 일은 W=Fcosθ·d 이다.


3. 외적의 증명

외적의 정의는 a×b=(|a||b|sinθ)v
v는 a와 b가 이루는 평면과 직교하는 단위벡터이다.

 
위와 같이 구해지는 외적은 기하학적으로 아래와 같이 의미가 일치한다.


따라서 주어진 벡터 a,b,c를 세변으로 갖는 평행육면체의 부피는 ? c·(a×b)


4. 내적, 외적을 이용하여 3점을 포함한 평면함수 구하기


 
p1=[1 0 0];

p2=[0 1 0];

p3=[0 0 1];

 
v=cross(p1-p3,p2-p3);

s=dot(p1-p3,p2-p3);

 
c=v(1)*p1(1)+v(2)*p1(2)+v(3)*p1(3);  % v(1)*x+v(2)*y+v(3)*z=c

t=c/(v(1)^2+v(2)^2+v(3)^2); t=v*t;

 
[x y]=meshgrid(-1:.1:1,-1:.1:1);

z=(c-v(1)*x-v(2)*y)/v(3);

 
quiver3(0,0,0, v(1),v(2),v(3),'r')

hold on

surf(x,y,z)

px=[0 p1(1) p2(1) p3(1) t(1)];

py=[0 p1(2) p2(2) p3(2) t(2)];

pz=[0 p1(3) p2(3) p3(3) t(3)];

xlabel('x')

ylabel('y')

plot3(px,py,pz,'o')

hold off

 



5. 구좌표계에서 법선과 접선벡터 그리기
 
[x,y,z] = sphere(16);
surf(x, y, z)  % sphere centered at origin
hold on
r=sqrt(x.^2+y.^2+z.^2);
p=sqrt(x.^2+y.^2);
th=atan(y./x);
phi=atan(z./p);
[TH,PHI,R] = cart2sph(x,y,z);
 
quiver3(x,y,z, x, y, z,'r')
quiver3(x,y,z, -y./p,x./p,zeros(size(z)),'g')
quiver3(x,y,z, (x./p).*z, (y./p).*z, -(y./p).*y-(x./p).*x, 'b')
 
hold off
xlabel('x')
ylabel('y')
zlabel('z')
colormap(gray)
 
for x = -10:1:10
    campos([x,2,2])
    drawnow;
    pause(0.2)
end
 
 

6. 발산의 정리

먼저 그린의 정리는 http://hypertimespace.tistory.com/119 를 참고하였다.
모두 엄밀한 증명은 아니고, 간략하고 특수한 경우를 바탕으로 감을 잡기가 목표이다.


이어서 가우스 발산정리는 아래와 같고,,,

 ds : 곡선에 대한 호의 길이 변화량 , dS : 곡면의 변화량, dA : 평면의 변화량



문제T가 x²+y²+z²=4 로 둘러싸인 영역일 때,
벡터장 F=[x,y,z]에 대해 가우스 발산의 정리 성립확인? 32π


7. 벡터의 라플라시안(∇²F)

∇×(∇×F)=∇(∇·F)-∇²F 을 매트랩으로 검증해 보자!



% DcDcF=DDdF-DDF

syms P Q R;

syms dx dy dz;

F=[P Q R];

D=[1/dx 1/dy 1/dz];

DcF=cross(D, F)

DcDcF=cross(D,cross(D, F))

 

DdF=D*F.';

DDdF=[DdF/dx; DdF/dy; DdF/dz;].'

DF=D*[F; F; F]

DDF=D.^2*[F; F; F]

% DcDcF=DDdF-DDF

 

이제 맥스웰의 방정식과 전자기파 파동방정식을 이해하기 위한 기본적인 도구들은

다 준비가 된것 같다.

댓글 1개: