:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
07/09/27 23:10
a=one(:,1);
b=one(:,2); c=one(:,3); for z=(1:1500) x=(z==b); y=(z==b); hold on plot(a(x),c(y)) end 위의 구조를 그대로 둔다면 ;를 붙이시는게 속도가 빨라집니다. 그리고 해봤는데 멀 그리신 건지 잘 모르겠어요. ㅡㅡ
07/09/27 23:39
제가 말을 못해서 죄송합니다~ㅠ.ㅠ 0~~1.6킬로미터의 어느 도로의 한레인을 항공사진으로 1시간동안 매1초마다 사진을 찍었습니다
그래서 차량마다 고유의 번호를 붙였습니다 그리고 매초마다 차량이 변하는 거리를 측정했습니다 그걸 엑셀에 표현했습니다 저는 시간마다 변하는 차량의 위치의 변화를 그래프로 표현하고 싶습니다~ 쉽게 말해서 시공도를 그리는거라고 이해하시는게 편할듯싶네요^^
07/09/28 00:41
find란 명령어가 있습니다. 벡터나 매트릭스에서 해당 조건에 맞는 값을 가지는 원소의 행과 열 번호를 뽑아내는 겁니다.
예를 들자면 a = [ 1 1 2 2 2 3 ] 이란 벡터가 있을 때 find(a == 1) 이라면 a안에 1의 원소 인덱스 값을 뽑아내죠 결과는 [1 2] 가 되겠군요. find(a == 2) 이라면 a안에 2의 원소 인덱스 값을 뽑아내죠 결과는 [3 4 5] 가 되겠군요. find(a == 3) 이라면 a안에 3의 원소 인덱스 값을 뽑아내죠 결과는 [6] 이 되겠군요. 그럼 먼저 첫번째 차량의 정보를 뽑아내 봅시다. 첫번째 차량 번호는 무조건 one(2,1)에 들어 있습니다. 그렇다면 200인걸 쉽게 알 수 있을 겁니다. 그 다음 첫번째 차량의 정보가 어느 행부터 어느 행까지 입력되 있는지를 찾아보죠. 그렇다면 find(one(:,2) == 200) 을 이용하면 첫번째 차량의 정보가 몇행부터 몇행까지 있는지를 알 수 있습니다. 저 명령어는 one의 2번째 열에서 200이란 값을 가지는 행이 몇번째부터 몇번째인가를 알아 낼 수 있는 것입니다. 그렇다면 저 명령어로부터 얻어진 값을 이용해서 200번째 차량의 진행 시간과 해당 시간에서의 거리를 얻을 수 있습니다. 그 다음은, 두번째 차량의 번호가 어떤 건지를 알아야 하겠죠. 두번째 차량의 번호는 첫번째 차량의 정보가 몇행부터 몇행까지 있는지를 알면 금방 알 수 있습니다. 첫번째 차량의 정보가 있는 바로 아래 행은 두번째 차량의 정보가 확실하니까요. 예를 들자면, 1부터 3행까지 첫번째 차량의 정보가 있다는 것을 알았다면 4행은 두번째 차량의 정보라는 것을 자연스레 알 수 있게 됩니다. 그렇다면 두번째 차량의 번호를 얻을 수 있고, 마찬가지로 find 명령어를 이용해서 두번째 차량의 정보가 어디서부터 어디까지 있는지를 알 수 있습니다. 이것을 알면 두번째 차량의 진행 정보또한 얻을 수 있죠. 이런 식으로 세번째 차량부터 끝까지 반복하면 됩니다. 물론 위 코드로도 출력은 됩니다만, 차량번호를 1부터 1500까지 반복해서 검색하는 코드인데 문제는 차량번호가 1부터 1500까지 다 존재하는 것이 아니라 시간낭비가 된다는 것이죠. 무작정 1부터 1500까지 검색하는 것보다는 존재하는 차량번호를 찾아내서 정보를 뽑아내는게 훨씬 효율적입니다.
|