赞
踩
- x=[19 25 31 38 44]';
- y=[19.0 32.3 49.0 73.3 97.8]';
- r=[ones(5,1),x.^2];
- ab=r\y
- x0=19:0.1:44;
- y0=ab(1)+ab(2)*x0.^2;
- plot(x,y,'o',x0,y0,'r')
- x0=[1990 1991 1992 1993 1994 1995 1996];
- y0=[70 122 144 152 174 196 202];
- plot(x0,y0,'*')
- x0=[1990 1991 1992 1993 1994 1995 1996];
- y0=[70 122 144 152 174 196 202];
- a=polyfit(x0,y0,1)
- y97=polyval(a,1997)
- y98=polyval(a,1998)
- x=[19 25 31 38 44]';
- y=[19.0 32.3 49.0 73.3 97.8]';
- r=[ones(5,1),x.^2];
- ab=lsqlin(r,y)
- x0=19:0.1:44;
- y0=ab(1)+ab(2)*x0.^2;
- plot(x,y,'o',x0,y0,'r')
- function f=fun1(x,tdata);
- f=x(1)+x(2)*exp(-0.02*x(3)*tdata); %其中 x(1)=a,x(2)=b,x(3)=k
- td=100:100:1000;
- cd=[4.54 4.99 5.35 5.65 5.90 6.10 6.26 6.39 6.50 6.59];
- x0=[0.2 0.05 0.05];
- x=lsqcurvefit(@fun1,x0,td,cd)
- function f=fun2(x);
- td=100:100:1000;
- cd=[4.54 4.99 5.35 5.65 5.90 6.10 6.26 6.39 6.50 6.59];
- f=x(1)+x(2)*exp(-0.02*x(3)*td)-cd;
- x0=[0.2 0.05 0.05]; %初始值是任意取的
- x=lsqnonlin(@fun2,x0)
- c=[0.0372 0.2869;0.6861 0.7071;0.6233 0.6245;0.6344 0.6170];
- d=[0.8587;0.1781;0.0747;0.8405];
- x=lsqnonneg(c,d)
- syms x
- base=[1,x^2,x^4];
- y1=base.'*base
- y2=cos(x)*base.'
- r1=int(y1,-pi/2,pi/2)
- r2=int(y2,-pi/2,pi/2)
- a=r1\r2
- xishu1=double(a)
- digits(8),xishu2=vpa(a)
- clc,clear
- load data.txt %data.txt 按照原始数据格式把水流量和排沙量排成 4 行,12 列
- liu=data([1,3],:);
- liu=liu';liu=liu(:);
- sha=data([2,4],:);
- sha=sha';sha=sha(:);
- y=sha.*liu;y=y';
- i=1:24;
- t=(12*i-4)*3600;
- t1=t(1);t2=t(end);
- pp=csape(t,y);
- xsh=pp.coefs %求得插值多项式的系数矩阵,每一行是一个区间上多项式的系数。
- TL=quadl(@(tt)ppval(pp,tt),t1,t2)
- clc,clear
- load data.txt %data.txt 按照原始数据格式把水流量和排沙量排成 4 行,12 列
- liu=data([1,3],:);
- liu=liu';liu=liu(:);
- sha=data([2,4],:);
- sha=sha';sha=sha(:);
- y=sha.*liu;y=y';
- i=1:24;
- t=(12*i-4)*3600;
- t1=t(1);t2=t(end);
- pp=spapi(4,t,y) %三次 B 样条
- pp2=fn2fm(pp,'pp') %把 B 样条函数转化为 pp 格式
- TL=quadl(@(tt)fnval(pp,tt),t1,t2)
- load data.txt
- liu=data([1,3],:);
- liu=liu';liu=liu(:);
- sha=data([2,4],:);
- sha=sha';sha=sha(:);
- y=sha.*liu;
- subplot(1,2,1), plot(liu(1:11),y(1:11),'*')
- subplot(1,2,2), plot(liu(12:24),y(12:24),'*')
- clc, clear
- load data.txt %data.txt 按照原始数据格式把水流量和排沙量排成 4 行,12 列
- liu=data([1,3],:); liu=liu'; liu=liu(:);
- sha=data([2,4],:); sha=sha'; sha=sha(:);
- y=sha.*liu;
- %以下是第一阶段的拟合
- format long e
- nihe1_1=polyfit(liu(1:11),y(1:11),1) %拟合一次多项式,系数排列从高次幂到低次幂
- nihe1_2=polyfit(liu(1:11),y(1:11),2)
- yhat1_1=polyval(nihe1_1,liu(1:11)); %求预测值
- yhat1_2=polyval(nihe1_2,liu(1:11));
- %以下求误差平凡和与剩余标准差
- cha1_1=sum((y(1:11)-yhat1_1).^2); rmse1_1=sqrt(cha1_1/9)
- cha1_2=sum((y(1:11)-yhat1_2).^2); rmse1_2=sqrt(cha1_2/8)
- %以下是第二阶段的拟合
- for j=1:3
- str1=char(['nihe2_' int2str(j) '=polyfit(liu(12:24),y(12:24),' int2str(j+1) ')']);
- eval(str1)
- str2=char(['yhat2_' int2str(j) '=polyval(nihe2_' int2str(j) ',liu(12:24));']);
- eval(str2)
- str3=char(['cha2_' int2str(j) '=sum((y(12:24)-yhat2_' int2str(j) ').^2);'...
- 'rmse2_' int2str(j) '=sqrt(cha2_' int2str(j) '/(11-j))']);
- eval(str3)
- end
- format
更多美赛资料,请点击下方名片获取:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。