Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

curl

기호 벡터장의 회전

설명

c = curl(V,X)는 3차원 카테시안 좌표에서 벡터 X에 대해 기호 벡터장 V회전을 반환합니다. 벡터장 V와 벡터 X는 둘 다 3개의 성분을 갖는 벡터여야 합니다.

예제

c = curl(V)V에서 기호 변수로 구성된 디폴트 벡터에 대해 벡터장 V의 회전을 반환합니다.

예제

모두 축소

카테시안 좌표에서 벡터 X=(x,y,z)에 대해 벡터장 V(x,y,z)=(x3y2z, y3z2x, z3x2y)의 회전을 구합니다.

syms x y z
V = [x^3*y^2*z, y^3*z^2*x, z^3*x^2*y];
X = [x y z];
c = curl(V,X)
c = 

(x2z3-2xy3zx3y2-2xyz3y3z2-2x3yz)

2-D 벡터장 F(x,y)=(cos(x+y),sin(x-y),0)의 회전을 구합니다. 벡터장을 quiver(속도) 플롯으로, 벡터장 회전의 z-성분을 등고선 플롯으로 플로팅합니다.

2-D 벡터장 F(x,y)를 만들고 회전을 구합니다. 회전은 z-성분만 갖는 벡터입니다.

syms x y z
F = [cos(x+y) sin(x-y) 0];
c = curl(F,[x,y,z])
c = 

(00cos(x-y)+sin(x+y))

영역 -2<x<2-2<y<2에 대해 2-D 벡터장 F(x,y)를 플로팅합니다. MATLAB®은 이 작업을 위해 quiver 플로팅 함수를 제공합니다. 이 함수는 기호 인수를 받지 않습니다. 먼저 F 성분에 대한 표현식의 기호 변수를 숫자형 값으로 바꿉니다. 그런 다음 quiver를 사용합니다.

v = -2:0.1:2;
[xPlot,yPlot] = meshgrid(v);
Fx = subs(F(1),{x,y},{xPlot,yPlot});
Fy = subs(F(2),{x,y},{xPlot,yPlot});
quiver(xPlot,yPlot,Fx,Fy)
hold on

다음으로 contour를 사용하여 회전의 z-성분의 등고선을 플로팅합니다.

cPlot = subs(c(3),{x,y},{xPlot,yPlot});
contour(xPlot,yPlot,cPlot,"ShowText","on")
title("Contour Plot of Curl of 2-D Vector Field")
xlabel("x")
ylabel("y")

R2023a 이후

맥스웰 방정식으로부터 전하와 전류원이 없는 자유 공간에서의 전자기 파동 방정식을 도출합니다.

우선, 진공 투자율과 유전율을 나타내는 기호 스칼라 변수를 만듭니다. 카테시안 좌표를 나타내는 기호 행렬 변수를 만듭니다. 전기장과 자기장을 공간과 시간의 함수로 나타내는 두 개의 기호 행렬 함수를 만듭니다.

syms mu_0 epsilon_0
syms X [3 1] matrix
syms E(X,t) B(X,t) [3 1] matrix keepargs

다음으로 맥스웰 방정식을 나타내는 네 개의 방정식을 만듭니다.

Maxwell1 = divergence(E,X) == 0
Maxwell1(X, t) = X·E(X,t)=01,1
Maxwell2 = curl(E,X) == -diff(B,t)
Maxwell2(X, t) = 

X×E(X,t)=-t B(X,t)

Maxwell3 = divergence(B,X) == 0
Maxwell3(X, t) = X·B(X,t)=01,1
Maxwell4 = curl(B,X) == mu_0*epsilon_0*diff(E,t)
Maxwell4(X, t) = 

X×B(X,t)=ε0μ0t E(X,t)

그런 다음 전기장의 파동 방정식을 구합니다. 두 번째 맥스웰 방정식의 회전을 계산합니다.

wave_E = curl(Maxwell2,X)
wave_E(X, t) = 

X X·E(X,t)-ΔX E(X,t)=-X×t B(X,t)

전기장 파동 방정식에 첫 번째 맥스웰 방정식을 대입합니다. lhsrhs를 사용하여 첫 번째 맥스웰 방정식의 좌변과 우변을 구합니다.

wave_E = subs(wave_E,lhs(Maxwell1),rhs(Maxwell1))
wave_E(X, t) = 

-ΔX E(X,t)=-X×t B(X,t)

네 번째 맥스웰 방정식의 시간 도함수를 계산합니다.

dMaxwell4 = diff(Maxwell4,t)
dMaxwell4(X, t) = 

X×t B(X,t)=ε0μ0t t E(X,t)

wave_E에서 자기장 X×tB(X,t)를 포함하는 항을 dMaxwell4의 우변에 대입합니다. lhsrhs를 사용하여 dMaxwell4로부터 이러한 항을 구합니다.

wave_E = subs(wave_E,lhs(dMaxwell4),rhs(dMaxwell4))
wave_E(X, t) = 

-ΔX E(X,t)=-ε0μ0t t E(X,t)

비슷한 단계를 사용하여 자기장의 파동 방정식을 구할 수도 있습니다.

wave_B = curl(Maxwell4,X)
wave_B(X, t) = 

X X·B(X,t)-ΔX B(X,t)=ε0μ0X×t E(X,t)

wave_B = subs(wave_B,lhs(Maxwell3),rhs(Maxwell3))
wave_B(X, t) = 

-ΔX B(X,t)=ε0μ0X×t E(X,t)

dMaxwell2 = diff(Maxwell2,t)
dMaxwell2(X, t) = 

X×t E(X,t)=-t t B(X,t)

wave_B = subs(wave_B,lhs(dMaxwell2),rhs(dMaxwell2))
wave_B(X, t) = 

-ΔX B(X,t)=-ε0μ0t t B(X,t)

입력 인수

모두 축소

3차원 기호 벡터장으로, 기호 스칼라 변수로 구성된 벡터, 기호 함수, 기호 행렬 변수 또는 기호 행렬 함수로 지정됩니다. V의 크기는 1×3 또는 3×1이어야 합니다.

  • V가 기호 스칼라 변수의 함수이고 여기서 V가 유형 sym 또는 symfun인 경우, 벡터 X는 유형 sym 또는 symfun이어야 합니다.

  • V가 기호 행렬 변수의 함수이고 여기서 V가 유형 symmatrix 또는 symfunmatrix인 경우, 벡터 X는 유형 symmatrix 또는 symfunmatrix여야 합니다.

데이터형: sym | symfun | symmatrix | symfunmatrix

회전을 구할 3차원 벡터로, 기호 스칼라 변수로 구성된 벡터, 기호 함수, 기호 행렬 변수 또는 기호 행렬 함수로 지정됩니다. X의 크기는 1×3 또는 3×1이어야 합니다.

X를 지정하지 않고 V가 기호 스칼라 변수의 함수인 경우, curl은 기본적으로 symvar(V)에 정의된 변수 순서대로 V에 있는 기호 스칼라 변수에서 벡터 X를 생성합니다.

데이터형: sym | symfun | symmatrix | symfunmatrix

제한 사항

  • curl 함수는 텐서 도함수를 지원하지 않습니다. 입력값 V가 벡터가 아닌 텐서 필드 또는 행렬인 경우 curl 함수는 오류를 반환합니다.

  • Symbolic Math Toolbox™는 유형 symmatrix의 기호 행렬 변수와 symfunmatrix의 기호 행렬 함수에 대해 dot 함수 또는 cross 함수를 현재 지원하지 않습니다. 벡터 미적분 항등식이 내적 또는 외적을 포함하는 경우 툴박스는 해당 항등식을 지원되는 다른 함수로 대신 표시합니다. 기호 행렬 변수와 기호 행렬 함수를 지원하는 모든 함수의 목록을 보려면 명령 methods symmatrixmethods symfunmatrix를 사용하십시오.

세부 정보

모두 축소

기호 벡터장의 회전

카테시안 좌표에서 벡터 X = (X1, X2, X3)에 대한 기호 벡터장 V = (V1, V2, V3)의 회전은 다음과 같은 벡터입니다.

curl(V)=X×V=(V3X2V2X3V1X3V3X1V2X1V1X2)

버전 내역

R2012a에 개발됨

모두 확장