用matlab解决数学建模
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2、已知速度曲线v(t) 上的四个数据点下表所示
t=[0.15,0.16,0.17,0.18];
v=[3.5,1.5,2.5,2.8];
x=0.15:0.001:0.18
y=i n t e r p1(t,v,x,'s p l i n e')
S=t r a p z(x,y)
p=p o l y f i t(x,y,5);
d p=p o l y d
e r(p);
d p x=p o l y v a l(d p,0.18)
运行结果
S=
0.0687
Dpx=-
3、计算图片文件tu.bmp 给出的两个圆A,B 的圆心,和两个圆的两条外公切线和两条内公切线的切点的坐标。
(1)计算A 圆的圆心坐标
I=imread('tu.bmp');
[m,n]=size(I)
BW=im2bw(I)
BW(:,200:512)=1;
figure, imshow(BW)
ed=edge(BW);
[y,x]=find(ed);
x0=mean(x), y0=mean(y)
r1=max(x)-min(x),r2=max(y)-min(y)
r=(r1+r2)/4
x0 =109.7516
y0 =86.7495
r1 =162
r2 =158
r =80
(2)B圆的圆心坐标和半径
I=imread('tu.bmp');
BW=im2bw(I)
BW(:,1:200)=1;
imshow(BW)
ed=edge(BW);
[y,x]=find(ed);
x0=mean(x), y0=mean(y)
r1=max(x)-min(x),r2=max(y)-min(y)
r=(r1+r2)/4
x0 =334.0943
y0 =245.7547
r1 =165
r2 =158 r = 80.7500
外公切线上的切点
f=@(x)[(x(1,1)-109.7516)^2+(x(1,2)-86.7495)^2-80.5^2
(x(2,1)-334.0943)^2+(x(2,2)-245.7547)^2-80.75^2
(x(2,2)-x(1,2))*(x(1,2)-86.7495)+(x(2,1)-x(1,1))*(x(1,1)-109.7516)
(x(2,2)-x(1,2))*(x(2,2)-245.7547)+(x(2,1)-x(1,1))*(x(2,1)-334.0943)
(x(1,1)-x(2,1))^2+(x(1,2)-x(2,2))^2+0.75^2-(334.0943-109.7516)^2-(245.7 516-86.7495)^2];
xy1=fsolve(f,rand(2,2))
xy2=fsolve(f,100*rand(2,2))
xlswrite('book1.xls',xy1)
xlswrite('book1.xls',xy2,'Sheet1','A4')
xy1 =156.2419 21.0312
380.7270 179.8309
xy2 =
153.7425 48.4651
289.4819 284.3808
4、求微分方程组的数值解,并画出解曲线
dy=@(t,y)[-10*y(1)+10*y(2);28*y(1)-y(2)-y(1)*y(3);-8/3*y(3)+y(1)*y(2)]; [t,y]=ode45(dy,[0,10],[1;0;0])
subplot(3,1,1),plot(t,y(:,1),'*')
subplot(3,1,2),plot(t,y(:,2),'*')
subplot(3,1,3),plot(t,y(:,3),'*')
012345678910
5、预测2012-2020年美国人口数量。说明数据的可靠来源,给出模型的假设,模型及求解的代码和计算结果。想想如何验证你模型的准确性。