nbhkdz.com冰点文库

matlab数学建模实例

时间:2018-07-01

第四周 3.

求f (x) ? x3 -11.1x2 ? 38.79 x ? 41.769? 0, 在[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) end x0

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;

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

消去法: 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;

end n

n=n+1;

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 就龙格现象函数 (p88) 练习插值语句interp, spline, 2.练习MATLAB的常用矩阵语句, 并比较。

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

t(h) C(mg /L)

0.25 19.30

0.5 18.15

1.0 15.36

1.5 14.10

2.0 12.89

3.0 9.32

4.0 7.55

6.0 5.24

8.0 3.86

10.0 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]; x0=[0.45 1.75 5.0 6.0]; m=length(x0); for i=1:m I=1;

y=[19.30 18.15 15.36 14.10 12.89 9.32 7.55 5.24 3.86 2.88];

D=abs(x-x0(i)); while I<=n+1

for a=1:length(x) c(I)=a; break

if D(a)==min(D) D(a)=max(D)+1; end

end end

I=I+1;

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 end u=u*(z-x(b(j)))/(x(b(k))-x(b(j)));

end end end

t=t+u*y(b(k));

s(i)=t;

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

三点公式:
function df=sandian() t=[0.25 0.5 1.0 1.5 2.0 3.0 4.0 6.0 8.0 10.0]; h=0.1;n=length(t); for i=1:n x0=t(i); y0=c(i); y1=spline(t,c,x0+h); y3=spline(t,c,x0-h); switch i

c=[19.30 18.15 15.36 14.10 12.89 9.32 7.55 5.24 3.86 2.88];

y2=spline(t,c,x0+2*h); y4=spline(t,c,x0-2*h); case 1 case n

df(i)=(-3*y0+4*y1-y2)/(2*h); df(i)=(y4-4*y3+3*y0)/(2*h); df(i)=(y1-y3)/(2*h);

otherwise 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]; m=(t(1)+t(10))/2; y=spline(t,c,m); end

c=[19.30 18.15 15.36 14.10 12.89 9.32 7.55 5.24 3.86 2.88];

averagec=(c(1)+4*y+c(10))/6;

2.练习MATLAB常用的trapz, quad, quadl等语句。计算:
f ( x) ?
x=0:8;

1 ? e 2?

( x?4)2 2

, 0 ? x ? 8; ? ? 10 ?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)

3.采用变步长经典R-K法, ode23, ode45计算例9-5,并作比较。 变步长经典R-K法:(可能有问题)
function z=jdrk(m) n=length(x0); z=zeros(n,m); x0=[25 2]';a=0;b=15;

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 end x2(i)=x(i)+1/2*h*k1(i);

k2=prey(t+h/2,x2); for i=1:n

end

x3(i)=x(i)+1/2*h*k2(i);

k3=prey(t+h/2,x3); for i=1:n end x4(i)=x(i)+h*k3(i);

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 end

t=t+h;

h1=length(z); plot(t2,z)

t2=[a:(b-a)/(h1-1):b]; 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); k12=prey(t0,x0); x1=x0+h/6*(k11+2*k21+2*k31+k41); 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); if abs(x2-x1)<1.0e-5 h=h*2; x2=x0+h/12*(k12+2*k22+2*k32+k42); while abs(x2-x1)<1.0e-5 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); k12=prey(t0,x0); x1=x0+h/6*(k11+2*k21+2*k31+k41); 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); end else x2=x0+h/12*(k12+2*k22+2*k32+k42);

h=h/2; 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); k12=prey(t0,x0); x1=x0+h/6*(k11+2*k21+2*k31+k41); 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); end x2=x0+h/12*(k12+2*k22+2*k32+k42);

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]; 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/??') S=[141.1 166.7 198.9 226.8 241.7 259.6 283.1 334.5 354.2 384.8];

ylabel('S/(g.kg-1 of water)')

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

3、异常数据剔除

拉依特准则:
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 i if abs(x(i)-mu)>m*sigma 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)

%格鲁布斯极限值(n=26):0.005-3.157

end end

end

狄克逊准则:

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); n5=1; n1=0;

n=length(x); a=(z(3)-z(1))/(z(n-2)-z(1)); 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) end

x1(n3)=z(n3+1);

end

n5=n5+1;

if n1==1&&n2==1

for n3=1:(n-2) end

x1(n3)=z(n3+1);

end

n5=n5+2;

if n1==0&&n2==1

for n3=1:(n-1) end

x1(n3)=z(n3);

end

n5=n5+1;

x=x1;

if n1==0&&n2==0 n4=1;

end

end

第十四周: 1.大肠杆菌比生长速率测定。 在一定培养条件下,培养大肠杆菌,测得实验数据如下表。求:该条件下,大肠 杆菌的最大比生长速率μm,半饱和常数Ks,并作模型检验。 S(mg/L) 6 13 33 40 64 102 μ (h-1) 0.06 0.12 0.24 0.31 0.43 0.53 S(mg/L) 122 153 170 221 210 μ (h-1) 0.60 0.66 0.69 0.70 0.73

s=[6 13 33 40 64 102 122 153 170 221 210]; 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;

mu=[0.06 0.12 0.24 0.31 0.43 0.53 0.60 0.66 0.69 0.70 0.73];

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]'; k0=ones(8,1);alpha=0.05; r0=log(r); Pa0=log(Pa); Pb0=log(Pb); Pc0=log(Pc); p=[k0 Pa0 Pb0 Pc0]; k=exp(b(1)) m=r'*r

r=[1.97 1.05 0.73 0.25 0.18 0.13 0.07 0.04]';

[b,bint,r,rint,stats]=regress(r0,p,alpha)

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]'; [beta,r,J]=nlinfit(s,mu,'szsl',beta0); mum=beta(1) ks=beta(2) r J function mu=szsl(beta,s) end mu=[0.06 0.12 0.24 0.31 0.43 0.53 0.60 0.66 0.69 0.70 0.73]';

mu=beta(1).*s./(beta(2)+s);

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]'; p=[Pa Pb Pc]; k=beta(4)

R=[1.97 1.05 0.73 0.25 0.18 0.13 0.07 0.04]'; [beta,r,J]=nlinfit(p,R,'fydl',beta0); n1=beta(1)

n2=beta(2) n3=beta(3) r J function r=fydl(beta,p) end

r=beta(4).*p(:,1).^beta(1).*p(:,2).^beta(2).*p(:,3).^beta(3);

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]'; 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) 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


matlab数学建模实例.doc

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

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

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

matlab数学建模例子.doc

matlab数学建模例子 - matlab 数学建模例子 【篇一:matlab 数学建模例子】 通过对于建模思路和方法的讲解,突破建模关键 十次课的集训,提升获奖率 真正的面授培训,...

数学建模与MATLAB_图文.ppt

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

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

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

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

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

2019Matlab数学建模例子演示.ppt_图文.ppt

2019Matlab数学建模例子演示.ppt - 应用MATLAB建模的一个例子

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数学建模实例 - 第四周 3. 求f (x) ? x3 -11.1x

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

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

MATLAB作图-数学建模.ppt

MATLAB作图-数学建模 - MATLAB作图 二维图形 三维图形 图形处理 实例 特殊二、三维图形 作业 1.曲线图 Matlab作图是通过描点、连线来实现的,故在 画一个...

基于matlab的数学建模.pdf

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

MATLAB系列第一章建立数学模型_图文.ppt

MATLAB系列第一章建立数学模型 - 第一章 建立数学模型 1.1 从现实对象到数学模型 1.2 数学建模的重要意义 1.3 数学建模示例 1.4 数学建模的方法和步骤 1.5 ...

应用MATLAB建模实例_图文.ppt

应用MATLAB建模实例 - 应用MATLAB建模实例 数学也是一门技术 ?数学是一门技术 ?一个例子足球比赛中的吊门问题 ?谈谈数学建模竞赛及培训 数学是一门技术 ...

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

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

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

数学建模案例MATLAB实用程序百例 - MATLAB实用程序百例 实例1:三角

基于matlab的数学建模.doc

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

#建模讲座MATLAB编程与数学建模_图文.ppt

数学建模讲座 MATLAB软件编程与数学建模畅春玲 目录一 Matlab基本编程语法 二 Matlab数学建模竞赛 三 Matlab编程案例Matlab基本编程语法 Matlab是MathWorks公司的...

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

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