利用MATLAB进行验证性实验 1划艇比赛的成绩 2汽车刹车距离 生猪的出售时机模型求解.docx
- 文档编号:24272167
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:15
- 大小:99.96KB
利用MATLAB进行验证性实验 1划艇比赛的成绩 2汽车刹车距离 生猪的出售时机模型求解.docx
《利用MATLAB进行验证性实验 1划艇比赛的成绩 2汽车刹车距离 生猪的出售时机模型求解.docx》由会员分享,可在线阅读,更多相关《利用MATLAB进行验证性实验 1划艇比赛的成绩 2汽车刹车距离 生猪的出售时机模型求解.docx(15页珍藏版)》请在冰豆网上搜索。
利用MATLAB进行验证性实验1划艇比赛的成绩2汽车刹车距离生猪的出售时机模型求解
大学《数学模型》实验实验报告
班级专业
15计科2班
宇轩
学号
实验地点
C1-229
指导老师
司建辉
成绩
实验项目
利用MATLAB进行验证性实验
1.划艇比赛的成绩
2.汽车刹车距离
3.生猪的出售时机模型求解
1、实验目的
学会利用MATLAB进行验证性实验,熟练掌握用数据拟合求解模型和参数。
了解并使用最小二乘多项式拟合函数polyfit,仿照案例今后能够自己解决图形问题。
2、实验要求
1.划艇比赛的成绩的模型:
t=αnβ
其中,t为比赛成绩(时间),n为桨手人数,α和β为参数。
为适合数据拟合,将模型改为:
logt=logα+βlog
桨手人数n比赛平均成绩t
17.17
26.88
46.32
85.84
1>.参数α和β估计
程序如下:
clear;clc;
n=[1248];
t=[7.216.886.325.84];
logt=log(t);logn=log(n);
p=polyfit(logn,logt,1);
beta=p
(1)
alfa=exp(p
(2))
2>.实际值与计算值比较(数据比较和和拟合图形)
参考数据结果:
ans=
17.217.2842
26.886.7799
46.326.3106
85.845.8737
参考图形结果:
图1:
题给拟合图形结果
要求:
1)运行以上程序。
2)编程:
实际值与计算值比较(数据比较和和拟合图形)。
3)用help查询函数polyfit的用法。
2.汽车刹车距离的模型:
d=t1v+kv2
其中,d为刹车距离,变量v为车速,参数t1为反应时间,参数k为比例系数。
取经验值t1=0.75秒。
实际数据表
车速实际刹车距离
(英里/小时)(英尺/秒)(英尺)
2029.344
3044.078
4058.7124
5073.3186
6088.0268
70102.7372
80117.3506
1 用数据拟合求参数k
为适合数据拟合,将模型改为:
y=k
其中y=(d-0.75v)/v2
程序如下:
clear;clc;
v=[29.344.058.773.388.0102.7117.3];%英尺/秒
d=[4478124186268372506];%最大实际刹车距离(英尺)
y=(d-0.75*v)./v.^2;
k=polyfit(v,y,0)
2 用所得模型计算刹车距离和刹车时间(数据比较)
程序如下:
clear;clc;
k=;%输入上题所求得的结果
v=[29.344.058.773.388.0102.7117.3];%英尺/秒
d=[4478124186268372506];%最大实际刹车距离(英尺)
dd=0.75*v+k*v.^2;%计算刹车距离
t=d./v;%计算刹车时间
formatshortg;
[v',d',round(10*[dd',t'])/10]
3 实际和计算刹车距离的比较(拟合图形)
程序如下:
clear;clc;
k=;%输入题1所求得的结果
vh=[20304050607080];%英里/小时
v=[29.344.058.773.388.0102.7117.3];%英尺/秒
d=[4478124186268372506];%最大实际刹车距离(英尺)
dd=0.75*v+k*v.^2;%计算刹车距离
plot(vh,d,'r+',vh,dd,'b-');
title('实际和计算刹车距离的比较');
axis([20,80,0,510]);
xlabel('v英里/小时');
ylabel('d英尺');
要求:
1)运行以上程序,结果与教材相应容比较。
2)题2和题3中要求输入题1所求得的k值。
3)理解程序。
3.生猪的出售时机模型求解
目标函数(生猪出售纯利润,元):
Q(t)=(8-gt)(80+rt)-4t-640
其中,t≥0为第几天出售,g为每天价格降低值(常数,元/公斤),r为每天生猪体
重增加值(常数,公斤)。
求t使Q(t)最大。
1 图解法
绘制目标函数
Q(t)=(8-gt)(80+rt)-4t-640
的图形(0≤t≤20)。
其中,g=0.1,r=2。
程序如下:
clear;clc;
g=0.1;r=2;
fplot((t)(8-g*t)*(80+r*t)-4*t-640,[0,20]);
grid;
xlabel('t');ylabel('Q');
2 代数法
对目标函数
Q(t)=(8-gt)(80+rt)-4t-640
用MATLAB求t使Q(t)最大。
其中,r,g是待定参数。
程序如下:
clear;clc;
symst;%定义符号变量t
Q=sym('(8-g*t)*(80+r*t)-4*t-640')%建立符号表达式
dQ=diff(Q,'t')%求微分dQ/dt
t=solve(dQ,t)%求dQ=0的解t
r=2;g=0.1;
t=eval(t)%求r=2,g=0.1时的t值
Q=eval(Q)%求r=2,g=0.1,t=10时的Q值(最大值)
要求:
1)运行以上程序。
2)理解程序,对照教材相关容。
3、实验容
划艇比赛的成绩
1.用数据拟合求参数α和β。
给出α和β值和模型:
alfa=7.2842
bata=-0.1035
模型:
logt=logα+βlogn或t=αnβ
2.实际值与计算值比较(数据比较和和拟合图形),程序和运行结果。
数据比较:
>>[n',t',(alfa*n.^bata)']
ans=
1.00007.21007.2842
2.00006.88006.7801
4.00006.32006.3109
8.00005.84005.8742
拟合图形:
图2:
拟合图形结果
源程序如下:
>>n=[1248];
>>t=[7.216.886.325.84];
>>logt=log(t);
>>logn=log(n);
>>p=polyfit(logn,logt,1);
>>bata=p
(1);
>>alfa=exp(p
(2));
>>x=0:
0.01:
10;
>>y=alfa*x.^bata;
>>plot(n,t,'r+',x,y);
>>axis[0,10,5,11]
>>[n',t',(alfa*n.^bata)']
汽车的刹车距离
1.用数据拟合求参数k。
给出k值和模型。
k=0.0258
模型:
k=(d-0.75v)/v2
2.用所得模型计算刹车距离和刹车时间(数据比较),运行结果。
>>k=0.0258;
>>v=[29.344.058.773.388.0102.7117.3];
>>d=[4478124186268372506];
>>dd=0.75*v+k*v.^2;
>>t=d./v;
>>formatshortg;
>>[v',d',round(10*[dd',t'])/10]
ans=
29.34444.11.5
447882.91.8
58.7124132.92.1
73.3186193.62.5
88268265.83
102.7372349.13.6
117.35064434.3
3.实际和计算刹车距离的比较(拟合图形),运行结果。
>>k=0.0258;
>>vh=[20304050607080];
>>v=[29.344.058.773.388.0102.7117.3];
>>d=[4478124186268372506];
>>dd=0.75*v+k*v.^2;
>>plot(vh,d,'r+',vh,dd,'b-');
>>title('实际和计算刹车距离的比较');
>>axis([20,80,0,510]);
>>xlabel('v英里/小时');
>>ylabel('d英尺');
图3:
拟合图形结果
生猪的出售时机模型求解
1.题1程序运行结果,从函数图估计t为何值时函数取得最大值。
>>g=0.1;r=2;
>>fplot((t)(8-g*t)*(80+r*t)-4*t-640,[0,20]);
>>grid;
>>xlabel('t');ylabel('Q');
图4:
拟合图形结果
当t=10时函数取得最大值
2.题2程序运行结果。
>>symst;
>>Q=sym('(8-g*t)*(80+r*t)-4*t-640')
Q=(8-g*t)*(80+r*t)-4*t-640
>>dQ=diff(Q,'t')
dQ=-g*(80+r*t)+(8-g*t)*r-4
>>t=solve(dQ,t)
t=2*(-20*g+2*r-1)/g/r
>>r=2;g=0.1;
>>t=eval(t)
t=10
>>Q=eval(Q)
Q=20
4、实验结果及其分析
1.polyfit函数用法:
polyfit函数是matlab中用于进行曲线拟合的一个函数。
曲线拟合:
已知离散点上的数据集,即已知在点集上的函数值,构造一个解析函数(其图形为一曲线)使在原离散点上尽可能接近给定的值。
调用方法:
polyfit(x,y,n)。
用多项式求过已知点的表达式,其中x为源数据点对应的横坐标,可为行向量、矩阵,y为源数据点对应的纵坐标,可为行向量、矩阵,n为你要拟合的阶数,一阶直线拟合,二阶抛物线拟合,并非阶次越高越好,看拟合情况而定。
2关于实验:
划艇比赛的成绩.
将浆手人数和比赛平均成绩作为两个向量,根据模型,将两向量分别取对数后进行一次拟合,并求出参数alfa=7.2842和bata=-0.1035。
依据函数模型建立Y与X的函数表达式,根据题给图形,X为以0为起点,以10为终点,以0.01为步长的一维矩阵。
利用plot函数绘制图形时要注意题干中数据点为红色十字形,曲线为蓝色,并且图给Y是从5到11变化,因此要求使用axis函数进行限制
实验中最开始将X变量设置为X=0:
10,因此绘制出图形如下:
图5:
步长为1时拟合图形结果
将步长改为0.1后:
图6:
步长为0.1拟合图形结果
最后步长为0.01才得到满意的结果,因此今后实验中要注意限制。
3.关于实验:
汽车刹车距离
将车速v和刹车距离d作为两个向量,根据模型d=t1v+kv2,y=k其中y=(d-0.75v)/v2。
K的值为v和y进行拟合。
利用拟合进行实际和计算刹车距离的比较,横纵坐标分别为车速和刹车距离,其变化围为[20,80],[0,510]
4.关于实验:
生猪的出售时机模型求解
可用图解法和代数法均可求出二次函数的最值。
在代数法中应用的函数及其用法如下:
1 函数句柄/function_handle():
是一种间接调用函数的方式。
语法:
handle=functionname or handle=(arglist)anonymous_function
描述:
函数句柄(functionhandle)是一种能够提供函数间接调用的matlabvalue。
你可以通过传递句柄来调用各种其他功能。
你也可以将句柄存储到数据结构中备用(例如HandleGraphic回调)。
句柄是matlab的标准数据类型之一。
2 fplot函数:
功能:
在指定的围绘制函数图像
使用方法:
fplot在指定的围绘制函数图像,函数必须是y=f(x)的形式,其中x是一个指定围limits的向量,y是和x有相同大小的向量并包含在点x处的值。
如果对一个给定的x值,函数返回多于一个值,则y是每列包含f(x)的每一个分量的矩阵。
fplot(fun,limits)在指定的围limits画出函数名为fun的图像。
其中limits是一个指定x轴围的向量[xminxmax]或者是x轴和y轴围的向量[xminxmaxyminymax]。
3 syms是定义符号变量;sym则是将字符或者数字转换为字符。
y=sym(’x');和symsx;y=x;的功能一样。
另外symx和symsx有很大的区别:
symx是将字符‘x’转换为字符,而symsx则是定义符号变量x。
4 diff用法:
diff(函数),求函数的一阶导数;
diff(函数,n),求函数的n阶导数(n是具体整数);
diff(函数,变量名),求对变量的偏导数;
diff(函数,变量名,n),求对变量的n阶偏导数;
5 Solve函数用法:
在MATLAB中,solve函数主要是用来求解代数方程(多项式方程)的符号解析解。
也能解一些简单其他方程的数值解,不过对于解其他方程的能力很弱,此时求出的解往往是不精确或不完整的。
注意可能得到的只是部分的结果,并不是全部解。
6 eval()函数:
其功能就是将括号的字符串视为语句并运行比如eval('y1=sin
(2)')和语句y1=sin
(2)等价
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用MATLAB进行验证性实验 1划艇比赛的成绩 2汽车刹车距离 生猪的出售时机模型求解 利用 MATLAB 进行 验证 实验 划艇 比赛 成绩 汽车 刹车 距离 生猪 出售 时机 模型 求解