《数学实验与Matlab》程序(4)

2019-01-12 13:57

数学实验与Matlab

16

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应用、思考和练习

16

数学实验与Matlab

17

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是向量。

17

数学实验与Matlab

sd=c.*sd; s=[s,sum(sd)]; end

plot(z1,s,'r-'),hold on, xlabel('月份'),ylabel('平均气温') 】

18

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

实验4. 微分、积分和微分方程

4.1. 知识要点和背景:微积分学基本定理

4.2 实验与观察(Ⅰ):数值微积分

4.2.1实验:积分定义、微分方程和微积分基本定理的联系

◆步骤1.

【 n=4;n1=n+1;x=linspace(0,pi,n1);f=myfun2_2(x);[0:n;x;f] 】 ◆步骤2.

【 y(1)=0; y(2)=y(1)+f(1)*(x(2)-x(1));

P_intial=[x(1),y(1)],P_final=[x(2),y(2)], 】 ◆步骤3.

【 y(3)=y(2)+f(2)*(x(3)-x(2));

P_intial=[x(2),y(3)], P_final=[x(3),y(3)] 】 ◆ 步骤4。

【 Dy=y(3)-y(2) 】

【 DS=f(2)*(x(3)-x(2)) 】

18

◆步骤5 .

4.2.2 求解数值积分的Matlab积分命令

◆观察cumsum指令的功能。 【 x=[1 1 1 1 1];I=cumsum(x) 】 ◆观察:用累积和命令cumsum计算积分。 【 x=linspace(0,pi,50); y=sin(x);

T=cumsum(y)*pi/(50-1);I=T(50) 】 ◆观察梯形公式计算的效果。

【 x=linspace(0,pi,50); y=sin(x);T=trapz(x,y) 】 ◆ 观察辛普森积分公式的计算效果。

【 I1=quad('sin',0,pi), I2=quad8('sin',0,pi), 】

◆ 观察:用解常微分方程的方法计算积分sin(x)dx。

【 y0=0;[x,y]=ode23('myfun2_2',[0,pi],y0);s=length(y);y(s) 】

【 y0=0;[x,y]=ode45('myfun2_2',[0,pi],y0);s=length(y);y(s) 】

?0?4.2.3 观察程序及其说明

zxy4_1.m (观察方程的解曲线族,图4.1) 【 clf,clear,a=0;b=pi;c=0;d=2.2;n=20;

[X,Y]=meshgrid(linspace(a,b,n),linspace(c,d,n)); z=X.*Y; Fx=cos(atan(sin(X)));Fy=sin(atan(sin(X))); quiver(X,Y,Fx,Fy,0.5),hold on,axis([a,b,c,d]) [x,y]=ode45('zxy4_1f',[0,pi],0); [x1,y1]=ode45('zxy4_1f',[0,pi],0.2); [x2,y2]=ode45('zxy4_1f',[0,pi],0.4); [x3,y3]=ode45('zxy4_1f',[0,pi],0.6);

plot(x,y,'r.-',x1,y1,'r.-',x2,y2,'r.-',x3,y3,'r.-'), xlabel('x') ,ylabel('y') 】 zxy4_1f.m

19

【 function dy=zxy4_1f(x,y)

dy=sin(x); 】 . 观察 程序zxy4_2.m (图4.1~4.3)

【 clf, a=0;b=4*pi;n=31;

x=linspace(a,b,n); y=zeros(1,n); y(1)=0; s(1)=0;

for i=1:n-1 dy=myfun2_2(x(i)); y(i+1)=y(i)+dy*(x(i+1)-x(i)); hh(i)=myfun2_2(x(i));

s(i+1)=s(i)+hh(i)*(x(i+1)-x(i)); end

a1=0.9*a;b1=1.1*b; % 设置坐标范围。 ymin=min(y');ymax=max(y'); ymin1=ymin*0.9;ymax1=ymax*1.1;

subplot(2,1,1), %在第一幅图中画垂线,和原函数。

fplot('1-cos(x)',[0,pi],'r:');axis([a1 b1 ymin1 ymax1]),hold on, plot([x(1) x(1)],[ymin ymax]);

subplot(2,1,2), %在第二幅图中画被积函数图象。

fplot('myfun2_2',[a b],'-k');hold on,axis([a1 b1 ymin1 ymax1])

for i=1:n-1 %在第I个子区间上计算。

subplot(2,1,1),

plot([x(i+1) x(i+1)],[ymin ymax]); %在各分点画竖线。 plot([x(i) x(i+1)],[y(i),y(i)]); %画水平线。 h=plot([x(i+1) x(i+1)],[y(i),y(i+1)]); %画表示增量的垂线。 set(h,'linewidth',3,'color','b'); %设置线宽和颜色。

h1=plot([x(i) x(i+1)],[y(i) y(i+1)],'.-'); %画折线,设置图形属性 。 set(h1,'linewidth',2,'markersize',18); subplot(2,1,2),

xx=[x(i) x(i) x(i+1) x(i+1)]; yy=[0 hh(i) hh(i) 0]; %计算矩形顶

点坐标。

patch(xx,yy,[0.7 0.7 0.7]); %在第二幅图中画矩形块并填充颜色。

plot([x(i+1) x(i+1)],[ymin ymax]);

plot([x(1) x(1)],[s(i),s(i+1)],'r','linewidth',5); %在y轴上画面积增

20


《数学实验与Matlab》程序(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公选课试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: