Main Content

streamslice

슬라이스 평면에서 흐름선 플로팅

  • Cartesian grid with plotted lines and arrows

설명

예제

streamslice(X,Y,Z,U,V,W,xslice,yslice,zslice)는 3차원 벡터 데이터 U, V, W에서 자동으로 간격이 지정된 흐름선을 그립니다. X, Y, Z를 좌표 데이터로 지정합니다. xslice, yslice, zslice를 특정 축에 직교하는 슬라이스 위치로 지정합니다.

streamslice(U,V,W,xslice,yslice,zslice)U, V, W에 대해 디폴트 좌표 데이터를 사용합니다. U, V, W의 각 요소에 대한 (x,y,z) 위치는 각각 열, 행 및 페이지 인덱스를 기반으로 합니다.

예제

streamslice(X,Y,U,V)는 2차원 벡터 데이터 UV에서 자동으로 간격이 지정된 흐름선을 그립니다. XY를 좌표 데이터로 지정합니다.

예제

streamslice(U,V)UV에 대해 디폴트 좌표 데이터를 사용합니다. UV의 각 요소에 대한 (x,y) 위치는 각각 열과 행 인덱스를 기반으로 합니다.

예제

streamslice(___,arrowsmode)(여기서 arrowsmode'noarrows'임)는 방향 화살표를 그리지 않습니다. arrowsmode의 디폴트 값은 'arrows'이며, 이 경우 방향 화살표가 그려집니다. 위에 열거된 구문에 나와 있는 입력 인수를 이 옵션과 함께 사용하십시오.

예제

streamslice(___,density)는 흐름선의 자동 간격을 수정합니다. 여기서 density는 양의 스칼라입니다. 디폴트 값은 1입니다. 값이 클수록 각 평면에 더 많은 흐름선이 생성됩니다. 예를 들어, 2는 디폴트 값보다 두 배 정도 많은 흐름선을 생성하는 반면 0.5는 절반 정도의 흐름선을 생성합니다.

streamslice(___,method)는 보간 방법을 지정합니다. 여기서 method는 'linear', 'cubic' 또는 'nearest'일 수 있습니다.

streamslice(ax,___)는 현재 axes 객체(gca) 대신 지정된 좌표축에 플로팅합니다.

예제

lineobj = streamslice(___)는 생성된 Line 객체를 반환합니다.

예제

[verts,averts] = streamslice(___)는 흐름선과 화살표를 그리는 데 필요한 꼭짓점을 셀형 배열로 반환합니다. 이 구문은 흐름선을 플로팅하지 않습니다.

예제

모두 축소

북미 지역의 기류를 나타내는 3차원 배열 u, v, w, x, y, z를 불러오는 wind 데이터셋을 불러옵니다. z = 5인 슬라이스 평면을 따라 흐름선을 그립니다.

load wind
streamslice(x,y,z,u,v,w,[],[],5)
axis tight

Figure contains an axes object. The axes object contains 94 objects of type line.

wind 데이터셋을 불러온 후 z = 5인 슬라이스 평면을 따라 방향 화살표 없이 흐름선을 그립니다.

load wind
streamslice(x,y,z,u,v,w,[],[],5,'noarrows')
axis tight

Figure contains an axes object. The axes object contains 45 objects of type line.

wind 데이터셋을 불러온 후 z = 5인 슬라이스 평면을 따라 흐름선을 그립니다. density 값으로 2를 사용하여 디폴트 값보다 두 배 정도 많은 흐름선을 그립니다.

load wind
streamslice(x,y,z,u,v,w,[],[],5,2)
axis tight

Figure contains an axes object. The axes object contains 175 objects of type line.

wind 데이터셋을 불러온 후 z = 1, 5, 10인 슬라이스 평면을 따라 흐름선의 꼭짓점을 계산합니다.

load wind
[verts, ~] = streamslice(x,y,z,u,v,w,[],[],[1,5,10]);

꼭짓점을 streamtube에 전달하여 선을 관으로 시각화합니다.

streamtube(verts,1)

view(3)
axis tight
shading interp
camlight
lighting gouraud

Figure contains an axes object. The axes object contains 161 objects of type surface.

흐름선을 플로팅하고 반환된 Line 객체를 l에 저장합니다.

[x,y] = meshgrid(-10:10);
u = 2.*x.*y;
v = y.^2 - x.^2;
l = streamslice(x,y,u,v);
axis tight

Figure contains an axes object. The axes object contains 112 objects of type line.

흐름선의 선 너비를 2로 설정합니다. 흐름선 색을 빨간색으로 설정합니다. set 함수를 사용하여 모든 흐름선의 속성을 동시에 변경합니다.

set(l,'LineWidth',2)
set(l,'Color','r');

Figure contains an axes object. The axes object contains 112 objects of type line.

먼저, 곡면 플롯을 만듭니다.

z = peaks;
surf(z);
shading interp;

Figure contains an axes object. The axes object contains an object of type surface.

z의 2차원 기울기를 계산합니다. x 성분과 y 성분을 streamslice에 대한 벡터 데이터 입력값으로 사용합니다. 흐름선의 색을 검은색으로 설정합니다.

[u,v] = gradient(z);
l = streamslice(u,v);

Figure contains an axes object. The axes object contains 153 objects of type surface, line.

set(l,'Color','k');

곡선의 곡면에 그려지도록 z축의 흐름선을 변위합니다.

for i=1:length(l)
    zi = interp2(z,l(i).XData, l(i).YData);
    l(i).ZData = zi;
end

Figure contains an axes object. The axes object contains 153 objects of type surface, line.

입력 인수

모두 축소

x축 좌표 데이터로, 2차원 또는 3차원 배열로 지정됩니다. 이는 단조 배열이어야 하나, 간격이 균일할 필요는 없습니다.

X, Y, Z, U, V, W는 크기가 동일해야 합니다.

meshgrid 함수를 사용하여 X, Y, Z 행렬을 만들 수 있습니다.

y축 좌표 데이터로, 2차원 또는 3차원 배열로 지정됩니다. 이는 단조 배열이어야 하나, 간격이 균일할 필요는 없습니다.

X, Y, Z, U, V, W는 크기가 동일해야 합니다.

meshgrid 함수를 사용하여 X, Y, Z 행렬을 만들 수 있습니다.

z축 좌표 데이터로, 3차원 배열로 지정됩니다. 이는 단조 배열이어야 하나, 간격이 균일할 필요는 없습니다.

X, Y, Z, U, V, W는 크기가 동일해야 합니다.

meshgrid 함수를 사용하여 X, Y, Z 행렬을 만들 수 있습니다.

벡터 데이터의 x 성분으로, 2차원 또는 3차원 배열로 지정됩니다.

X, Y, Z, U, V, W는 크기가 동일해야 합니다.

벡터 데이터의 y 성분으로, 2차원 또는 3차원 배열로 지정됩니다.

X, Y, Z, U, V, W는 크기가 동일해야 합니다.

벡터 데이터의 z 성분으로, 3차원 배열로 지정됩니다.

X, Y, Z, U, V, W는 크기가 동일해야 합니다.

x축 슬라이스 값으로, 다음 형식 중 하나로 지정됩니다.

  • 스칼라 — 지정된 위치에서 x축에 직교하는 하나의 슬라이스 평면을 그립니다.

  • 벡터 — 지정된 위치에서 x축에 직교하는 여러 개의 슬라이스 평면을 그립니다.

  • [] — 슬라이스 평면을 그리지 않습니다.

y축 슬라이스 값으로, 다음 형식 중 하나로 지정됩니다.

  • 스칼라 — 지정된 위치에서 y축에 직교하는 하나의 슬라이스 평면을 그립니다.

  • 벡터 — 지정된 위치에서 y축에 직교하는 여러 개의 슬라이스 평면을 그립니다.

  • [] — 슬라이스 평면을 그리지 않습니다.

z축 슬라이스 값으로, 다음 형식 중 하나로 지정됩니다.

  • 스칼라 — 지정된 위치에서 z축에 직교하는 하나의 슬라이스 평면을 그립니다.

  • 벡터 — 지정된 위치에서 z축에 직교하는 여러 개의 슬라이스 평면을 그립니다.

  • [] — 슬라이스 평면을 그리지 않습니다.

흐름선 밀도로, 양의 스칼라로 지정됩니다.

디폴트 값은 1입니다. 값이 클수록 각 평면에 더 많은 흐름선이 생성됩니다. 예를 들어, 2는 디폴트 값보다 두 배 정도 많은 흐름선을 생성하는 반면 0.5는 절반 정도의 흐름선을 생성합니다.

화살표 표시 모드로, 다음 값 중 하나로 지정됩니다.

  • 'arrows' — 흐름선에 방향 화살표를 그립니다.

  • 'noarrows' — 흐름선에 방향 화살표를 그리지 않습니다.

보간 방법으로, 다음 값 중 하나로 지정됩니다.

  • 'linear' — 각 차원의 인접 그리드 점에서 값이 선형 보간됩니다.

  • 'cubic' — 각 차원의 인접 그리드 점에서 값이 3차 보간됩니다.

  • 'nearest' — 가장 근접한 그리드 점 값입니다.

대상 좌표축으로, Axes 객체로 지정됩니다. 좌표축을 지정하지 않을 경우 streamslice는 현재 좌표축에 플로팅됩니다.

출력 인수

모두 축소

흐름선과 방향 화살표에 대한 Line 객체로, 배열로 반환됩니다.

흐름선 꼭짓점으로, 셀형 배열로 반환됩니다. 셀형 배열의 각 요소는 하나의 선에 대한 꼭짓점으로 구성된 행렬입니다.

이 값은 모든 흐름선 그리기 함수(streamline, streamribbon, streamtube)에 전달할 수 있습니다.

화살표 꼭짓점으로, 셀형 배열로 반환됩니다. 셀형 배열의 각 요소는 하나의 화살표에 대한 꼭짓점으로 구성된 행렬입니다. arrowsmode'noarrows'이면 averts는 빈 셀형 배열이 됩니다.

이러한 값을 streamline에 전달할 수 있습니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

모두 확장