nbhkdz.com冰点文库

matlab数学建模实例

时间:2018-06-29


第四周 3.

求f (x) = x3 -11.1 2 + 38.79 41.769= 0, x x 在[0,中的三个根。 8]
function y=mj() for x0=0:0.01:8 x1=x0^3-11.1*x0^2+38.79*x0-41.769; if (abs(x1)<1.0e-8) x0 end end

4. 分别用简单迭代法、埃特金法、牛顿法求解方程,并比较收敛性与收敛速度(ε 分别取 10-3、10-5、10-8) 。

f ( x) = x 3 + 2 x 2 + 10 x 20 = 0, x0 = 2
简单迭代法:
function y=jddd(x0) x1=(20+10*x0-2*x0^2-x0^3)/20; k=1; while (abs(x1-x0)>=1.0e-3) x0=x1; x1=(20+10*x0-2*x0^2-x0^3)/20;k=k+1; end x1 k

埃特金法:
function y=etj(x0) x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0); k=1; while (abs(x3-x0)>=1.0e-3) x0=x3; x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=k+1; end

x3 k

牛顿法:
function y=newton(x0) x1=x0-fc(x0)/df(x0); k=1; while (abs(x1-x0)>=1.0e-3) x0=x1; x1=x0-fc(x0)/df(x0);k=k+1; end x1 k function y=fc(x) y=x^3+2*x^2+10*x-20; function y=df(x) y=3*x^2+4*x+10;

第六周 1.解例6-4(p77)的方程组,分别采用消去法(矩阵分解) 、Jacobi迭代法、Seidel迭 例 (
代法、松弛法求解,并比较收敛速度。

消去法: x=a\d 或 [L,U]=lu(a); x=inv(U)inv(L)d
Jacobi迭代法:
function s=jacobi(a,d,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1); C=inv(D); B=C*(L+U); G=C*d; s=B*x0+G; n=1; while norm(s-x0)>=1.0e-8 x0=s; s=B*x0+G;

n=n+1; end n

Seidel迭代法:
function s=seidel(a,d,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1); C=inv(D-L); B=C*U; G=C*d; s=B*x0+G; n=1; while norm(s-x0)>=1.0e-5 x0=s; s=B*x0+G; n=n+1; end n

松弛法:
function s=loose(a,d,x0,w) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1); C=inv(D-w*L); B=C*((1-w)*D+w*U); G=w*C*d; s=B*x0+G; n=1; while norm(s-x0)>=1.0e-8 x0=s; s=B*x0+G; n=n+1; end n

2.练习MATLAB的常用矩阵语句 就龙格现象函数 矩阵语句, (p88) 练习插值语句interp, spline, 矩阵语句 ,
并比较。

3.测得血液中某药物浓度随时间的变化值为:

t(h)

0.25

0.5

1.0

1.5

2.0

3.0

4.0

6.0

8.0

10.0

C(mg /L)

19.30

18.15

15.36

14.10

12.89

9.32

7.55

5.24

3.86

2.88

求t=0.45, 1.75, 5.0, 6.0 时的浓度C. 分别用n=4,5,9的拉格朗日插值计算;并用样条函数插值计算,并比较结果。 拉格朗日插值:
function s=lagr(n) x=[0.25 0.5 1.0 1.5 2.0 3.0 4.0 6.0 8.0 10.0]; y=[19.30 18.15 15.36 14.10 12.89 9.32 7.55 5.24 3.86 2.88]; x0=[0.45 1.75 5.0 6.0]; m=length(x0); for i=1:m D=abs(x-x0(i)); I=1; while I<=n+1 for a=1:length(x) if D(a)==min(D) c(I)=a; D(a)=max(D)+1; break end end I=I+1; end b=sort(c); z=x0(i); t=0.0; for k=1:length(b) u=1.0; for j=1:length(b) if j~=k u=u*(z-x(b(j)))/(x(b(k))-x(b(j))); end end t=t+u*y(b(k)); end s(i)=t; end

样条函数差值: Interp1(x,y,x0,’spline’) Spline(x,y,x0) 第八周 1.给定某药物浓度随时间的变化值(作业3),1)分别采用样条函数和三点公式 结点处的导数值,并比较结果。2)求该时间段的平均浓度(定 (设h=0.1)求结点处的导数值 结点处的导数值 步长S法) 样条函数:
x=[0.25 0.5 1.0 1.5 2.0 3.0 4.0 6.0 8.0 10.0]; y=[19.30 18.15 15.36 14.10 12.89 9.32 7.55 5.24 3.86 2.88]; pp=csape(x,y,'not-a-knot'); df=fnder(pp); df1=ppval(df,x)

三点公式:
function df=sandian() t=[0.25 0.5 1.0 1.5 2.0 3.0 4.0 6.0 8.0 10.0]; c=[19.30 18.15 15.36 14.10 12.89 9.32 7.55 5.24 3.86 2.88]; h=0.1;n=length(t); for i=1:n x0=t(i); y0=c(i); y1=spline(t,c,x0+h); y2=spline(t,c,x0+2*h); y3=spline(t,c,x0-h); y4=spline(t,c,x0-2*h); switch i case 1 df(i)=(-3*y0+4*y1-y2)/(2*h); case n df(i)=(y4-4*y3+3*y0)/(2*h); otherwise df(i)=(y1-y3)/(2*h); end end end

平均浓度:
function averagec=simpson()

t=[0.25 0.5 1.0 1.5 2.0 3.0 4.0 6.0 8.0 10.0]; c=[19.30 18.15 15.36 14.10 12.89 9.32 7.55 5.24 3.86 2.88]; m=(t(1)+t(10))/2; y=spline(t,c,m); averagec=(c(1)+4*y+c(10))/6; end

2.练习MATLAB常用的trapz, quad, quadl等语句。计算:
1 f ( x) = e 2π
x=0:8; y=1./(sqrt(2.*pi)).*exp(-(x-4).^2./2); z=trapz(x,y) function y=jifen(x) y=1./(sqrt(2.*pi)).*exp(-(x-4).^2./2); q1=quad('jifen',0,8,1.0e-8) q2=quadl('jifen',0,8,1.0e-8)
( x 4)2 2

, 0 ≤ x ≤ 8; ε ≤ 10 8

变步长经典R-K法, ode23, ode45计算例9-5,并作比较。 3.采用变步长经典 变步长经典 法 变步长经典R-K法:(可能有问题) 法:(可能有问题) 变步长经典 可能有问题
function z=jdrk(m) x0=[25 2]';a=0;b=15; n=length(x0); z=zeros(n,m); k1=zeros(n,1); k2=zeros(n,1); k3=zeros(n,1); k4=zeros(n,1); t=a; x=x0;x2=zeros(n,1);x3=x2;x4=x2; h=choose(m); m1=15/h+1; for k=1:m1 k1=prey(t,x); for i=1:n x2(i)=x(i)+1/2*h*k1(i); end k2=prey(t+h/2,x2); for i=1:n

x3(i)=x(i)+1/2*h*k2(i); end k3=prey(t+h/2,x3); for i=1:n x4(i)=x(i)+h*k3(i); end k4=prey(t+h,x4); for i=1:n x(i)=x(i)+h/6*(k1(i)+2*k2(i)+2*k3(i)+k4(i)); z(i,k)=x(i); end t=t+h; end h1=length(z); t2=[a:(b-a)/(h1-1):b]; plot(t2,z) gtext('x1(t)') gtext('x2(t)')

function h=choose(n) h=15/(n-1); t0=0; x0=[25 2]'; k11=prey(t0,x0); k21=prey(t0+h/2,x0+h/2*k11); k31=prey(t0+h/2,x0+h/2*k21); k41=prey(t0+h,x0+h*k31); x1=x0+h/6*(k11+2*k21+2*k31+k41); k12=prey(t0,x0); k22=prey(t0+h/4,x0+h/4*k12); k32=prey(t0+h/4,x0+h/4*k22); k42=prey(t0+h/2,x0+h/2*k32); x2=x0+h/12*(k12+2*k22+2*k32+k42); if abs(x2-x1)<1.0e-5 while abs(x2-x1)<1.0e-5 h=h*2; k11=prey(t0,x0); k21=prey(t0+h/2,x0+h/2*k11); k31=prey(t0+h/2,x0+h/2*k21); k41=prey(t0+h,x0+h*k31); x1=x0+h/6*(k11+2*k21+2*k31+k41); k12=prey(t0,x0); k22=prey(t0+h/4,x0+h/4*k12);

k32=prey(t0+h/4,x0+h/4*k22); k42=prey(t0+h/2,x0+h/2*k32); x2=x0+h/12*(k12+2*k22+2*k32+k42); end h=h/2; else while abs(x2-x1)>=1.0e-5 h=h/2; k11=prey(t0,x0); k21=prey(t0+h/2,x0+h/2*k11); k31=prey(t0+h/2,x0+h/2*k21); k41=prey(t0+h,x0+h*k31); x1=x0+h/6*(k11+2*k21+2*k31+k41); k12=prey(t0,x0); k22=prey(t0+h/4,x0+h/4*k12); k32=prey(t0+h/4,x0+h/4*k22); k42=prey(t0+h/2,x0+h/2*k32); x2=x0+h/12*(k12+2*k22+2*k32+k42); end end

function xdot=prey(t,x) r=1;a=0.1;b=0.5;c=0.02; xdot=[r-a*x(2) 0;0 -b+c*x(1)]*x;

ode23, ode45: :
[t,x]=ode23('prey',[0:0.1:15],[25 2]); plot(t,x) [t,x] gtext('x1(t)') gtext('x2(t)') [t,x]=ode45('prey',[0:0.1:15],[25 2]); plot(t,x) [t,x] gtext('x1(t)') gtext('x2(t)')

第十周 1.熟悉常用的概率分布、概率密度函数图、分位点。(统计工具箱)

2.对例10-1作统计分组(每组间隔分别为3cm、5cm),并作直方图,计算特征 值与置信区间;如假设 0=175作检验(α=0.05)
function y=zf(n) data=[162 166 171 167 157 168 164 178 170 152 158 153 160 174 159 167 171 168 182 160 159 172 178 166 159 173 161 150 164 175 173 163 165 146 163 162 158 164 169 170 164 179 169 178 170 155 169 160 174 159 168 151 176 164 161 163 172 167 154 164 153 165 161 168 166 166 148 161 163 177 178 171 162 156 165 176 170 156 172 163 165 149 176 170 182 159 164 179 162 151 170 160 165 167 155 168 179 165 184 157]; m=ceil((max(data)-min(data))/n); hist(data,m)

data=[162 166 171 167 157 168 164 178 170 152 158 153 160 174 159 167 171 168 182 160 159 172 178 166 159 173 161 150 164 175 173 163 165 146 163 162 158 164 169 170 164 179 169 178 170 155 169 160 174 159 168 151 176 164 161 163 172 167 154 164 153 165 161 168 166 166 148 161 163 177 178 171 162 156 165 176 170 156 172 163 165 149 176 170 182 159 164 179 162 151 170 160 165 167 155 168 179 165 184 157]; E=mean(data) D=var(data) [mu sigma muci sigmaci]=normfit(data,0.05) [h,p,ci]=ttest(data,175,0.05,0)

3.自行寻找生物学数据,进行分析,试作曲线图、条形图、饼图。(包括图示)

第十二周 1、 作图练习不同形式误差的叠加, 随机误差+周期性误差; 随机误差+线性误差; 随机误差+恒定误差。(自行设计数据,注意误差数量级的选取)

2、作errorbar图(本课件Page 3-A)
T=[5.0 12.5 20.0 25.0 28.5 33.0 36.0 46.0 50.0 55.0]; S=[141.1 166.7 198.9 226.8 241.7 259.6 283.1 334.5 354.2 384.8]; E=[1.8 1.5 0.7 1.5 0.2 0.5 1.2 1.1 1.2 1.5]; errorbar(T,S,E) xlabel('T/') ylabel('S/(g.kg-1 of water)')

title('Solubility of -Form Glycine in Water')

3、异常数据剔除

采用葡萄糖自动测定仪测得某溶液中的葡萄糖浓度(mg/L)分别为: 25.307 25.112 25.324 25.300 25.295 25.293 25.294 25.314 25.341 25.315 25.314 25.299 25.303 25.313 25.311 25.590 25.309 25.316 25.310 25.317 25.306 25.291 25.325 25.010 25.315 25.438 试分别用拉依特准则、格鲁布斯准则和狄克逊准则处理剔除实验数据。
拉依特准则:
function y=lyt() x=[25.307 25.112 25.324 25.300 25.295 25.293 25.294 25.314 25.341 25.315 25.314 25.299 25.303 25.313 25.311 25.590 25.309 25.316 25.310 25.317 25.306 25.291 25.325 25.010 25.315 25.438]; mu=mean(x);sigma=std(x);n=length(x); if n<10 m=2; else m=3; for i=1:n if abs(x(i)-mu)>m*sigma i x(i) end end end

格鲁布斯准则:
function y=grubbs() x=[25.307 25.112 25.324 25.300 25.295 25.293 25.294 25.314 25.341 25.315 25.314 25.299 25.303 25.313 25.311 25.590 25.309 25.316 25.310 25.317 25.306 25.291 25.325 25.010 25.315 25.438]; mu=mean(x);sigma=std(x);n=length(x); for i=1:n if abs((x(i)-mu)/sigma)>=2.681 0.01-3.029 0.025-2.841 0.05-2.681 i x(i) end end end %格鲁布斯极限值(n=26):0.005-3.157

狄克逊准则:

x=[25.307 25.112 25.324 25.300 25.295 25.293 25.294 25.314 25.341 25.315 25.314 25.299 25.303 25.313 25.311 25.590 25.309 25.316 25.310 25.317 25.306 25.291 25.325 25.010 25.315 25.438]; n4=0; f=[0.399 0.406 0.413 0.421 0.430 0.440 0.450 0.462 0.475 0.490 0.507 0.525 0.546]; while n4==0 z=sort(x); n=length(x); n5=1; a=(z(3)-z(1))/(z(n-2)-z(1)); n1=0; if a>f(n5) n1=1; z(1) end n2=0; b=(z(n)-z(n-2))/(z(n)-z(3)); if b>f(n5) n2=1; z(n) end x1=[0 0]; if n1==1&&n2==0 for n3=1:(n-1) x1(n3)=z(n3+1); end n5=n5+1; end if n1==1&&n2==1 for n3=1:(n-2) x1(n3)=z(n3+1); end n5=n5+2; end if n1==0&&n2==1 for n3=1:(n-1) x1(n3)=z(n3); end n5=n5+1; end x=x1; if n1==0&&n2==0 n4=1;

end end

第十四周: 1.大肠杆菌比生长速率测定。 在一定培养条件下,培养大肠杆菌,测得实验数据如下表。求:该条件下,大肠 杆菌的最大比生长速率μm,半饱和常数Ks,并作模型检验。 S(mg/L) 6 μ (h-1) 0.06 S(mg/L) 122 μ (h-1) 0.60

13

0.12

153

0.66

33

0.24

170

0.69

40

0.31

221

0.70

64

0.43

210

0.73

102

0.53

s=[6 13 33 40 64 102 122 153 170 221 210]; mu=[0.06 0.12 0.24 0.31 0.43 0.53 0.60 0.66 0.69 0.70 0.73]; spmu=s./mu;n=length(s); a=polyfit(s,spmu,1); mum=1/a(1) ks=a(2)/a(1) lxx=sum(s.^2)-1/n*(sum(s))^2; lyy=sum(spmu.^2)-1/n*(sum(spmu))^2; lxy=sum(s.*spmu)-1/n*sum(s)*sum(spmu); r=lxy/(sqrt(lxx*lyy)) R=corrcoef(s,spmu) Qr=lxy^2/lxx; Q=(lxx*lyy-lxy^2)/lxx; F=Qr/(Q/(n-2))

2.多元线性回归
Pa=[9.0 8.6 8.4 7.5 7.0 6.8 6.5 6.0]'; Pb=[8.3 7.0 6.2 4.2 3.9 3.5 2.6 2.2]'; Pc=[2.7 4.4 5.4 8.3 9.1 9.7 10.9 11.8]'; r=[1.97 1.05 0.73 0.25 0.18 0.13 0.07 0.04]'; k0=ones(8,1);alpha=0.05; r0=log(r); Pa0=log(Pa); Pb0=log(Pb); Pc0=log(Pc); p=[k0 Pa0 Pb0 Pc0]; [b,bint,r,rint,stats]=regress(r0,p,alpha) k=exp(b(1)) m=r'*r p1=[Pa0 Pb0 Pc0]; stepwise(p1,r0)

第十六周 1. 对作业(7)的两题,分别作非线性回归,并比较参数值和残差。
function y=ecolinlin(beta0) s=[6 13 33 40 64 102 122 153 170 221 210]'; mu=[0.06 0.12 0.24 0.31 0.43 0.53 0.60 0.66 0.69 0.70 0.73]'; [beta,r,J]=nlinfit(s,mu,'szsl',beta0); mum=beta(1) ks=beta(2) r J function mu=szsl(beta,s) mu=beta(1).*s./(beta(2)+s); end function y=reacnlin(beta0) Pa=[9.0 8.6 8.4 7.5 7.0 6.8 6.5 6.0]'; Pb=[8.3 7.0 6.2 4.2 3.9 3.5 2.6 2.2]'; Pc=[2.7 4.4 5.4 8.3 9.1 9.7 10.9 11.8]'; R=[1.97 1.05 0.73 0.25 0.18 0.13 0.07 0.04]'; p=[Pa Pb Pc]; [beta,r,J]=nlinfit(p,R,'fydl',beta0); k=beta(4) n1=beta(1)

n2=beta(2) n3=beta(3) r J function r=fydl(beta,p) r=beta(4).*p(:,1).^beta(1).*p(:,2).^beta(2).*p(:,3).^beta(3); end

2.

作二次正交回归。数据如右,比较不同模型计算结果。

x1=[1 1 1 1 -1 -1 -1 -1 -1.68 1.68 0 0 0 0 0 0 0 0 0 0]'; x2=[1 1 -1 -1 1 1 -1 -1 0 0 -1.68 1.68 0 0 0 0 0 0 0 0]'; x3=[1 -1 1 -1 1 -1 1 -1 0 0 0 0 -1.68 1.68 0 0 0 0 0 0]'; y=[730.2 780.5 266.7 224.5 783.1 837.5 622.6 538.3 536.2 221.2 214.2 926.2 702.4 680.1 868.5 788.3 856.5 853.4 772.6 848.4]'; x=[x1 x2 x3];alpha=0.05; rstool(x,y,'linear',alpha)


matlab数学建模实例.pdf

matlab数学建模实例 - 第四周 3. 求f (x) ? x3 -11.1x

数学建模案例MATLAB实用程序百例.doc

数学建模案例MATLAB实用程序百例_计算机软件及应用_IT/计算机_专业资料。

matlab数学建模实例.doc

matlab数学建模实例 - 第四周 3. 求f (x) = x3 -11.1

数学建模matlab例题参考及练习.pdf

数学建模matlab例题参考及练习 - 数学实验与数学建模 实验报告 学 院:

数学建模与MATLAB_图文.ppt

数学建模与MATLAB - Mathematical Modeling and MATLAB 数学建模与MATLAB 主讲人:孙越 数学建模与MATLAB 第二讲:数组与矩阵 2018/9/...

MATLAB数学建模算法及实例分析.pdf

MATLAB数学建模算法及实例分析_经济/市场_经管营销_专业资料。第一章§1

基于matlab的数学建模.pdf

基于matlab数学建模 - MATLAB数学建模中的应用 (张威 103

MATLAB经典数学建模教程_图文.pdf

MATLAB经典数学建模教程 - 第 1 节Matlab 基本知识 一、 Matlab 的主要功能 Matlab 是一种功能非常强大的工程语言,诞生于 20 世纪 70 年代,1984 年正式推...

MATLAB数学建模技术(觉得的经典)_图文.pdf

MATLAB数学建模技术(觉得的经典) - Matlab覆盖所有数学模型的求解技术... 3 数据型数学模型MATLAB求解实例葡萄酒聚类(2012A) 82 80 78 76 质量得分 74 72 70 68...

数学建模案例MATLAB实用程序百例_图文.pdf

数学建模案例MATLAB实用程序百例 - 实例 1:三角函数曲线(1) func

数学建模MATLAB程序汇总.doc

数学建模MATLAB程序汇总_数学_自然科学_专业资料。这是数学建模部分方法及程序的...数学建模案例MATLAB实用... 206页 5下载券 数学建模中常用的30个MA... 15...

数学建模matlab例题参考及练习.doc

数学建模matlab例题参考及练习 - 数学实验与数学建模 实验报告 学 院:

Matlab在数学建模中的应用_张庆海.pdf

Matlab数学建模中的应用_张庆海 - 中国集体 经济 科技研发 Matlab数学建模中的应用 ■ 张庆海 张琼 摘要 : 文章首先介 绍了建立数学模型 的基本步...

(2)MATLAB应用实例分析.doc

(2)MATLAB应用实例分析 - Matlab应用例题选讲 仅举一些运用MATLAB例子, 这些问题在数学建模中时常遇到, 希望能帮助同学们在短时间内方 便、快捷的使用MATLAB ...

第10章 用MATLAB的控制系统数学建模_图文.ppt

MATLAB 与控制系统仿真第7 章 基于MATLAB的控制系统数学建模 主要内容 ? 7.1 ...函数模型实例 7.2.1 零极点函数模型简述 7.2.2 零极点函数的MATLAB相关函数...

使用MATLAB遗传算法工具实例(详细) (1)【精品毕业设计....doc

使用MATLAB遗传算法工具实例(详细) (1)【精品毕业设计】(完整版)_工学_高等...包括那些难以定义或不便于数学建模的问题,可以解决目标函数较复杂的问 题,比如...

数学建模 第二篇1 MATLAB作图.ppt

数学建模 第二篇1 MATLAB作图_理学_高等教育_教育专区。二维图形 三维图形 图形处理实例 特殊二、三维图形 作业 §1 二维图形 1.曲线图 MATLAB作图 Matlab作图是...

数学建模课程 第3讲 MATLAB作图.ppt

数学建模课程 第3讲 MATLAB作图 - 数学建模与数学实验 MATLAB作图 后勤工程学院数学教研室 后勤工程学院数学教研室 二维图形 三维图形 图形处理 实例 特殊二、三维...

【数学建模与MATLAB】_计算机模拟.._图文.ppt

数学建模MATLAB】_计算机模拟.. - 计算机模拟实例 离散系统模拟实例: 排队问题 连续系统模拟实例: 追逐问题 用蒙特卡罗法解非线性规划问题 返回 模拟的概念 ...

matlab数学建模30个案例分析.txt

matlab数学建模30个案例分析 - 第一部分 预测方法 案例1:基于灰色预测