:: 게시판
:: 이전 게시판
|
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다. 통합 규정을 준수해 주십시오. (2015.12.25.)
통합규정 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/15 00:39
스플라인 메소드를 잘못 이해하신 것 같은데요.
"촘촘하게 피팅하기 위해" 라는 부분이 틀렸습니다. xi 를 엄청 엉성하게 잡든, 촘촘하게 잡든 피팅결과는 변하지 않습니다. spline함수는 x, y를 이용해서 피팅을 할 뿐이고, 그 결과는 xi가 아닌 x, y에만 의존합니다. x, y를 이용해서 피팅함수를 구한 수, 그 피팅함수에 xi 를 넣었을 때 나올 값들을 가지고 yispl 을 구성할 뿐입니다. xi를 촘촘하게 하면, 화면에 보이는 선이 촘촘해지는거지 피팅이 더 정확해지진 않습니다. 원하는 임의의 벡터를 x_rand 라고 하면, 그냥 yispl = interp1(x,y,x_rand,'spline') 하시면 됩니다.
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 01:15
하다가 안되면 구글에 키워드로 검색해서 관련 함수 찾고, 함수명 찾으면 매트랩에서 도움말(F1) 연 다음에 해당 함수 검색해서 써져있는 설명들 읽고 써보면서 익혔습니다. 요즘엔 한글로도 도움말 잘 나오더라구요.
18/08/15 11:41
index = find(xi = 2.345)
이 부분 index = find(xi == 2.345) 이렇게 해야 하겠네요 생각해보니
|