Main Content

stream3

3차원 흐름선 데이터 계산

설명

예제

XYZ = stream3(X,Y,Z,U,V,W,startX,startY,startZ)는 흐름선 데이터를 벡터장으로 구성된 2차원 행렬로 반환합니다. 입력값 X, Y, Z는 벡터 데이터 좌표이고 U, V, W는 벡터 데이터이며 startX, startY, startZ는 흐름선의 시작 위치입니다.

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

예제

XYZ = stream3(___,options)step 또는 [step maxvert] 형식의 요소를 1개 또는 2개 가진 벡터로 정의된, 지정된 옵션을 사용하여 3차원 흐름선 데이터를 계산합니다. 여기서 step은 벡터 데이터를 보간하기 위한 스텝 크기이고 maxvert는 흐름선의 최대 꼭짓점 개수입니다. 위에 열거된 구문에 나와 있는 입력 인수를 조합하여 이 인수와 함께 사용하십시오.

예제

모두 축소

북미 지역의 기류 측정값이 포함된 wind 데이터 세트를 불러옵니다.

  • 3차원 배열 x, y, z는 기류 측정 위치를 나타냅니다.

  • 3차원 배열 u, v, w는 3차원 벡터장의 기류 속도를 나타냅니다.

가상 입자 16개의 시작 위치를 정의합니다. 여기에서 입자는 모두 x = 80에서 시작하고 y 시작 위치의 범위는 20 ~ 50, z 시작 위치의 범위는 0 ~ 15입니다.

load wind
[startX,startY,startZ] = meshgrid(80,20:10:50,0:5:15);

startX, startY, startZ의 시작 위치 모음에서 기류 내 가상 입자의 3차원 흐름선 꼭짓점 데이터를 계산합니다.

verts = stream3(x,y,z,u,v,w,startX,startY,startZ);

streamline을 사용하여 벡터장의 3차원 볼륨을 시각화합니다. 나중에 속성을 변경할 수 있도록 line 객체를 변수 lineobj에 반환합니다.

lineobj = streamline(verts);
view(3)

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

특정 선의 특성을 변경하려면 반환된 line 객체에 대한 속성을 설정합니다. 예를 들어, 열 번째 선의 색을 녹색으로 변경하고 두께를 3으로 변경합니다.

lineobj(10).Color = "g";
lineobj(10).LineWidth = 3;

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

북미 지역의 기류 측정값이 포함된 wind 데이터 세트를 불러옵니다.

  • 3차원 배열 x, y, z는 기류 측정 위치를 나타냅니다.

  • 3차원 배열 u, v, w는 3차원 벡터장의 기류 속도를 나타냅니다.

가상 입자 16개의 시작 위치를 정의합니다. 여기에서 입자는 모두 x = 80에서 시작하고 y 시작 위치의 범위는 20 ~ 50, z 시작 위치의 범위는 0 ~ 15입니다.

load wind
[startX,startY,startZ] = meshgrid(80,20:10:50,0:5:15);

스텝 크기를 디폴트 값인 0.1에서 3으로 늘려 흐름선 분해능을 낮춥니다.

step = 3;

startX, startY, startZ의 시작 위치 모음에서 기류 내 가상 입자의 3차원 흐름선 꼭짓점 데이터를 계산합니다.

verts = stream3(x,y,z,u,v,w,startX,startY,startZ,step);

streamline을 사용하여 벡터장의 3차원 볼륨을 시각화합니다. 스텝 크기가 클수록 더 낮은 분해능의 흐름선이 생성됩니다.

streamline(verts)
view(3)

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

북미 지역의 기류 측정값이 포함된 wind 데이터 세트를 불러옵니다.

  • 3차원 배열 x, y, z는 기류 측정 위치를 나타냅니다.

  • 3차원 배열 u, v, w는 3차원 벡터장의 기류 속도를 나타냅니다.

가상 입자 16개의 시작 위치를 정의합니다. 여기에서 입자는 모두 x = 80에서 시작하고 y 시작 위치의 범위는 20 ~ 50, z 시작 위치의 범위는 0 ~ 15입니다.

load wind
[startX,startY,startZ] = meshgrid(80,20:10:50,0:5:15);

스텝 크기를 디폴트 값인 0.1에서 0.01로 줄여 흐름선 분해능을 높입니다.

step = 0.01;

처음 1,000개의 꼭짓점이 계산된 후에 계산이 종료되도록 최대 꼭짓점 개수를 설정합니다.

maxvert = 1000;

startX, startY, startZ의 시작 위치 모음에서 기류 내 가상 입자의 3차원 흐름선 꼭짓점 데이터를 계산합니다.

verts = stream3(x,y,z,u,v,w,startX,startY,startZ,[step maxvert]);

streamline을 사용하여 벡터장의 3차원 볼륨을 시각화합니다. 축 제한을 설정하여 데이터 값의 전체 범위를 표시합니다. 흐름선은 1,000개의 꼭짓점이 계산된 후에 끝나므로, 전체 데이터 범위를 표시하기 전에 흐름선이 중지됩니다.

streamline(verts)
xlim([75 135])
ylim([15 65])
zlim([0 15])
view(3)

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

입력 인수

모두 축소

벡터 데이터의 x축 좌표로, 3차원 배열로 지정됩니다. 이는 단조 배열이어야 하나, 간격이 균일할 필요는 없습니다. XY, Z, U, V, W와 크기가 동일해야 합니다.

meshgrid 함수를 사용하여 X를 만들 수 있습니다.

벡터 데이터의 y축 좌표로, 3차원 배열로 지정됩니다. 이는 단조 배열이어야 하나, 간격이 균일할 필요는 없습니다. YX, Z, U, V, W와 크기가 동일해야 합니다.

meshgrid 함수를 사용하여 Y를 만들 수 있습니다.

벡터 데이터의 z축 좌표로, 3차원 배열로 지정됩니다. 이는 단조 배열이어야 하나, 간격이 균일할 필요는 없습니다. ZX, Y, U, V, W와 크기가 동일해야 합니다.

meshgrid 함수를 사용하여 Z를 만들 수 있습니다.

벡터 데이터의 x 성분으로, 3차원 배열로 지정됩니다. UX, Y, Z, V, W와 크기가 동일해야 합니다.

벡터 데이터의 y 성분으로, 3차원 배열로 지정됩니다. VX, Y, Z, U, W와 크기가 동일해야 합니다.

벡터 데이터의 z 성분으로, 3차원 배열로 지정됩니다. WX, Y, Z, U, V와 크기가 동일해야 합니다.

x축 흐름선 시작 위치로, 벡터나 행렬로 지정됩니다. startX는 스칼라이거나 startYstartZ와 크기가 동일해야 합니다.

y축 흐름선 시작 위치로, 벡터나 행렬로 지정됩니다. startY는 스칼라이거나 startXstartZ와 크기가 동일해야 합니다.

z축 흐름선 시작 위치로, 벡터나 행렬로 지정됩니다. startZ는 스칼라이거나 startXstartY와 크기가 동일해야 합니다.

흐름선 옵션으로, 다음 형식 중 하나의 요소를 1개 또는 2개 가진 벡터로 지정됩니다.

  • step

  • [step maxvert]

step은 흐름선 분해능을 조정하고 흐름선 속도가 보간되는 꼭짓점 위치를 결정하는 데 사용되는 스텝 크기입니다. maxvert는 계산이 완료되기 전에 흐름선에 대해 계산되는 최대 꼭짓점 개수입니다.

디폴트 스텝 크기는 0.1이고 흐름선의 디폴트 최대 꼭짓점 개수는 10,000입니다.

확장 기능

버전 내역

R2006a 이전에 개발됨