Matlab/다항식 문서 원본 보기
←
Matlab/다항식
둘러보기로 이동
검색으로 이동
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
{{상태상자|진행시작|대학 강의|공학|강의형}} 여기서는 Matlab을 통해 함수의 근사해를 구하는 방법에 대해 소개합니다. == roots를 이용해 다항식 근 구하기 == roots([항들의 계수를 콤마(,)를 이용해 나열]) 함수를 통해 다항식의 근을 구할 수 있습니다.<ref>GNU Octave command line에서 help roots를 입력해 나온 도움말을 참고함</ref> 예를 들어 <math>x^2 -3x +2 = 0</math>의 근을 구하고자 한다면, <source lang="octave"> >> roots([1,-3,2]) % 항들의 계수를 콤마(,)를 이용해 [] 안에 나열 ans = 2 1 </source> 또는 다음과 같이 미리 roots안에 들어갈 벡터를 만들어주어도 됩니다. <source lang="octave"> >> p=[1,-3,2]; % 미리 p라는 벡터 안에 해를 구하고자 하는 다항식의 계수들만 넣어서 할 수도 있음 >> roots(p) ans = 2 1 </source> 주의할 점은, 계수가 0인 항이 있을 때입니다. 예를 들어 <math>x^2 - 5 = 0</math>의 근을 구하고자 한다면, <source lang="octave"> >> roots([1, 0, -5]) % 1차항의 계수가 0이더라도 반드시 다항식의 차수보다 낮은 항인 경우 0을 넣어주어야 합니다 ans = -2.2361 2.2361 </source> <source lang="octave"> >> roots([1, -5]) % 만일 중간에 0을 넣어주지 않으면 x-5=0의 해인 5를 구하게 됩니다.([] 안의 1을 1차항의 계수로 인식해버림) ans = 5 </source> == fzero == fzero(함수, 초기가정치)를 이용해 원하는 함수의 해를 구할 수 있습니다.<ref>GNU Octave command line에서 help fzero를 입력해 나온 도움말을 참고함</ref> 이때 '함수' 부분에 들어갈 함수는 미리 [[포털:기술 공학/Matlab/스크립트#익명함수|익명함수]]로 정의해주어야 합니다. <source lang="octave"> >> f=@(x)8-4.5*(x-sin(x)); % 익명함수 f를 정의 >> root=fzero(f,2) % 2를 초기 가정치로 하여 f의 근을 찾아 'root' 에 넣기 root = 2.4305 </source> 괄호 안에 직접 함수를 넣을 수는 없습니다. 다음 네 방식으로는 작동하지 않습니다. <source lang="octave"> >> root=fzero(8-4.5*(x-sin(x)),2) % 괄호 안에 직접 함수를 넣으면 오류 error: 'x' undefined near line 1 column 19 </source> <source lang="octave"> >> x=[] % x를 미리 선언한다고 해도 괄호 안에 직접 함수를 넣으면 오류 x = [](0x0) >> root=fzero(8-4.5*(x-sin(x)),2) error: fun(2): out of bound 0 error: called from fzero at line 145 column 6 </source> <source lang="octave"> >> x=1 % x를 미리 빈 변수가 아닌 다른 값으로 선언한다고 해도 괄호 안에 직접 함수를 넣으면 오류 x = 1 >> root=fzero(8-4.5*(x-sin(x)),2) error: fun(2): out of bound 1 error: called from fzero at line 145 column 6 </source> <source lang="octave"> >> root=fzero('8-4.5*(x-sin(x))',2) % 함수를 작은 따옴표를 이용해 넣어준다고 해도 오류 error: @8-4.5*(x-sin(x)): no function and no method found error: called from fzero at line 118 column 9 </source> == 대입해서 값 구하기 == polyval을 사용하면 대입해서 다항식의 값을 구할 수 있다. 예를 들어 x<sup>2</sup> - 3x + 2의 x = 2일 때의 값을 구하려면 다음과 같이 한다. <source lang="octave"> octave:1> polyval([1, -3, 2], 2) ans = 0 </source> == 각주 == <references/>
이 문서에서 사용한 틀:
틀:상태상자
(
원본 보기
)
Matlab/다항식
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
한국어
보기
읽기
원본 보기
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보