函数式-直接确定型模型

matlab实验

11人已加入

描述

函数式-直接确定型模型
3.1知识要点和背景:函数 — 直接确定性模型
     
 3.2实验与观察:插值与拟合
3.2.1  插值方法与多项式拟合的概念
3.2.2  用Matlab作插值和拟合
3.2.3   用鼠标选节点 观察插值、拟合的效果
      
3.2.4  观察程序说明
zxy3_1.m 
【      clf,a=-1;b=1;n=100;
  %用内联函数inline命令定义函数,
  %在后面可直接用于函数g的计算,要改变函数做实验,可按此格式重新定义g
g=inline('x^2-x^4');    xx=linspace(a,b,n);
for i=1:n
   gx(i)=gxx(i));   % 前面已经用inline命令定义了g,可以这样用g计算函数值
end
ymin=min(gx)*0.8;ymax=max(gx)*1.2;%分四个界面画图g的图形,以便于结果比较
subplot(2,2,1),
plot(xx,gx,'--'),grid,hold on,axis([a b ymin ymax]),title('近邻插值')
subplot(2,2,2),
plot(xx,gx,'--'),grid,hold on,axis([a b ymin ymax]),title('线性插值')
subplot(2,2,3),
plot(xx,gx,'--'),grid,hold on,axis([a b ymin ymax]),title('样条插值')
subplot(2,2,4),plot(xx,gx,'--'),
grid,hold on,axis([a b ymin ymax]),title('多项式拟合')
          %用鼠标在屏幕上选点[x,y,button] = ginput(n),可套用下面程序的格式
button=1;
x1=[a];y1=[gx(1)];
while button==1
 [xi,yi,button]=ginput(1);
       subplot(2,2,1),h=plot(xi,yi,'ro')               %在4个图形窗口画点
      subplot(2,2,2),h=plot(xi,yi,'ro')      
      subplot(2,2,3),h=plot(xi,yi,'ro')  
      subplot(2,2,4),h=plot(xi,yi,'ro')
       x1=[xi,x1];y1=[yi,y1];                          %将选的点存于向量x1,y1
end
   x1=[b,x1];y1=[gx(n),y1];      
        xx=linspace(a,b,n);        %定义自变量xx
     %计算不同的插值函数:x1,y1为节点,xx为输入自变量 
 ynearest=interp1(x1,y1,xx,'nearest');
 ylinear=interp1(x1,y1,xx,'linear');     
 yspline=interp1(x1,y1,xx,'spline');
      %多项式拟合指令[p,s] = polyfit(x,y,n),n为拟合多项式次数,x,y为被拟合数据


     %p为拟合多项式的系数,s是用来做误差 估计和预测的数据结构。
 [p,c]=polyfit(x1,y1,4);
  ypolyfit=polyval(p,xx);   %用polyval(p,x)计算系数为p的多项式在标量或向量x处的


subplot(2,2,1),h=plot(xx,ynearest,'r-');set(h,'linewidth',2)   %画图
subplot(2,2,2),h=plot(xx,ylinear,'r-');set(h,'linewidth',2);
subplot(2,2,3),h=plot(xx,yspline,'r-');set(h,'linewidth',2)
subplot(2,2,4),h=plot(xx,ypolyfit,'r-');set(h,'linewidth',2)                    

3.3应用、思考和练习
3.3.1若干函数的插值和拟合练习
3.3.2几个应用问题
1.  机床加工和水深流速问题
 2. 内燃机转角与升程的关系
 3. 随高度变化的大气压强
4. 交通事故的调查
3.3.4多元函数的插值
 1. 矩形温箱的温度
2.  航行区域的警示线
3.3.5 Fourier级数和周期函数的经验公式
    zxy3_2.m
【     clf,clear,
n=10;m=3;x=1:1:12;
y=[3.1 3.8 6.9 12.7 16.8 20.5 24.5 25.9 22.0 16.1 10.7 5.4];
z=(pi/6)*x;plot(z(1:12),y(1:12),'o');hold on
k=1:m;          %计算数据矩阵。
for i=1:n
   X(i,:)=[1 cos(k*z(i)) sin(k*z(i))];
end
c=inv(X'*X)*X'*y(1:n)',  %求解。
z1=linspace(0,2*pi,30);
s=[];                 %开始计算F-级数的部分和。
for i=1:30;
  sd=[1 cos(k*z1(i)) sin(k*z1(i))]'; %注意k是向量。
   sd=c.*sd;   s=[s,sum(sd)];
end
plot(z1,s,'r-'),hold on, xlabel('月份'),ylabel('平均气温')                 】

3.3.6由实验到理论:从开普勒定律和牛顿万有引力定律

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • 热点推荐
  • 模型

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分