利用MATLAB进行验证性实验1划艇比赛的成绩2机动车刹车距离生猪的出售时机模型求解Word格式.docx

上传人:b****5 文档编号:19947000 上传时间:2023-01-12 格式:DOCX 页数:12 大小:178.84KB
下载 相关 举报
利用MATLAB进行验证性实验1划艇比赛的成绩2机动车刹车距离生猪的出售时机模型求解Word格式.docx_第1页
第1页 / 共12页
利用MATLAB进行验证性实验1划艇比赛的成绩2机动车刹车距离生猪的出售时机模型求解Word格式.docx_第2页
第2页 / 共12页
利用MATLAB进行验证性实验1划艇比赛的成绩2机动车刹车距离生猪的出售时机模型求解Word格式.docx_第3页
第3页 / 共12页
利用MATLAB进行验证性实验1划艇比赛的成绩2机动车刹车距离生猪的出售时机模型求解Word格式.docx_第4页
第4页 / 共12页
利用MATLAB进行验证性实验1划艇比赛的成绩2机动车刹车距离生猪的出售时机模型求解Word格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

利用MATLAB进行验证性实验1划艇比赛的成绩2机动车刹车距离生猪的出售时机模型求解Word格式.docx

《利用MATLAB进行验证性实验1划艇比赛的成绩2机动车刹车距离生猪的出售时机模型求解Word格式.docx》由会员分享,可在线阅读,更多相关《利用MATLAB进行验证性实验1划艇比赛的成绩2机动车刹车距离生猪的出售时机模型求解Word格式.docx(12页珍藏版)》请在冰豆网上搜索。

利用MATLAB进行验证性实验1划艇比赛的成绩2机动车刹车距离生猪的出售时机模型求解Word格式.docx

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

v=[29.344.058.773.388.0102.7117.3];

%英尺/秒

d=[4478124186268372506];

%最大实际刹车距离(英尺)

y=(d-0.75*v)./v.^2;

k=polyfit(v,y,0)

2 用所得模型计算刹车距离和刹车时间(数据比较)

k=;

%输入上题所求得的结果

dd=0.75*v+k*v.^2;

%计算刹车距离

t=d./v;

%计算刹车时间

formatshortg;

[v'

d'

round(10*[dd'

t'

])/10]

3 实际和计算刹车距离的比较(拟合图形)

%输入题1所求得的结果

vh=[20304050607080];

%英里/小时

%英尺/秒

%最大实际刹车距离(英尺)

plot(vh,d,'

r+'

vh,dd,'

b-'

);

title('

实际和计算刹车距离的比较'

axis([20,80,0,510]);

xlabel('

v英里/小时'

ylabel('

d英尺'

1)运行以上程序,结果与教材相应内容比较。

2)题2和题3中要求输入题1所求得的k值。

3)理解程序。

目标函数(生猪出售纯利润,元):

Q(t)=(8-gt)(80+rt)-4t-640

其中,t≥0为第几天出售,g为每天价格降低值(常数,元/公斤),r为每天生猪体

重增加值(常数,公斤)。

求t使Q(t)最大。

1 图解法

绘制目标函数

的图形(0≤t≤20)。

其中,g=0.1,r=2。

g=0.1;

r=2;

fplot(@(t)(8-g*t)*(80+r*t)-4*t-640,[0,20]);

grid;

t'

ylabel('

Q'

2 代数法

对目标函数

用MATLAB求t使Q(t)最大。

其中,r,g是待定参数。

symst;

%定义符号变量t

Q=sym('

(8-g*t)*(80+r*t)-4*t-640'

)%建立符号表达式

dQ=diff(Q,'

)%求微分dQ/dt

t=solve(dQ,t)%求dQ=0的解t

t=eval(t)%求r=2,g=0.1时的t值

Q=eval(Q)%求r=2,g=0.1,t=10时的Q值(最大值)

2)理解程序,对照教材相关内容。

三、实验内容

划艇比赛的成绩

1.用数据拟合求参数α和β。

给出α和β值和模型:

alfa=7.2842

bata=-0.1035

模型:

logt=logα+βlogn或t=αnβ

2.实际值与计算值比较(数据比较和和拟合图形),程序和运行结果。

数据比较:

>

[n'

(alfa*n.^bata)'

]

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,'

x,y);

axis[0,10,5,11]

汽车的刹车距离

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'

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.实际和计算刹车距离的比较(拟合图形),运行结果。

vh=[20304050607080];

plot(vh,d,'

title('

axis([20,80,0,510]);

xlabel('

图3:

生猪的出售时机模型求解

1.题1程序运行结果,从函数图估计t为何值时函数取得最大值。

g=0.1;

fplot(@(t)(8-g*t)*(80+r*t)-4*t-640,[0,20]);

grid;

图4:

当t=10时函数取得最大值

2.题2程序运行结果。

symst;

Q=sym('

Q=(8-g*t)*(80+r*t)-4*t-640

dQ=diff(Q,'

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;

t=eval(t)

t=10

Q=eval(Q)

Q=20

四、实验结果及其分析

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)等价

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1