2014-04-15 4 views
1

주어진 다항식에 대한 점이 있습니다. 통합하고 싶습니다, 선호 적분 적분을 사용하고 싶습니다만, polyint를 사용하는 구문은 약간의 수정 없이는 불가능하다고 생각합니다. 어쨌든, 만약 내가 그것을 통합 할 수만 있다면 거기에서 그것을 가져갈 수있을 것이다.MATLAB의 다항식 적분 및 플로팅

dpt=coeffvalues(fitresult{4}); 
ppval=polyval(dpt,xx) 

cpdt=coeffvalues(fitresult{2}); 
cpval=polyval(cpdt,xx) 

pint=(ppval./cpval); 
intp=polyint(pint); 

나는 하나는, 파인트 곡선의 결과를 피팅되는 계수를 발견하고 polyint 기능을 사용하여 ...이 방법으로 몇 일을 시도했습니다. 그러나 아무리 내가 그것을 할 어떤 방법 나는 항상 같은 세 가지 오류를 얻을 :

Error using ./ 
Matrix dimensions must agree. 

Error in polyint (line 16) 
pi = [p./(length(p):-1:1) k]; 

Error in ptintegrate97 (line 61) 
intp=polyint(ptint); 

을 일반적으로 그 문제의 원인,하지만 난 크기 (ppval)와 크기 (cpval)을 수행 할 때, 그들이하는 첫 번째 오류 둘 다 837x1. 그래서 나는 좀 잃어 버렸어. MATLAB이 처음인데, 어리석은 질문이라면 유감스럽게 생각합니다.

답변

0

polyint는 일련의 다항식 계수를 기대하기 때문에 여기서는 작동하지 않지만 이전 계산의 결과이며 임의의 다항식 계수와는 아무런 관련이없는 일련의 숫자를 제공합니다. 오류는 pint의 모양이 잘못 되었기 때문에 나타납니다. 그러나 그것이 옳았다하더라도, 당신은 당신이 원하는 대답을 얻지 못할 것입니다.

원하는 경우 숫자로 pint을 통합하도록 선택할 수 있습니다. pint 값에 simpson의 규칙을 사용하면 점 사이의 단계 크기가 충분히 작 으면 정답을 얻을 수 있습니다. 또는 절대 적분을 얻기 위해 기호 다항식 나누기로 돌아갈 수 있습니다. 나는 당신이 정확히 무엇인지, 당신의 요구 사항이 무엇인지 모릅니다.