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)

이렇게 해야 하겠네요 생각해보니
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
123550 [질문] [LOL] 베이가 장인 도움 필요합니다. [5] 이명헌2092 18/08/15 2092
123549 [질문] 자동차 얼룩제거ㅠㅠ [4] Part.33003 18/08/15 3003
123548 [질문] 마트에서 장 볼 때 유통기한 꼼꼼이 확인 하시나요? [20] 박현준3006 18/08/15 3006
123547 [질문] . [4] 삭제됨1979 18/08/15 1979
123545 [질문] 해운대 당일치기 질문 서쪽으로가자1447 18/08/15 1447
123544 [질문] 갤럭시기어s3 사려고합니다. [3] DogSound-_-*2136 18/08/15 2136
123543 [질문] 수영이 왜이렇게 어려울까요... [15] Demi3152 18/08/15 3152
123542 [질문] USB가 안되는 차에서 음악을 들으려면 어떻게 해야 하나요? [21] 도토리해물전4376 18/08/15 4376
123541 [질문] 루피 - gear2 처럼 타이트한 힙합 곡 없을까요? [4] 파급효과2792 18/08/15 2792
123539 [질문] 갤노트9 예약구매 관련 질문입니다. [4] 이시스2089 18/08/15 2089
123538 [질문] 미국에 경제 흐름을 공부할려면 [1] 밤하늘1663 18/08/14 1663
123537 [질문] 차 한 쪽 바퀴만 올린 상태로 좀 둬도 될까요?? [7] 차라리꽉눌러붙을2302 18/08/14 2302
123536 [질문] 스타1 래더 등급전 질문이요 [3] 피스~2615 18/08/14 2615
123535 [질문] 안드로이드 캡쳐 후 편집 가능한 앱 찾습니다. 행복a2779 18/08/14 2779
123534 [질문] [매트랩]매트랩 초보의 간단한 코딩 질문입니다 [11] 물키벨3151 18/08/14 3151
123532 [질문] 최소의 동선으로 은행투어를 할 수 있는 곳이 어디일까요? [4] 유랑2388 18/08/14 2388
123531 [질문] 스타1 두가지 질문입니다 [2] 틀림과 다름2244 18/08/14 2244
123530 [질문] 아프리카 bj 수입이 얼마나 될까요. [16] 삭제됨5271 18/08/14 5271
123528 [질문] MSI PH67S-C43 (MS-7673) 메인보드에 호환되는 cpu가 궁금합니다 [4] 스컬로매니아3368 18/08/14 3368
123527 [질문] 정치인의 불륜에 대해 어떻게 보시나요? [26] 마르키아르3325 18/08/14 3325
123526 [질문] (완료)하스 친선전 같이 하실 분 [3] 귤마법사1122 18/08/14 1122
123525 [질문] 인수인계에 법적인 책임이 있나요? [2] 최예원2482 18/08/14 2482
123524 [질문] 포토프린터 쓰시는 분들께 질문있습니다 [2] 삭제됨1987 18/08/14 1987
목록 이전 다음
댓글

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