- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab数模分析实例1精选
实例一:电阻问题
解:根据热敏电阻电阻值与温度的数据,首先作出散点图.
MATLAB程序如下:
t=[20.5 32.7 51.0 73.0 95.7];
r=[765 826 873 942 1032];
plot(t,r,*)
从散点图看出电阻值和温度之间的关系近似于线性。因此设R=a1 t +a2
a=polyfit(t,r,1)
a = 3.3987 702.0968
表示R=3.3987 t +702.0968
63度时的电阻值为
r=polyval(a,63)
r = 916.2174
%M文件
t=[20.5 32.7 51.0 73.0 95.7];
r=[765 826 873 942 1032];
plot(t,r,*);
a=polyfit(t,r,3);
t1=20:0.1:98;
r1=a(1)*t1.^3+a(2) *t1.^2+a(3) *t1+a(4);
hold on;
plot(t1,r1, -r);
编程中要注意的问题
r=polyval(a,63);
r = 916.2174
实例二: 数据的多项式曲线拟合
例: 已知某压力传感器的标定数据见下表,p为电压值,u为电压值。
p 0.0 1.1 2.1 2.8 4.2 5.0 6.1 6.9 8.1 9.0 9.9 u 10 11 13 14 17 18 22 24 29 34 39 试用多项式
拟合其特性函数,求出和,把拟合曲线和各个标定点画在同一幅图上。
解:
将压力视为自变量,电压视为函数,编程如下:
p=[0,1.1,2.1,2.8,4.2,5,6.1,6.9,8.1,9,9.9];
u=[10,11,13,14,17,18,22,24,29,34,39];
A=polyfit(p,u,3);
a=A(1),b=A(2),c=A(3),d=A(4),
p1=0:0.01:10;u1=polyval(A,p1);
plot(p1,u1,p,u,o)
实例三:血药浓度
解:
(1)模型假设
1. 机体看作一个房室,室内血药浓度均匀——一室模型
2. 药物排除速率与血药浓度c成正比,比例系数 k(0)
3. 血液容积 v, t=0时注射剂量 d, 血药浓度即为 d/v.
(2)模型建立
由假设2
由假设3
在此,d=300mg,t及c(t)在某些点处的值见前表,需经拟合求出参数k、v
非线性函数的线性化处理:
d=300;
t=[0.25 0.5 1 1.5 2 3 4 6 8];
c=[19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01];
y=log(c);
a=polyfit(t,y,1)
k=-a(1)
v=d/exp(a(2))
t1=[0:0.1:8];
ct=(d/v)*exp(-k*t1);
plot(t,c,o,t1,ct,g-)
计算结果:
a = -0.2347 2.9943
k =0.2347
v =15.0219
设每次注射剂量D, 间隔时间(
血药浓度c(t) 应c1( c(t) ( c2
初次剂量D0 应加大
给药方案记为:
1.
2.
其中c1=10,c2=25,k=0.2347,v=15.02
计算得具体给药方案:
即:
首次注射 375 mg,
其余每次注射 225 mg,
注射的间隔时间为 4 小时。
实例四:非线性回归
使用指定函数对下述两变量进行曲线拟合
y=a+k1*exp(m*t)+k2*exp(-m*t);
离散点:t=[0,4,8,40],
y=[20.09,64.52,85.83,126.75];
t-自变量 y-因变量
a,m,k1,k2为常数
用非线性回归nlinfit,如果数据点多些,效果会更好。
function nonlinefit
clc;clear;
t=[0 4 8 40];
y=[20.09 64.52 85.83 126.75];
beta=nlinfit(t,y,@myfunc,[1 1 1 1])
a=beta(1)
k1=beta(2)
k2=beta(3)
m=beta(4)
tt=0:1:40
yy=a+k1*exp(m*tt)+k2*exp(-m*tt)
plot(t,y,o,tt,yy)
function y1=myfunc(const,t)
a=const(1);
k1=const(2);
k2=const(3);
m=const(4);
y1=a+k1*exp(m*t)+k2*exp(-m*t);
%或者用以下代码,更为简捷。
clc;clear;
t=[0 4 8 40];
y=[20.09 64.52 85.83 126.
原创力文档


文档评论(0)