최소 사각 법을 사용하여 사인 함수의 근사값을 찾는 프로젝트를 수행하고 있습니다. 또한 나는 내 자신의 선택의 12 값을 사용할 수 있습니다. 내가 그것을 해결하는 방법을 알아낼 수 없기 때문에 나는 사인에 대한 테일러의 시리즈를 사용하여 다음 5 순서의 다항식으로 해결 생각.최소 제곱을 사용하는 사인의 근사값 찾기
%% Find the sine of the 12 known values
x=[0,pi/8,pi/4,7*pi/2,3*pi/4,pi,4*pi/11,3*pi/2,2*pi,5*pi/4,3*pi/8,12*pi/20];
y=zeros(12,1);
for i=1:12
y=sin(x);
end
n=12;
j=5;
%% Find the sums to populate the matrix A and matrix B
s1=sum(x);s2=sum(x.^2);
s3=sum(x.^3);s4=sum(x.^4);
s5=sum(x.^5);s6=sum(x.^6);
s7=sum(x.^7);s8=sum(x.^8);
s9=sum(x.^9);s10=sum(x.^10);
sy=sum(y);
sxy=sum(x.*y);
sxy2=sum((x.^2).*y);
sxy3=sum((x.^3).*y);
sxy4=sum((x.^4).*y);
sxy5=sum((x.^5).*y);
A=[n,s1,s2,s3,s4,s5;s1,s2,s3,s4,s5,s6;s2,s3,s4,s5,s6,s7;
s3,s4,s5,s6,s7,s8;s4,s5,s6,s7,s8,s9;s5,s6,s7,s8,s9,s10];
B=[sy;sxy;sxy2;sxy3;sxy4;sxy5];
난 FE t = PI/2 I 얻을 잘못된 결과를 테일러 급수의 값을 교체하고 해결하려고하면
그럼 MATLAB에서 제가
>> a=A^-1*B
a =
-0.0248
1.2203
-0.2351
-0.1408
0.0364
-0.0021
그러나,이 결과를 얻기
>> t=pi/2;
fun=t-t^3*a(4)+a(6)*t^5
fun =
2.0967
나는 wro을하고있다. 내가 Taylor 시리즈의 a
매트릭스의 값을 대체 할 때 또는 초기 결함이 결함입니까?
참고 : 당신은 단순히 당신이 대략 그 몇 가지 x
abscissae을 생성 할 일정 간격을 결정하는 최소 자승 근사 필요한 경우 내가 어떤 내장 함수
당신은 원래 생각을 적어 주실 수 있습니까? 그것은 [반데르 몬데스 행렬] (http://en.wikipedia.org/wiki/Vandermonde_matrix)을 생각 나게하지만이 모든 합계를 더한 것입니다. – bdecaf
나는 이것을 당신이 요구하는 것이라면 [link] (http://kobus.ca/seminars/ugrad/NM5_curve_s02.pdf)로 사용했다. 그렇지 않다면, 내가 더 잘 설명 할 수 있도록 말해주십시오. –
아. 그렇다면 테스트 기능이 잘못되었습니다. 모든 a를 사용해야합니다. – bdecaf