필터 지우기
필터 지우기

How to calculate mean square error

조회 수: 1 (최근 30일)
Adriana
Adriana 2015년 3월 13일
편집: Guillaume 2015년 3월 13일
I am supposed to find the mean square error of a least square fit that I did. I cannot find where the bug in my code is. My error is huge- should be ~ 1e-4
%Hw 7
clear all
close all
y3=[1960;
1965;
1970;
1975;
1980;
1985;
1990;
1995];
y=[0;5;10;15;20;25;30;35];
w=[26.4;
31.9;
38.6;
46.7;
56.5;
68.3;
82.7;
100.0];
p=polyfit(y,w,1);
%Compute in 5 years and 10 years
k=2000;
future=((k-1995)+35);
Eq=2.0669*future+20.2167;
%After 40 years
Eq1=2.0669*40+20.2167;
%After 45 years
Eq2=2.0669*45+20.2167;
save w_2000_deg1.dat Eq1 -ascii
save w_2005_deg1.dat Eq2 -ascii
%Find error
y1=[0;5;10;15;20;25;30;35;40;45];
w1=[26.4;31.9;38.6;46.7;56.5;68.3;82.7;100.0;102.8927;113.2272];
n=10;
c=1;
e=0;
for i=1:n
e(i)=((2.066*y1(i,c)+20.2167)-w1(i,c))^2;
end
r=sum(e);
e_ans=(1/10)*r;
save e_deg1.dat e_ans -ascii
%Part b
s=log(w);
y4=y3-1959;
pp=polyfit(y4,s,1);
%model=0.0381*t+3.2347;
%c=e^alpha a=beta
g1=exp(3.2728)*exp(0.0381*40);
g2=exp(3.2728)*exp(0.0381*45);
save w_2000_exp.dat g1 -ascii
save w_2005_exp.dat g2 -ascii
n=10;
c=1;
h=0;
for i=1:n
h(i)=((exp(3.2728)*exp(0.0381*y1(i,c)))-w1(i,c))^2;
end
r=sum(h);
h_ans=(1/10)*r;
save e_exp.dat h_ans -ascii
Any input is appreciated!!

답변 (0개)

카테고리

Help CenterFile Exchange에서 Descriptive Statistics에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by