MATLAB数学实验报告.docx
- 文档编号:1186256
- 上传时间:2022-10-18
- 格式:DOCX
- 页数:12
- 大小:103.78KB
MATLAB数学实验报告.docx
《MATLAB数学实验报告.docx》由会员分享,可在线阅读,更多相关《MATLAB数学实验报告.docx(12页珍藏版)》请在冰豆网上搜索。
MATLAB数学实验报告
Matlab数学实验报告
一、实验目的
通过以下四组实验,熟悉MATLAB的编程技巧,学会运用MATLAB的一些主要功能、命令,通过建立数学模型解决理论或实际问题。
了解诸如分岔、混沌等概念、学会建立Malthu模型和Logistic模型、懂得最小二乘法、线性规划等根本思想。
二、实验内容
实验题目一
Feigenbaum曾对超越函数y=λsin(πx)〔λ为非负实数〕进行了分岔与混沌的研究,试进行迭代格式xk+1=λsin(πxk),做出相应的Feigenbaum图
clear;clf;
axis([0,4,0,4]);
holdon
x=[0.1];
fori=2:
150
x(i)=r*sin(3.14*x(i-1));
end
pause(0.5)
fori=101:
150
plot(r,x(i),'k.');
end
text(r-0.1,max(x(101:
150))+0.05,['\it{r}=',num2str(r)])
end
加密迭代后
clear;clf;
axis([0,4,0,4]);
holdon
x=[0.1];
fori=2:
150
x(i)=r*sin(3.14*x(i-1));
end
pause(0.1)
fori=101:
150
plot(r,x(i),'k.');
end
end
运行后得到Feigenbaum图
2.2实验题目二
某农夫有一个半径10米的圆形牛栏,长满了草。
他要将一头牛拴在牛栏边界的桩栏上,但只让牛吃到一半草,问拴牛鼻子的绳子应为多长?
问题分析
如下图,E为圆ABD的圆心,AB为拴牛的绳子,圆ABD为草场,区域ABCD为牛能到达的区域。
问题要求区域ABCD等于圆ABC的一半,可以设BC等于x,只要求出∠a和∠b就能求出所求面积。
先计算扇形ABCD的面积,2a÷π×πx2=2aπ2,再求AB的面积,用扇形ABE的面积减去三角形ABE的面积即可。
2程序设计
f=inline('acos(x/20)*x^2+100*pi-200*acos(x/20)-x*sqrt(100-(x^2)/4)-50*pi');
a=0;
b=20;
dlt=1.0*10^-3;
k=1;
whileabs(b-a)>dlt
c=(a+b)/2;
iff(c)==0
break;
elseiff(c)*f(b)<0
a=c;
else
b=c;
end
fprintf('k=%d,x=%.5f\n',k,c);
k=k+1;
end
问题求解与结论
结果说明,要想牛只吃到一半的草,拴牛的绳子应该为11.6米。
2.3实验题目三
饲养厂饲养动物出售,设每头动物每天至少需要700g蛋白质、30g矿物质、100mg维生素。
现有5种饲料可供选用,每种饲料每千克所含营养成分含量及单价如下表。
试确定既能满足动物生长的营养需要,又可使费用最省的选用饲料的方案。
饲料
蛋白质(g)
矿物质(g)
维生素(mg)
价格{元/千克}
A1
3
1
A2
2
1
A3
1
A4
6
2
2
A5
18
五种饲料单位质量〔1kg〕所含营养成分
2.3.2问题分析与模型建立
设Xj(j=1,2,3,4,5)表示饲料中所含的第j种饲料的数量。
由于提供的蛋白质总量必须每天满足最低要求70g,故应有
3X1+2X2+1X3+6X4+18X5≥700
同理,考虑矿物质和维生素的需求。
应有
1X123+2X45≥30
1+1X23+2X45≥100
希望调配出来的混合饲料本钱最低,故目标函数f为
12345
当来对决策量Xj的要求应为非负。
所以该饲料配比问题是一个线性规划模型
12345
3X1+2X2+1X3+6X4+18X5≥700
1X123+2X45≥30
1+1X23+2X45≥100
Xj≥0,j=1,2,3,4,5
一般的食谱问题可表达为:
设有n种食物,每种食物中含有m种营养成分。
用ija表示一个单位的第j种食物中含有第i种营养的数量,用ib表示每人每天对第i种营养的最低需求量,jc表示第j种食品的单价,jx表示所用的第j种食品的数量,一方面满足m种营养成分的需要同时使事物的总本钱最低。
一般的食谱问题的线性规划模型为
这类线性规划模型还可以描述很多诸如合理下料、最小本钱运输、合分派任务等问题,具有很强的代表性。
12345
-3X1-2X2-1X3-6X4-18X5≤-700
-1X1-23-2X45≤-30
13-2X4-0/;.8X5≤-100
Xj≥0,j=1,2,3,4,5
由MATLAB软件的编辑器构作m文件LF如下:
c=[0.2,0.7,0.4,0.3,0.8];
a=[-3,-2,-1,-6,-18;-1,-0.5,-0.2,-2,-0.5;-0.5,-1,-0.2,-2,-0.8];
b=[-700,-30,-100];
lb=[00000];
ub=[];
aeq=[];
beq=[];
[x,fval]=linprog(c,a,b,aeq,beq,lb,ub)
在MATLAB命令窗口键入LF,回车,计算结果显示如下
x=
fval=
其结果显示x1=0x2=0x3=0x4=39.7436x5=25.6410,那么表示该公司分别购置第四种第五种饲料6(kg),〔kg〕配成混合饲料;所耗本钱〔元〕为满足营养条件下的最低本钱。
2.3.5模型思考:
线性规划的本质特点
一.目标函数是决策变量的线性函数
二.约束条件是决策变量的线性等式或不等式,它是一种较为简单而又特殊的约束极值问题。
三.能转化为线性规划问题的实例很多如:
生产决策问题,一般性的投资问题,地址的选择,运输问题等等。
2.4.1实验题目描述
1790年到1980年各年美国人口数的统计数据如下表:
年份
1790
1800
1810
1820
1830
1840
1850
1860
1870
1880
统计
年份
1890
1900
1910
1920
1930
1940
1950
1960
1970
1980
统计
试根据以上数据,
(1)分别用Malthu模型和Logistic模型建立美国人口增长的近似曲线(设美国人口总体容纳量为3.5亿);
(2)预测2000年,2005年,2010年,2015年,2020年人口数;
(3)对两种预测结果进行比拟.
2.4.2.1Malthu模型
1798年,Malthus提出对生物繁殖规律的看法。
他认为,一种群中个体数量的增长率与该时刻种群的的个体数量成正比。
设x(t)表示该种群在t时刻个体的数量,那么其增长率〔dx/dt〕=rx(t),或相对增长率1/x*dx/dt=r.其中常数r=B-D,B和D分别为该种群个体的平均生育率与死亡率。
2.4.2.2Logistic模型
1838年,Verhulst指出上述模型未考虑“密度制约〞因素。
种群生活在一定的环境中,在资源给定的情况下,个体数目越多,个体所获资源就越少,这将抑制其生长率,增加死亡率。
所以相对增长率1/x*〔dx/dt〕不应为一常数r,而应是r乘上一个“密度制约〞因子。
此因子随x单调减小,设其为(1-x/k),其中k为环境容纳量。
于是Verhulst提出Logistic模型:
dx/dt=rx(1-x/k)。
2.4.3.1Malthu模型源代码
clear;clf
x=10:
10:
200;
9.612.917.123.231.438.650.262.072.092.0106.5123.2131.7150.7179.3204.0226.5];
plot(x+1780,'k-','markersize',20);
axis([1780,2020,3,800]);
grid;holdon
n=20;
a=sum(x(1:
n));
b=sum(x(1:
n).*x(1:
n));
c=sum(log(y(1:
n)));
d=sum(log(y(1:
n)).*x(1:
n));
A=[na;ab];
B=[c;d];
P=inv(A)*B;
t=10:
10:
800;
f=exp(P
(1)+P
(2)*t);
plot(t+1780,f,'ro-','linewidth',2);
k=[20002005201020152020];
f=exp(P
(1)+P
(2)*(k-1780));
fprintf('f=%.1f',f);
2.4.3.2Logistic模型程序源代码
clc;clear;
x=9:
28;
y=[3.95.37.29.612.917.123.231.438.650.262.072.092.0106.5123.2131.7150.7179.3204.0226.5];
plot(x*10+1700,y,'k.','markersize',15);
grid;
holdon;
axis([179020150400]);
m=1000*y./(1000-y);
a1=sum(x);
a2=sum(x.^2);
a3=sum(log(m));
a4=sum(x.*log(m));
A=[20,a1;a1,a2];
B=[a3;a4];
p=inv(A)*B;
t=9:
0.1:
55;
s=1./(0.001+exp(-p
(1)-p
(2)*t));
plot(t*10+1700,s,'r-');
k=[3030.53131.532];
l=[k*10+1700;1./(0.001+exp(-p
(1)-p
(2)*k))];
Malthus模型结果
Logistic模型结果
比照预测结果与实际数据,可看出Logistic模型更符合自然规律。
三、实验小结与体会
通过以上四组数学实验、我们熟悉了解了许多MATLAB的方法及理论、并尝试了将其运用到了实际问题中去,解决实际问题。
比方,在实验一中,了解了方程的迭代以及分岔、混沌的概念;实验二中通过简单的MATLAB程序解决数学问题;实验三中尝试通过线性规划建立数学模型,从而解决生产生活中的实际问题,了解了最大最小化问题的求解及其MATLAB指令;实验四中通过人口预测问题的分析求解,了解运用最小二乘法进行数据拟合的根本思想,掌握了建立人口增长数学模型的思想方法,学会建立Malthu模型和Logistic模型。
此外,通过这几次数学实验,就个人而言,不仅思维得到了锻炼、提升,而且让我们感觉到数学的乐趣。
用MATLAB编出的程序不仅算得快,画出的图形、得出的结论也很有意思。
就团队而言,这门课程很讲究相互配合、团队合作,不仅让我们更有团队精神,更增进了友谊。
而且,通过实验不仅仅只是解决了几道题而已,更重要的是学习解决数学问题的思维方式。
最后,感谢老师开设这门课程,给了我们更多时机,让我们从中受益匪浅,收获良多。
谢谢老师的悉心教导。
00:
00ThomasBergersen-EmpireofAngels
04:
47
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 数学 实验 报告