案例分析报告
来源:成考 发布时间:2020-09-09 点击:
201 11 1 — 201 12 2 学年第 2 2 学期
合肥学院卓越工程师班
案例分析 报告
课程名称 :
工程应用数学 B
案例 名称 :
数据拟合
专业班级:
1 11 级自动化卓越班
起止 时间:
8 8- -1 11 周
组
别:
第五组
指导教师:
王 贵 霞
成
绩:
90
一. .
小组成员(具 体分工)
姓名
学号
具体分工
胡德文 1105011031 实验步骤,实验程序
王佐军 1105012020 实验结果,实验总结
朱自强 1105012015 提炼题目,问题分析
二 二. 案例描述
案例一:
温度观测问题
某地区观测站从 0:00 到 23:00 之间每一个小时的室内外温度(℃)用三次多项式与五次多项式分别求的该日室内外 0:00 到 23:00 之间每个一小时各点的温度(℃)。并图示拟合效果:温度随时间变化如表格所示。
时 间t(时) 0 2 4 6 8 10 12 14 16 18 20 22 温度 h 18.5 20.4 22.8 25.6 30.9 27.4 22.0 15.3 13.5 12.7 13.5 15.4 案例二:药品临床实验问题 一种新药用于临床之前,必须设计药量方案。药物进入机体后血液输送到全身,在这个过程中不断地被吸收、分布、代谢,最终排出体外,药物在血液中的浓度,即单位体积血液中的药物含量,称为血药浓度。一室模型:将整个机体看作一个房室,称中心室, 室内血药浓度是均匀的。快速静脉注射后,浓度立即上升;然后迅速下降。当浓度太低时,达不到预期的治疗效果;当浓度太高,又可能 导致药物中毒或副作用太强。临床上,每种药物有一个最小有效浓度1c 和一个最大有效浓度2c 。设计药量方案时,要使血药浓度 保持在 1 2c c : 之间。本题设1 210, 25 c c
(ug/ml).要设计给药方案,必须知道给药后血药浓度随时间变化的规律。从实验和理论两方面着手:
在实验方面, 0 t 时对某人用快速静脉注射方式一次注入该药物300mg后,在一定时刻 t
(小时)采集血药,测得血药浓度 c
(微克/毫升)如下表: t (h) 0.25 0.5 1 1.5 2 3 4 6 8 c(g/ml?) 19.21 18.15 15.36 14.10 12.89
9.32 7.45 5.24
3.01 问题:
1.在快速静脉注射的给药方式下,研究血药浓度(单位体积血液中的药物含量)的变化规律。
2.给定药物的最小有效浓度和最大治疗浓度,设计给药方案:每次注射剂量多大;间
隔时间多长。
案例 三:
混凝土的抗压强度
混凝土的抗压强度随养护时间的延长而增加,现将一批混凝土做成 12 个试块,记录了养护日期 x (日)及抗压强度 y (2/ kg cm )的数据:
时间x
2 3 4 5 7 9 12 14 17 21 23 56 强度y
35 r
42 r
47 r
53 r
59 r
65 r
58 r
73 r
76 r
82 r
86 r
99 r
建立非线性回归模型,对得到的模型和系数进行检验。
其中此题中的+r 代表加上一个[-0.5,0.5]之间的随机数 %模型为:
y=a+k1*exp(m*x)+k2*exp(-m*x)。
三 三. 提炼问题 (将实际问题数学化)
案例一 :如题目所要求的用三次多项式与五次多项式分别求的该日室内外 6:00 到 18:00之间每隔一小时各点的温度,将数据用多项式拟合。
案例二:
:题中 0 t 时对某人用快速静脉注射方式一次注入该药物300mg后,在一定时刻 t
(小时)采集血药,测得血药浓度 c
(微克/毫升),对表格中的数据进行拟合。
案例三 :建立非线性方程拟合混凝土的抗压强度随养护时间的延长而增加,现将一批混凝土做成 12 个试块,记录了养护日期 x (日)及抗压强度 y (2/ kg cm )的数据。
四 四. 问题分析
案例一:
:观测绘制成功的拟合曲线,看看是否符合一天的温度变化情况。
案例二 :
1.在快速静脉注射的给药方式下,研究血药浓度(单位体积血液中的药物含量)的变化规律。
2.给定药物的最小有效浓度和最大治疗浓度,设计给药方案:每次注射剂量多大;间隔时间多长。
案例三:主要分析混凝土的抗压强度随养护时间的延长而增加,现将一批混凝土作成 12个试块,记录了养护日期 x (日)及抗压强度 y (2/ kg cm )的数据,对于这个问题的主要解决思路是运用数据拟合工具箱。
五. 解决方案(提供多种备选)
案例一 1.数据点比较简单用三项式拟合曲线。
2.接着使用五次多项式拟合曲线比较两者的差别。
案例二 1.对表格中的数据进行一维差值拟合曲线。
2.使用 interp1 函数,再是因为只是有限样本点向量 x 和 y 中,差值产生向量 X 和 Y,所用方法定义有四种,其中 linear,线性差值,系统默认。cubic 其输出结果最平滑。
案例三 1.用多项式拟合曲线,过程和案例一基本类似。
2.用数据拟合工具箱拟合结果。其中有 y=a+k1*exp(m*x)+k2*exp(-m*x)模型的指数模拟函数。对于+r 的表示我们选择了产生随机数函数即 rand()函数,但是 rand(1)只能产生 0到 1 之间的数,当使用 rand(1)-0.5 时即可产生[-0.5,0.5]的小数。
3.数据拟合工具箱,在主界面与选择 notebook 一样,选择 start,接着点击 Toolboxes,点击其中的 Curve Fitting,即可,也可以直接在主界面输入>>cftool 并回车,即会出现 Curve Fitting Tool 窗口,而在此之前必须现在主界面输入数据否则在 Curve Fitting 中无法操作。接下来就是点击 Fitting 新建 New fit,按照老师的要求自定义y=a+k1*exp(m*x)+k2*exp(-m*x)的拟合类型,当然拟合工具箱中有自带的拟合函数,使用它们比较方便。例如 Gaussian——高斯法,包括八种公式,Polynomial---多项式,从一阶到九阶。
六. 方案实施及结果( 实 验程序等形式)
)
案例一 :
1.使用三次多项式拟合图形程序代码:
t=[ 0
2
4
6
8
10
12
14
16
18
20
22]; h=[18.5
20.4 22.8
25.6
30.9
27.4
22.0
15.3
13.5
12.7
13.5
15.4]; Y=polyfit(t,h,3); tt=0:0.5:24; hh=polyval(Y,tt) plot(tt,hh,"-b",t,h,"k:"),text(9.5,29,"实测温度"); text(15,16.5,"拟合温度"); xlabel("时间(h)");
ylabel("温度(℃)");
title("从 0:00 到 23:00 之间的温度变化") 2.拟合图像:
0 5 10 15 20 251214161820222426283032实 测 温 度拟 合 温 度时 间 (h)温度(℃)从 0:00到 23:00之 间 的 温 度 变 化 3.使用五次多项式程序代码为:
t=[ 0
2
4
6
8
10
12
14
16
18
20
22]; h=[18.5
20.4 22.8
25.6
30.9
27.4
22.0
15.3
13.5
12.7
13.5
15.4]; Y=polyfit(t,h,5); tt=0:0.5:24; hh=polyval(Y,tt) plot(tt,hh,"-b",t,h,"k:"),text(9.5,29,"实测温度"); text(15,16.5,"拟合温度"); xlabel("时间(h)"); ylabel("温度(℃)");
title("从0:00到23:00之间的温度变化") 4.五次多项式拟合图形:
0 5 10 15 20 251214161820222426283032实 测 温 度拟 合 温 度时 间 (h)温度(℃)从 0:00到 23:00之 间 的 温 度 变 化 案例二
1.程序代码:
clear;close all; x=[0.25
0.5
1
1.5
2
3
4
6
8]; y=[19.21
18.15
15.36
14.1
12.89
9.32
7.45
5.24
3.01]; X=0:0.25:8; Y=interp1(x,y,X,"cubic"); plot(x,y,"ko-",X,Y,"r*:") xlabel("时间(t)"); ylabel("血药浓度c(ug/ml)");
title("注射药后血药浓度随时间变化") 2.拟合图形如下:
0 1 2 3 4 5 6 7 8246810121416182022时 间 (t)血药浓度c(ug/ml)注 射 药 后 血 药 浓 度 随 时 间 变 化 从拟合图像的曲线变化可以看出,血药浓度(单位体积血液中的药物含量)随着在人体内时间的增加而减少,并且开始减少的快,后来减少的慢。
(1).设计程序:
x=[0.25
0.5
1
1.5
2
3
4
6
8]; y=[19.21
18.15
15.36
14.1
12.89
9.32
7.45
5.24
3.01]; X=-2:0.25:8; Y=interp1(x,y,X,"cubic"); plot(x,y,"ko-",X,Y,"r*:"); hold on; xx=-2:0.01:8; yy1=25; yy2=10; plot(xx,yy1),text(3,26,"yy1=25"); plot(xx,yy2),text(0,11,"yy2=10") xlabel("时间(t)"); ylabel("血药浓度c(ug/ml)");
title("注射药后血药浓度随时间变化") (2).拟合图像:
-2 -1 0 1 2 3 4 5 6 7 805101520253035yy1=25yy2=10时 间 (t)血药浓度c(ug/ml)注 射 药 后 血 药 浓 度 随 时 间 变 化 注入 3 小时内药效都在有效范围内,给定药物的最小有效浓度和最大治疗浓度,设计给药方案:向负方向延长基本成正比可以求出比例系数约为 15,所以每次注射 375mg,持续时间约为 4 小时。
案例三
程序代码:
1.用一维插值拟合曲线程序代码:
clear;close all; r=rand(1)-0.5; x=[2
3
4
5
7
9
12
14
17
21
27
56]; y=[35+r
42+r
47+r
53+r
59+r
65+r
58+r
73+r
76+r
82+r
86+r
99+r]; X=0:0.5:60; Y=interp1(x,y,X,"cubic"); plot(x,y,"ko-",X,Y,"r.:") xlabel("养护时间"); ylabel("抗压强度");
2.用多项式拟合曲线图形如下:
0 10 20 30 40 50 60102030405060708090100养 护 时 间抗压强度 3.用非线性回归模型程序代码:
(1)建立非线性回归模型,对得到的模型和系数进行检验,这是曲线拟合中非线性方程用模型 Custom Exponential——在其中输入 y=a+k1*exp(m*x)+k2*exp(-m*x) 。
(2)在主界面先输入以下数据:
r=rand(1)-0.5; x=[2
3
4
5
7
9
12
14
17
21
27
56]; y=[35+r
42+r
47+r
53+r
59+r
65+r
58+r
73+r
76+r
82+r
86+r
99+r];
X=0:0.5:60; (3)进入数据拟合工具箱,进行拟合数据设置,新建New fit,选择Type of fit,选择自定义Custom Equations进行拟合。拟合结果如下:
General model: f(x) = a+k1*exp(m*x)+k2*exp(-m*x) Coefficients (with 95% confidence bounds): a =
91.64
(70.53, 112.8) k1 =
0.0829
(-0.1122, 0.278) k2 =
-62.8
(-79.11, -46.5)
m =
0.08254
(0.01263, 0.1525) (4)数据拟合工具箱拟合过程截图:①创建所要求的函数:
②设置好函数形式后,点击新建 Apply 即可。
(5)数据拟合工具箱中,非线性回归模型拟合图像如下:
结果:a=91.64
k1 =0.0829
k2 = -62.8
m =0.08254
5 10 15 20 25 30 35 40 45 50 55405060708090100
y vs. x抗 压 强 度 变 化 七 .总结 (围绕心得体会、创新之处、改进方案等方面)
又一次 MATLAB 实训,自学的又一个阶段结束了。对 MATLAB 的认识也增加了不少,从生疏到熟悉,这都是自学的成果。
记得在这段期间曾出现过好多的错误与失败,但是我们没有气馁,尽管这次的题目比较难,我们也不会超越上一次,有比较好的成绩,但是我们确实付出了自己的汗水,也学到了好多实实在在的知识。从初识 MATLAB 到现在,对于这一门强大的语言也并不是我们课下这一点时间就能学习的非常好的。因此对于 MATLAB 的学习我们依然任重而道远。
接下来谈谈这次我们分析报告的完成之路:
首先,对于老师给我们的题目,当时就傻眼了,这么难,我们该从哪里出发啊?结果我们分析了四五天,才初步有了规划,从三题中选择了两个难的题目,然后自己查找了一题。大多数时间还是用于老师那两题的分析。
第二步,在选择好题目之后,我们的进展就非常快了,分析题意,选择拟合方案,编写程序代码,最后再完善 Word 报告。当然这只是我们整体的步骤,直至有这样清晰的步骤远远不够,因此我详细讲一下我们的实训过程。
第三步,MATLAB 功能强大我也能从我所掌握的方法叙述实训过程:
1.对于编写程序代码,我们仍然选择在 MATLAB 主界面中打开 file 再点击 new 接着在new 的菜单中选择 script,然后再在 script 中输入程序代码,这样也很方便,而且只需点击
菜单区的生成键,程序对应得图形便会出现。并且这次我们选择了图形标注于坐标标注,再熟悉了图形标注于坐标标注的使用方法之后,便用于本次实训的大部分图形,这样标注更能使图形曲线的表示意思显而易见。
2.本次实训我们还用到了 hold on 命令控制,其作用是保持原有图形,主要的过程还是将题目模型化,准备将其转化成什么类型的曲线,这样才更有利于拟合。
3.对于老师布置的第三题,在给定的非线性回归模型模拟曲线,我们也用到了功能强大的数据拟合工具箱,在这里面,可以任意形式的曲线。快捷方式就是在主界面输入>>cftool 即可,对于数据拟合工具箱上面已经说明过了。
4.这些基本上就是我们实训过程中所用到的 MATLAB 功能,当然本次试验我们也用了基本的对比思想,拟合数据解答问题等。在步骤说明的过程中我们还引用了红蜻蜓抓图软件的使用,截取自己制作过程的图片,这样也有利于报告的完整性与生动性。
第四步,在编程的时候,我们的改进方案有,对图形标注的说明,对使用拟合函数的修改,对颜色的修改,图形大小的选择,最重要还是我们组成员在写报告时一起讨论,在这其中我们不仅相互交流学到了知识,而且增进了我们之间的感情,在这时期尤其有利于对方案的修改于抉择,不仅对我们现在有用,对将来有一定影响。
最后,在本次 MATLAB 的学习过程中,我们有进一步认识了它,但这对 MATLAB 强大的功能的影响下是永远不够的。从资料书与网上查询可知 MATLAB 的作用也是取之不尽.用之不竭的。所以在今后,我们依然要多加学习,相信能够获得更多。而且在本次学习 MATLAB的使用过程中,我们不仅学习到了 MATLAB 的知识,更加认识到认真仔细学习的重要性,我相信这些对我们将受益终身。
以上是我们这次实训的大概经过,也是我们的心得体会。相信不久的将来我们一定能掌握 MATLAB 的大部分功能。
八.教师评语 能够用利用三次和五次多项式分别拟合温度观测问题,比较其优劣;对图形标注的说明,对使用拟合函数的修改,对颜色的修改,图形大小的选择,通过拟合图像的曲线变化解决药品临床实验问题;一维插值拟合曲线和多项式拟合曲线及非线性回归模型处理混凝土的抗压强度,达到本次实验的目的,是一篇水平很高的实验报告。
教师签名:王贵霞 2012 年 5 月 2 日
201 11 1 — 201 12 2 学年第 2 2 学期
合肥学院卓越工程师班
案例分析 报告
课程名称 :
工程应用数学 B
案例名称 :
随高度变化的压强
专业班级:
机制卓越班
起止 时间:
2012/4 4 /13 3 --- 2012/5/12
组
别:
第四组
指导教师:
张霞
一. .
小组成员(具体分工)
姓名
学号
具体分工
成
绩
张林
1106012036 查阅相关资料 调试 检测
85
韩贤跃
106012026 查阅相关资料 计算 核对 检测 80
胡利有
1106013003 查阅相关资料 编写程序 调试
检测
90 二 二. 案例描述
随高度变化的大气压强
大气压强/随高度 x 变化的理论公式为( 500)/77561.0332xp e 。为验证这一公式,测得某地大气压强随高度变化的一组数据如表 2-2,试用拟合法进行计算并绘图。
表 2-2
大气压强随高度变化的一些数据 高度 /m
0 300 600 1000 1500 2000 压强 /Pa
0.9689 0.9322 0.8969 0.8519 0.7989 0.7491
三 三. 提炼问题(将实际问题数学化)
表 2-2
大气压强随高度变化的一些数据 高度 /m
0 300 600 1000 1500 2000 压强 /Pa
0.9689 0.9322 0.8969 0.8519 0.7989 0.7491 利用上述数据验证是否满足公式( 500)/77561.0332xp e ? 四 四. 问题分析
结合该题目与所学的内容,我们决定用 polyfit,polyval 等函数解决本组问题。考虑我到们所用的函数是解决数据之间的函数关系是线性关系而我们要解决的函数是非线性关系,于是我们将函数( 500)/77561.0332xp e 化成 Inp Ina bx 的形式期中500/77561.0332 1.0090 a e , 1/7756 0.0001 b ;在令 , y Inp k Ina 得到新函数y bx k 。最后由我来编写程序,主要采取两种方案,其他的成员负责调试。
五. 解决方案(提供多种备选)
方案一:利用 matlab 软件自身带的功能进行拟合。
方案二:编写程序进行拟合并验证。
六. 方案实施及结果(实验程序等形式)
方案一:
x=[0 300 600 1000 1500 2000]";
m=[0.9689,0.9322,0.8969,0.8519,0.7989,0.7491]";
y=log(m);
plot(x,y,"o"),grid on
xlabel("x")
ylabel("y")
0.0320.9685 a e
方案二:
x=[0 300 600 1000 1500 2000]";
m=[0.9689,0.9322,0.8969,0.8519,0.7989,0.7491]";
y=log(m);
p2=polyfit(x,y,1);
disp("一阶拟合"),f1=poly2str(p2,"x")
x1=[0,300,600,1000,1500,2000];
y1=polyval(p2,x1);
wch=abs(y-polyval(p2,x))./y
pjwch=mean(wch)
minwch=min(wch)
maxwch=max(wch)
plot(x,y,"rp",x1,y1)
xlabel("x")
ylabel("y")
legend("拟合点","一次拟合")
grid on
0.03161.0321 a e
从这次的实验中,我们对 matlab 软件有了更深刻的了解,特别是它在数学方面的应用。学好一门软件光靠理论知识是不行的,必须与计算机结合起来,多动手。在这次的实验中我们学会了用 matlab绘图和和用它进行高级数值运算,更重要的是除了我们学会了一门课外知识外,我们认识到团队合作的重要性,仅凭个人的能力是很难完成此次任务,所以我们在以后的学习中多于别人交流与沟通,使我们有更高的进步。
我们这次实验创新之处在于将数据之间的非线性关系转换成线性关系和利用软件自带的功能进行曲线拟合免了写程序的烦劳,而且在方案二中有误差分析,使结果更加准确;方案一巧妙利用软件本身的功能进行解题,给我们带来了很大的方面。
我们的实验还有许多改进之处。我们没有用解决分线性关系的函数解决我们的课题,在用线性关系函数解决我们我们的问题时,有许多复杂的计算。我们如果能编出解决指函数与对数函数互换,复杂的计算程序或用非线性函数解决我们的课题,我们的实验会更加的完美。
八 .教师评语
能正确提炼出数学问题,利用所学的知识分析问题,给出两种方案解决问题,在总结中对两种方案进行比较,并指出了改进的方向。应用数学解决问题的能力得到了有效的锻炼,汇报流畅,达到了本次自主学习的目的。
教师签名:张霞
2012 年 5 月 11 日
推荐访问:分析报告 案例