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

数学建模 第3讲 MATLAB的具体实例_图文.ppt

数学建模 第3讲 MATLAB的具体实例_数学_自然科学_专业资料。介绍matlab软件的具体操作实例 问题一: 某厂每日8小时的产量不低于1800件。为了进行质量控制,计划聘请...

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

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

matlab数学建模实例.doc

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

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

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

第2讲 MATLAB入门与作图实用(数学建模为例).ppt

第2讲 MATLAB入门与作图实用(数学建模为例)_数学_自然科学_专业资料。非常简洁...返回 二维图形 三维图形 图形处理实例 特殊二、三维图形 作业 1.曲线图 MATLAB...

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

数学建模案例MATLAB实用程序百例_数学_自然科学_专业资料。MATLAB

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

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

数学建模与MATLAB_图文.ppt

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

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方法整理_图文.doc

推荐数学建模matlab方法整理 - 自己根据建模常用的函数整理的有关数学建模matlab的方法,推荐

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

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

数学建模Matlab算法大全1-30章.pdf

数学建模Matlab算法大全1-30章 - 第一章 §1 线性规划 线性规划 在

数学建模_MATLAB作图.ppt

数学建模_MATLAB作图 - 数学建模matlab软件 MATLAB作图 后勤工程学院数学教研室 仰恩大学数学系 信息与计算科学教研室 二维图形 三维图形 图形处理 实例 特殊二...

基于matlab的数学建模.doc

基于matlab数学建模 - 从实例出发,论述Matlab数学建模中的应用,以提高对Matlab软件的认识,提高解决实际问题的能力

数学建模与Matlab_图文.ppt

数学建模Matlab - 数学建模 Matlab Ppt 详解... 四、Matlab简介 数学建模MATLAB 一、数学建模与数据...具体实例 数学建模与MATLAB Matlab求解 ? 双精度变量的...

007精讲多练Matlab-数学建模实例_图文.ppt

007精讲多练Matlab-数学建模实例 - 综合实验案例 综合实例 用 MATLAB 求解问题时,一般要经历建模和 求解问题时,一般要经历建模和 建模 编程两个过程 只有在建模...

应用MATLAB在数学建模中的应用.pdf

应用MATLAB数学建模中的应用 - Matlab数学建模中的应用 数学建模是通过对实际问题的抽象和简化,引入一些数学符号、 变量和参数,用数学语言和方法建立变量参数间...

MATLAB及在数学建模中的应用_图文.ppt

MATLAB及在数学建模中的应用 - 详细介绍了MATLAB数学建模中所有要用的的计算方法。... ? ? MatLab简介及基本运算 常用计算方法 应用实例 一、 MatLab简介及基本运...