2013-11-26 5 views
0

저는 matlab 및 simulink를 처음 사용합니다.n * 1 행렬의 윤곽 그리기

나는 두 개의 입력이 거리와 속도 (함수로 각각)를 가지고 함수 P가 ..

내가 시뮬 내 시스템을 모델링하고 나는 기능 때문에 매트랩 기능이라고 블록의 P 기능을 썼다 예를 들어 if 문을 가지고 있습니다 (v <이 0이면 P = 1 else P = 1/v + d).

속도 및 거리의 함수

이제 I 배열로서 P, 속도 및 거리를 작업 공간 블록을 추가 .. 사인 및 코사인과 다른 주파수의 형태이다. 작업 공간에는 세 가지 모두에 대한 n * 1의 배열이 있습니다.

나는 영향을주지 않고 매트릭스 2 * 2 ..

어떻게 나는 P를 변경할 수 있습니다 적어도 매트릭스로 동의 속도와 거리 만 윤곽에 따라 P의 윤곽을 그리려는 내 나는 속도와 거리에 관하여 P에 대한 윤곽선을 그려야하겠습니까 ?? 여기

+0

실제로 Simulink와 관련된 문제입니까? 시뮬레이션이 괜찮 았는지, 이제 Simulink 외부의 플롯에 문제가 있다는 것을 이해합니까? 'plot' 대신에'contour'를 사용 하시겠습니까? – thewaywewalk

+0

yes 보통 플로팅이 아닌 등고선을 사용하고 싶습니다 ... 블록을 직장에 사용했지만 이제는 치수가 n * 1 인 배열과 윤곽선 만 가지고있는 것처럼 시뮬 링크 외부의 값을 가져 오는 데 문제가 없습니다 그것을 허용하지 않습니다 ... 윤곽을 그리는 데 나를 도울 다른 방법을 찾고 싶습니다. – user1413188

+2

윤곽 플롯에없는 곡면이 필요합니다. 많은 거리에서 P (속도)가 필요합니다. 당신은 실제로 단순한 3Dplot ('plot3')에 대한 데이터를 가지고 있습니다 - 축 대신에'v'와'x'가있는 산점도를 사용하고 점을 색칠하기 위해서는'P'를 사용할 수 있습니다. – thewaywewalk

답변

0

은 당신이 할 수있는 것입니다 :

  1. 참조 속도와 당신이 가진 속도, 그 기반으로 2 차원 그리드를 정의한다.
  2. 그리드의 각 지점에 정확한 값을 입력하십시오 (시뮬레이션 결과에 따라)
  3. contour 기능을 사용하십시오.

그리드의 상당 부분이 덮여 있다면 윤곽 그리기가 대부분 의미가 있습니다. 그렇지 않으면 @thewaywewalk 제안대로 help plot3을 시도하십시오.

+0

2 차원 격자를 정의하는 방법 .. [x, y] = meshgrid (x, y)를 의미하지만 x와 y에 대한 값을 이미 가지고 있습니다. x와 y는 크기 n * 1의 데이터 배열입니다. – user1413188

+0

x 값의 범위는 1,2,3이고 y 값의 범위는 1,2이며 그리드를 NaN (3,2)으로 정의 할 수 있습니다. 그 후에 모든 발생 지점을 채우십시오. –

관련 문제