PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2018/08/14 21:53:28
Name 물키벨
File #1 질문1.jpg (24.1 KB), Download : 34
Subject [질문] [매트랩]매트랩 초보의 간단한 코딩 질문입니다 (수정됨)


예를 들면 y=x^2 의 그래프를 그렸다고 가정 했을때,

1. 특정 x값(여기서는 x=1.84)에 대한 y값을 구하려면 어떻게 코딩해야 하나요?

2.
x값이 행렬로 주어졌을때 (여기서는 x = [0 , 1.2, 1.84, ....])
이때의 y결과값도 같은 크기의 행렬로 나오게 하는 것은 어떤식으로 코딩할수 있나요?

답변 부탁드려요~ 힌트라도 주시면 정말 감사하겠습니다.
-----------------------------------------------------------질문수정------------------------

데이터가 하나 있는데요,
값은 real.x0 (1x1099 double),real.y0 (1x1099 double) 에  저장된 상태입니다.
여기서 이 데이터들을 피팅한후에 그 피팅커브를 이용해서 측정하지 않은 x포인트 다수에 대한 y값들을 얻고 싶은데요.

x=real.x0;
y=real.y0;
xi=5:-0.001:0.2;  %일단 최대한 촘촘하게 피팅하기 위해 0.001로 나눔%
yispl=interp1(x,y,xi,'spline'); %스플라인 방법으로 피팅%
plot(x,y,'o',xi,yispl,'r')

이렇게 하여서 첨부한 그림파일처럼 파란건 실측값, 빨간선은 이것을 x간격이 0.001인 피팅한 커브입니다.
이때 제가 하고싶은건 x가 임의로 정해진 큰 벡터일때 (ex:  1, 2.345, 2,459, 3... )이 x들에 대한 yispl값(피팅커브)을 구하고 싶은 상태입니다


통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
18/08/14 22:32
수정 아이콘
1. 정확히 어떤 질문인지 모르겠는데, 1.84^2를 직접 계산하는 방법밖에는 모르겠네요. 코딩에서는 무한히 많은 x값에 대해서 전부 계산할 수는 없으니까요.. 아니면 눈금을 0.1 단위로 그려서 x = 1.80, 1.90에서의 값을 구한 뒤 interpolation 해야겠네요. 이러면 정확한 값은 아니겠죠.

2. y=zeros(length(x), 1) 이런 식으로 x와 같은 크기의 벡터를 만든 뒤에 y(1)부터 계산하면 될 것 같아요.
물키벨
18/08/14 22:59
수정 아이콘
질문이 부정확한거 같아서 수정했어요..
18/08/15 00:37
수정 아이콘
x와 y의 관계가 explicit하게 정의된 상황이면 자명하게 해당값을 구할수 있는 상황 아닌가요?
물키벨
18/08/15 00:57
수정 아이콘
제가 매트랩 쓴지 며칠 안되는데 말씀하신거처럼 분명 쉽게 구할수 있을텐데 삽질하고 있는거 같아요. 계속 오류가 나서요.
Bluelight
18/08/15 00:39
수정 아이콘
(수정됨) 스플라인 메소드를 잘못 이해하신 것 같은데요.

"촘촘하게 피팅하기 위해" 라는 부분이 틀렸습니다. xi 를 엄청 엉성하게 잡든, 촘촘하게 잡든 피팅결과는 변하지 않습니다. spline함수는 x, y를 이용해서 피팅을 할 뿐이고, 그 결과는 xi가 아닌 x, y에만 의존합니다. x, y를 이용해서 피팅함수를 구한 수, 그 피팅함수에 xi 를 넣었을 때 나올 값들을 가지고 yispl 을 구성할 뿐입니다. xi를 촘촘하게 하면, 화면에 보이는 선이 촘촘해지는거지 피팅이 더 정확해지진 않습니다.

원하는 임의의 벡터를 x_rand 라고 하면, 그냥 yispl = interp1(x,y,x_rand,'spline') 하시면 됩니다.
Bluelight
18/08/15 00:44
수정 아이콘
(수정됨) 지금 정의하신 xi 와 그에 대한 yispl 이 있다고 했을 때, 이 xi의 요소 중에 x0=2.345 라는 값이 존재하고, 그 인덱스를 이용해 해당하는 yispl 값을 찾고싶다면 find 함수를 활용하는 방법이 있습니다.

index = find(xi = 2.345);
y_at_x0 = yispl(index);
물키벨
18/08/15 00:55
수정 아이콘
피드백 정말 감사합니다. 지금 매트랩을 못돌려서 내일 출근하면 해보겠습니다~
물키벨
18/08/15 00:58
수정 아이콘
번외로 혹시 매트랩 어떻게 공부하셨는지 여쭤봐도 될까요?
Bluelight
18/08/15 01:15
수정 아이콘
하다가 안되면 구글에 키워드로 검색해서 관련 함수 찾고, 함수명 찾으면 매트랩에서 도움말(F1) 연 다음에 해당 함수 검색해서 써져있는 설명들 읽고 써보면서 익혔습니다. 요즘엔 한글로도 도움말 잘 나오더라구요.
물키벨
18/08/15 01:17
수정 아이콘
감사합니다
Bluelight
18/08/15 11:41
수정 아이콘
index = find(xi = 2.345)

이 부분

index = find(xi == 2.345)

이렇게 해야 하겠네요 생각해보니
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
123536 [질문] 스타1 래더 등급전 질문이요 [3] 피스~2623 18/08/14 2623
123535 [질문] 안드로이드 캡쳐 후 편집 가능한 앱 찾습니다. 행복a2816 18/08/14 2816
123534 [질문] [매트랩]매트랩 초보의 간단한 코딩 질문입니다 [11] 물키벨3160 18/08/14 3160
123532 [질문] 최소의 동선으로 은행투어를 할 수 있는 곳이 어디일까요? [4] 유랑2397 18/08/14 2397
123531 [질문] 스타1 두가지 질문입니다 [2] 틀림과 다름2249 18/08/14 2249
123530 [질문] 아프리카 bj 수입이 얼마나 될까요. [16] 삭제됨5288 18/08/14 5288
123528 [질문] MSI PH67S-C43 (MS-7673) 메인보드에 호환되는 cpu가 궁금합니다 [4] 스컬로매니아3382 18/08/14 3382
123527 [질문] 정치인의 불륜에 대해 어떻게 보시나요? [26] 마르키아르3334 18/08/14 3334
123526 [질문] (완료)하스 친선전 같이 하실 분 [3] 귤마법사1126 18/08/14 1126
123525 [질문] 인수인계에 법적인 책임이 있나요? [2] 최예원2487 18/08/14 2487
123524 [질문] 포토프린터 쓰시는 분들께 질문있습니다 [2] 삭제됨1999 18/08/14 1999
123523 [질문] SPOTV NOW를 TV로 보는 방법은 어떤 방법이 있을까요? (TVOUT) [2] Healing12799 18/08/14 12799
123522 [질문] 샤오미 전기자전거 한국에서 일본으로 가져가기 질문입니다. [4] 동네똥개3441 18/08/14 3441
123521 [질문] 사람이 직접 그린 그림을 살 수 있는 곳 공유 부탁드립니다 [1] 조말론2061 18/08/14 2061
123519 [질문] 32인치 모니터 FHD? QHD? [10] 무당벌레4915 18/08/14 4915
123518 [질문] 제 2금융권의 주택담보대출에 대해 여쭤보고 싶습니다 [8] 휘군2357 18/08/14 2357
123517 [질문] 넨도로이드 엘사 간단 질문입니다. [1] StayAway1204 18/08/14 1204
123516 [질문] 와우 직업 추천 부탁드려요 [7] 그림속동화3557 18/08/14 3557
123514 [질문] 용아맥 그래비티 좌석 추천? [3] 냉면처럼1965 18/08/14 1965
123513 [질문] 12살 요키 홍두께살 급여 괜찮을까요? [1] 개떵이다1714 18/08/14 1714
123512 [질문] 그림을 사고싶은데요 [3] 조휴일1553 18/08/14 1553
123511 [질문] 불법주정차 신고했는데 맞는걸까요? (2) [8] Liverpool FC2769 18/08/14 2769
123510 [질문] 불법주정차 신고했는데 맞는걸까요? [1] Liverpool FC2296 18/08/14 2296
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로