MATLAB数学实验报告
MATLAB实验报告
MATLAB实验报告一、实验目的本次 MATLAB 实验旨在深入了解和掌握 MATLAB 软件的基本操作和应用,通过实际编程和数据处理,提高解决问题的能力,培养编程思维和逻辑分析能力。
二、实验环境本次实验使用的是 MATLAB R2020a 版本,运行在 Windows 10 操作系统上。
计算机配置为英特尔酷睿 i5 处理器,8GB 内存。
三、实验内容(一)矩阵运算1、矩阵的创建使用直接输入、函数生成和从外部文件导入等方式创建矩阵。
例如,通过`1 2 3; 4 5 6; 7 8 9` 直接输入创建一个 3 行 3 列的矩阵;使用`ones(3,3)`函数创建一个 3 行 3 列元素全为 1 的矩阵。
2、矩阵的基本运算包括矩阵的加减乘除、求逆、转置等。
例如,对于两个相同维度的矩阵`A` 和`B` ,可以进行加法运算`C = A + B` 。
3、矩阵的特征值和特征向量计算通过`eig` 函数计算矩阵的特征值和特征向量,加深对线性代数知识的理解和应用。
(二)函数编写1、自定义函数使用`function` 关键字定义自己的函数,例如编写一个计算两个数之和的函数`function s = add(a,b) s = a + b; end` 。
2、函数的调用在主程序中调用自定义函数,并传递参数进行计算。
3、函数的参数传递了解值传递和引用传递的区别,以及如何根据实际需求选择合适的参数传递方式。
(三)绘图功能1、二维图形绘制使用`plot` 函数绘制简单的折线图、曲线等,如`x = 0:01:2pi; y = sin(x); plot(x,y)`绘制正弦曲线。
2、图形的修饰通过设置坐标轴范围、标题、标签、线条颜色和样式等属性,使图形更加清晰和美观。
3、三维图形绘制尝试使用`mesh` 、`surf` 等函数绘制三维图形,如绘制一个球面`x,y,z = sphere(50); surf(x,y,z)`。
(四)数据处理与分析1、数据的读取和写入使用`load` 和`save` 函数从外部文件读取数据和将数据保存到文件中。
MATLAB实验报告(1-4)
信号与系统MATLAB第一次实验报告一、实验目的1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。
2.学会运用MATLAB表示常用连续时间信号的方法3.观察并熟悉一些信号的波形和特性。
4.学会运用MATLAB进行连续信号时移、反折和尺度变换。
5.学会运用MATLAB进行连续时间微分、积分运算。
6.学会运用MATLAB进行连续信号相加、相乘运算。
7.学会运用MATLAB进行连续信号的奇偶分解。
二、实验任务将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。
三、实验内容1.MATLAB软件基本运算入门。
1). MATLAB软件的数值计算:算数运算向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。
2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。
矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开;矩阵的不同行之间必须用分号”;”或者ENTER分开。
2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。
3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。
举例:计算一个函数并绘制出在对应区间上对应的值。
2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名”2.MATLAB软件简单二维图形绘制1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y)2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p)3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin])4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’)5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’)6).输出:grid on举例1:举例2:3.matlab程序流程控制1).for循环:for循环变量=初值:增量:终值循环体End2).while循环结构:while 逻辑表达式循环体End3).If分支:(单分支表达式)if 逻辑表达式程序模块End(多分支结构的语法格式)if 逻辑表达式1程序模块1Else if 逻辑表达式2程序模块2…else 程序模块nEnd4).switch分支结构Switch 表达式Case 常量1程序模块1Case 常量2程序模块2……Otherwise 程序模块nEnd4.典型信号的MATLAB表示1).实指数信号:y=k*exp(a*t)举例:2).正弦信号:y=k*sin(w*t+phi)3).复指数信号:举例:4).抽样信号5).矩形脉冲信号:y=square(t,DUTY) (width默认为1)6).三角波脉冲信号:y=tripuls(t,width,skew)(skew的取值在-1~+1之间,若skew取值为0则对称)周期三角波信号或锯齿波:Y=sawtooth(t,width)5.单位阶跃信号的MATLAB表示6.信号的时移、反折和尺度变换:Xl=fliplr(x)实现信号的反折7.连续时间信号的微分和积分运算1).连续时间信号的微分运算:语句格式:d iff(function,’variable’,n)Function:需要进行求导运算的函数,variable:求导运算的独立变量,n:求导阶数2).连续时间信号的积分运算:语句格式:int(function,’variable’,a,b)Function:被积函数variable:积分变量a:积分下限b:积分上限(a&b默认是不定积分)8.信号的相加与相乘运算9.信号的奇偶分解四、小结这一次实验让我能够教熟悉的使用这个软件,并且能够输入简单的语句并输出相应的结果和波形图,也在一定程度上巩固了c语言的一些语法。
MATLAB 《数学实验》报告9-Matlab的极限和微分运算
clear syms x F3=x*log(1+x)/sin(x^2) limit(F3,'x',0)
(4) F4
arctan x lim x x
Matlab 命令 结果 F4 = atan(x)/x ans = 0
clear syms x F4=atan(x)/x limit(F4,'x',inf)
clear%dier syms x y2=x*sin(x)*log(x) diff(y2,x)
结果 y2 = x*sin(x)*log(x) ans = sin(x)*log(x)+x*cos(x)*log(x)+sin(x)
(3) y 3
xe x 1 sin x
Matlab 命令 结果 y3 = (x*exp(x)-1)/sin(x) ans = (exp(x)+x*exp(x))/sin(x)-(x*exp(x)-1)/sin(x)^2*cos(x)
1
clear syms x F2=((1+x)/(1-x))^(1/x) limit(F2,'x',0)
F2 = ((1+x)/(1-x))^(1/x) ans = exp(2)
(3) F3
lim
x ln(1 x) 2 x 0 sin x
Matlab 命令 结果 F3 = x*log(1+x)/sin(x^2) ans = 1
x 0
arctan x ; x
结果 = atan(x)/x ans = 1
1
Matlab 命令
clear%µ þ ½· Ú¶ ÖÖ· ¨ syms x f=atan(x)/x limit(f,'x',0)
matlab实验报告
实验一1.设x=-74°,y=-27°,求22的值。
√tan|x+y|+π2.当a取-3.0,-2.9,-2.8,…,2.8,2.9,3.0时,求e−0.3a sin(a+0.3)在各点的函数值。
3. 设x=24−0.455,求12In(x+√1+x ²)的值,并分析结果矩阵中各元素的含义。
4. 已知A=354234−457879015,B=1−2672874930求下面的表达式的值。
(1)A*B和A.*B。
(2)A^3和A.^3.。
(3)A/B和A\B。
(4)[A,B]和[A([1,3],:);B^2]。
实验二一、实验步骤:1)新建脚本2)在编辑器中输入相应程序3)在命令窗口执行文件,得到结果1. 根据π²6=11²+12²+13²+…+1n ²,求π的近似值。
当n 分别取100、1000、10000时,结果是多少?要求:分别用循环结构和向量运算(使用sum 函数)来实现。
1)循环结构一、实验步骤二、1)新建脚本2)在编辑器中输入相应程序3)保存文件,将文件命名为PI.m4)在命令窗口输入PI执行文件,得到结果三、实验代码四、实验结果2.根据y=1+13+15+⋯+12n−1,求(1)y<3时的最大n值(2)与(1)的n值对应的y值一、实验步骤1)打开matlab,新建脚本2)在脚本文件中输入实验代码3)保存文件,存名字为value.m4)在命令窗口中输入value,得到实验结果二、实验代码三、实验结果。
Matlab实验报告六(三次样条与分段线性插值)
实验名称插值与拟合
所属课程数学软件与实验
实验类型综合型实验
专业信息与计算科学
班级
学号
姓名
指导教师
一、实验概述
【实验目的】
学会在matlab环境下使用几种不同的插值法和拟合两种方法构造函数依据已经知道的某些特殊点来推测实际问题中需要知道但又不便于测量出来的量。
【实验原理】
1.z=interp2(x0,y0,z0,x,y,’method’): 要求x0,y0单调;x, y可取为矩阵, 或x取行向量, y取为列向量, x,y的值分别不能超出x0,y0的范围。
2.分段线性插值与计算量与n无关;n越大, 误差越小.
3.三次样条插值比分段线性插值更光滑。
4.‘linear’ : 分段线性插值;‘spline’ : 三次样条
二、实验内容
问题1 对函数, x([-5,5], 分别用分段线性插值和三次样条插值作插值(其中插值节点不少于20), 并分别作出每种插值方法的误差曲线.
1180 1320 1450 1420 1400 1300 700 900];
mesh(x,y,z)
xi=0:20:2800;
yi=0:20:2400;
zi=interp2(x,y,z,xi',yi,'cubic');
mesh(xi,yi,zi)
3.结果
4.结论及分析
通过实验,结果正确,分析无误。
三、实验小结
1270 1500 1200 1100 1350 1450 1200 1150
1230 1390 1500 1500 1400 900 1100 1060
1180 1320 1450 1420 1400 1300 700 900
matlab--函数图形绘制实验报告1
实验报告课程名称: 数学实验学院名称: 数学与统计学院班级:姓名:学号:2012-2013 学年第学期数学与统计学院制(二)参数方程作图例2: 画出星形线{ 及旋轮线{ 的图形解: 输入以下命令:%星形线作图t=linspace(0,2*pi,5000);x=2*(cos(t)).^3;y=2*(sin(t)).^3;plot(x,y),grid;结果:%旋轮线作图t=linspace(0,4*pi,5000); x=2*(t-sin(t));y=2*(1-cos(t));plot(x,y),axis equal; axis(0,8*pi,0,5);grid;结果:(三)极坐标方程图形例3:画出四叶玫瑰线的图形。
知其极坐标方程: ρ=acos(2 )。
解: 取a=5做图。
在命令窗口输入下命令theta=linspace(0,2*pi);r=2*cos(2*theta);polar(theta,r)结果:(四)空间曲面(线)的绘制例4: 绘制双曲抛物面z= 。
解:将其化为参数方程:{ , 编写m文件运行以下命令r=linspace(-4,4,30);s=r;[u,v]=meshgrid(r,s);x=u;y=v;z=(u.^2-v.^2)./4;surf(x,y,z);bix on;结果:(五)空间曲线在坐标平面上的投影曲面和投影柱面例5: 画出螺旋线{ , 在xOz面上的正投影曲线的图形。
解:化为参数方程{ , 运行下列程序t=linspace(-2*pi,2*pi);x=10*cos(t);z=2*t;h=plot(x,z);grid;xlabel('x');ylabel('z');set(h,'linewidth',2);结果:(一)实验分析:(二)在本次实验中我们初步了解了matlab。
(三)学会了一些简单绘图。
(四)在编制中我们要很明确“点乘的重要性”。
初识MATLAB的实验报告
初识MATLAB的实验报告1. 引言MATLAB(Matrix Laboratory)是一种高级的技术计算环境和编程语言。
它具有强大的矩阵计算能力和丰富的科学和工程绘图功能,被广泛应用于各个领域的科研与工程实践中。
本实验旨在初步了解MATLAB的基本语法和功能,通过实际操作加深对MATLAB编程的理解。
2. 实验目的1. 掌握MATLAB的安装和基本使用方法;2. 学习MATLAB中的常用数学函数和操作;3. 了解MATLAB绘图功能并能够绘制简单的图形。
3. 实验步骤3.1 MATLAB安装首先,在官方网站(3.2 MATLAB入门3.2.1 MATLAB语法MATLAB的语法类似于其他常见的编程语言,每个语句以分号结尾。
在MATLAB 中,可以直接进行基本的数学运算,例如加减乘除、指数、对数等。
通过以下代码可以计算两个变量的和并将结果打印出来:matlaba = 10;b = 20;sum = a + b;disp(sum);3.2.2 MATLAB变量在MATLAB中,可以创建和操作各种类型的变量,例如数值、字符串、矩阵等。
以下代码演示了如何创建一个矩阵:matlabmatrix = [1, 2, 3; 4, 5, 6; 7, 8, 9];disp(matrix);3.2.3 MATLAB函数MATLAB提供了许多内置的数学函数,可以直接调用。
以下代码演示了如何计算正弦函数值并打印结果:matlabx = pi/4;y = sin(x);disp(y);3.3 MATLAB绘图MATLAB具有强大的绘图功能,可以绘制各种图形,如曲线、散点图、柱状图等。
以下代码演示了如何绘制一个简单的正弦曲线:matlabx = linspace(0, 2*pi, 100);y = sin(x);plot(x, y);xlabel('x');ylabel('y');title('Sine Curve');4. 实验结果与分析在完成上述实验步骤后,我们成功安装了MATLAB,并学习了基本的语法、变量和函数的使用方法。
实验报告表格.doc (1)
《matlab数学实验》实验报告内容实验报告1实验名称:矩阵的基本运算实验地点:数学建模实验室日期:3.1实验目的:熟悉Matlab软件中关于向量、矩阵的基本运算,并会用sort命令解决有关排序的实际问题。
实验内容:1. 矩阵(向量、数组)的输入方法;2. 矩阵的合成与分解;3. 矩阵的加减法、乘法、转置与求逆运算;4. 向量的均值、方差、协方差与相关矩阵5.大样本数据的排序方法结果分析:(矩阵输入中应该注意的问题)实验报告2实验名称:向量的距离与夹角余弦实验地点:数学建模实验室日期:3.15实验目的:熟练掌握向量的各种距离的计算,熟悉夹角余弦的公式,掌握判别分析建模的基本方法实验内容:1. 向量的数量积,矢量积与范数;2.向量的欧氏、绝对距离、闵可夫斯基距离和马氏距离;(课件:第二讲向量的距离与夹角余弦对例3中触长、翅长为(1.28,1.86),(1.24,1.68),(1.42,2.05)的三个样本利用距离和夹角余弦进行识别)结果分析:实验报告3实验名称:大样本数据的处理方法实验地点:数学建模实验室日期: 4.3实验目的:1.熟练掌握效益型、成本型、固定型、区间型数据处理的方法;2. 熟练掌握常见的建立客观性权向量的基本方法实验内容:1. 建立效益型矩阵与成本型矩阵的方法;2. 变异系数法建立权向量3. 夹角余弦法建立权向量结果分析:实验报告4实验名称:函数作图实验地点:数学建模实验室日期:4.15实验目的:掌握利用Matlab软件作二维与三维图形的方法实验内容:1. 平面曲线的作图2. 在屏幕上生成多个图形窗3. 在同一个窗口放置多幅图形4. 空间曲面图形5. 等高线图6. 图形的编辑与旋转结果分析:写出上述实验中所需用到的Matlab命令,以及命令中应注意的问题?思考题:作图的线条、颜色、符号各有哪些组合?实验报告5实验名称:Matlab 编程实验地点:数学建模实验室日期:4.30实验目的:熟悉Matlab中的关系运算和逻辑运算,学会编写基本运算程序实验内容: 1. If 条件语句2. for循环语句3. while循环结果分析:写出上述实验中所需用到的Matlab命令,以及命令中应注意的问题思考题:Matlab中的编程语言与C语言有何异同?实验报告6实验名称:曲线拟合与插值实验地点:数学建模实验室日期:5.5实验目的:熟练掌握多项式拟合与插值的计算方法实验内容: 1. 多项式拟合2. 残差平方和的计算3. 一维插值4. 二维插值结果分析:写出上述实验中所需用到的Matlab命令,以及命令中应注意的问题思考题:何时应采取多项式拟合?实验报告7实验名称:非线性回归实验地点:数学建模实验室日期:5.20实验目的:熟练掌握非线性回归模型的方法实验内容: 1. 作出散点图,猜测曲线类型2. 建立函数并计算出参数的初始值3. 计算残差平方和与可决系数4. 画出原始数据与拟合曲线对比图结果分析:写出上述实验中所需用到的Matlab命令,以及命令中应注意的问题实验报告8实验名称:多元线性回归模型实验地点:数学建模实验室日期:6.5实验目的:熟练掌握多元线性回归模型的方法实验内容: 1. 作出各个自变量与因变量的散点图,判断是否可以建立多元线性回归模型2. 建立多元线性回归模型3. 根据残差平方和与可决系数等统计量判断可否需要进行模型的改进4. 做残差及其置信区间图,剔除异常值5. 改进模型结果分析:写出上述实验中所需用到的Matlab命令,以及命令中应注意的问题思考题:如何解释多元线性回归模型中系数的实际意义?实验报告9实验名称:数据的基本统计分析实验地点:数学建模实验室日期:6.18实验目的:熟练掌握数据的基本统计分析方法实验内容: 1. 计算分布函数与概率密度函数值2. 做出随机变量在区间[a,b]上的正态密度曲线3. 数据特征4. 异常值的判别5. 矩统计量6.正态分布检验函数与直方图结果分析:写出上述实验中所需用到的Matlab命令,以及命令中应注意的问题思考题:有丢失数据时如何计算数据的均值与方差?。
MATLAB综合性实验报告8
一、实验目的:1.学会运用Matlab解决实际问题2.进一步掌握Matlab的一些基本操作3.通过范例体会Matlab的初步建模过程4学会用做动画二.实验仪器、设备或软件:电脑、MATLAB软件三.实验内容:1.已知前两年的猪肉的产量和猪肉的价格分别为:39吨,28吨,12元/公斤,17元/公斤,根据前一年的猪肉价格影响后一年猪肉产量当年猪肉产量影响当年猪肉价格的线性关系,编写程序,利用动画原理画出前十年猪肉的产量——价格的动态图形。
(参数设置为,c1=39,c2=28,c3=36,r1=12,r2=17,k=16)。
2.在地面上建有一座圆柱形水塔,水塔内部的直径为d,并且在地面处开了一个高为H的小门.现在要对水塔内部进行维修施工,施工方案要求把一根长为l(l>d)的水管运到水塔内部.请问水塔的门高H多高时,才有可能成功地把水管搬进水塔内。
四.实验记录:1.蛛网模型:实验代码:clear%c1为产量1, c2为产量2, c3为产量3, r1为%肉价1, r2为肉价2, k为K年后产量与肉价%是否稳定c1=39;c2=28;c3=36;hold offr1=12;r2=17;k=16;a1=[c1 1;c2 1];%系数矩阵b1=[r1,r2]';%列向量a2=[r1 1;r2 1];b2=[c2,c3]';a=a1\b1;b=a2\b2;%x0(1)=c1;for n=1:30y0(n)=a(1)*x0(n)+a(2); %a(1)a(2)为矩阵元素的引用,下行类似x0(n+1)=b(1)*y0(n)+b(2);x(n)=x0(n);y(n)=x0(n+1);endplot(x,y0,'-g',y,y0,'-b')hold onm=moviein(100);for n=1:kfor j=1:30t1=x0(n)+(j-1)*(x0(n+1)-x0(n))/30;t2=x0(n)+j*(x0(n+1)-x0(n))/30;if t2<t1t=t1;t1=t2;t2=t;%这样做方便画图elseendt=t1:0.01:t2;plot(t,y0(n),'.r')%划横线t1=y0(n)+(j-1)*(y0(n+1)-y0(n))/30;t2=y0(n)+j*(y0(n+1)-y0(n))/30;if t2<t1t=t1;t1=t2;t2=t;elseendt=t1:0.01:t2;plot(x(n+1),t,'.r')%划竖线endm(:,n)=getframe;endmovie(m,20)实验结果:ans =Columns 1 through 639.0000 28.0000 36.0000 30.1818 34.4132 31.3358 Columns 7 through 1233.5739 31.9462 33.1300 32.2691 32.8952 32.4398 Columns 13 through 1832.7710 32.5302 32.7053 32.5779 32.6706 32.6032 Columns 19 through 2432.6522 32.6166 32.6425 32.6236 32.6374 32.6274 Columns 25 through 3032.6346 32.6294 32.6332 32.6304 32.6324 32.6310 Column 3132.6320实验图像:2.水塔模型:实验代码:Clearfunction x=lt523(l,d,h) k1=0;a=0l=7;d=3ymax=0;k2=0;b=pi/2;h=3;while (b-a)>10^(-2)k2=k2+1;m=0;a=0;if k1==0n=ceil(b/h)-1 elsen=ceil(b/h);endfor i=1:n+1;x(i)=a+(i-1)*(b-a)/n;y(i)=l*sin(x(i))-d*tan(x(i));endfor i=1:nif y(i)>ymaxymax=y(i);a=x(i-1);else y(i)<ymaxb=x(i);endendm=m+1;k1=k1+1;h=(b-a)/5;endabx=(a+b)/2t=0:0.01:1.35y1=l*sin(t)-d*tan(t);plot(t,y1,'-b')方法:2syms h xh=8*sin(x)-2*tan(x);d1=0;d2=pi/2;d0=(d1+d2)/2;d=0.03;a=subs(h,x,d1);b=subs(h,x,d2);c=subs(h,x,d0);for n=d1:d:d2if (((c-a)/(d0-d1))*((b-c)/(d2-d0)))<0 d1=d1+d; d2=d2-d; d0=(d1+d2)/2;a=subs(h,x,d1);b=subs(h,x,d2);c=subs(h,x,d0);endendd0hold onaxis([0,pi/2,-5,5])x=0:0.05:pi/2;plot(x,8*sin(x)-2*tan(x),'-b')实验运行结果:五、实验总结:通过做此实验,让我对MATLAB有更进一步的了解,学会怎样才能正确运用MATLAB求解实际问题,了解如何利用数学模型去解释和分析社会经济问题,特别是这个典型经济问题的求解。
MATLAB实验报告3
MATLAB实验报告3MATLAB实验报告3一、实验目的1.掌握MATLAB程序的调试方法;2.掌握MATLAB中的矩阵操作;3.熟悉MATLAB中处理图像的基本操作。
二、实验内容1.用MATLAB调试程序;2.用MATLAB进行矩阵运算;3.用MATLAB处理图像。
三、实验原理及步骤1.MATLAB程序的调试方法在MATLAB中调试程序可以采用设置断点、逐行运行、单步调试等方法。
设置断点可以在程序中的其中一行上点击左键,会出现一个红色的圆点表示断点已设置。
逐行运行可以通过点击Editor界面上的运行按钮实现。
单步调试可以通过点击断点所在行的左侧按钮实现。
2.矩阵运算在MATLAB中,对于矩阵的运算可以使用一些基本的函数,如矩阵加法、减法、乘法等。
矩阵加法可以使用"+"操作符实现,减法可以使用"-"操作符实现,乘法可以使用"*"操作符实现。
另外,MATLAB还提供了一些更复杂的矩阵运算函数,如矩阵的转置、逆等。
3.图像处理在MATLAB中,可以使用imread函数加载图像文件,使用imshow函数显示图像,使用imwrite函数保存图像。
另外,还可以使用一些图像处理函数对图像进行处理,如灰度化、二值化、平滑滤波等。
四、实验步骤1.调试程序首先,在MATLAB的Editor界面中打开要调试的程序文件。
然后,在程序的其中一行上点击左键,即设置了一个断点。
最后,点击运行按钮,程序会在断点处停下,然后可以通过单步调试和逐行运行来逐步查看程序的执行过程和变量的取值。
2.矩阵运算首先,定义两个矩阵A和B,并赋值。
然后,使用"+"操作符对两个矩阵进行相加,得到矩阵C。
最后,使用disp函数显示矩阵C的值。
3.图像处理首先,使用imread函数加载一张图像。
然后,使用imshow函数显示加载的图像。
接着,使用rgb2gray函数将彩色图像转换为灰度图像。
matlab_数学实验_实验报告_数据拟合
数据的分析之数据的拟合一、实验项目:Matlab 数据拟合 二、实验目的和要求1、掌握用matlab 作最小二乘多项式拟合和曲线拟合的方法。
2、通过实例学习如何用拟合方法解决实际问题,注意差值方法的区别。
3、鼓励不囿于固定的模式或秩序,灵活调整思路,突破思维的呆板性,找到打破常规的解决方法。
并在文献检索 动手和动脑等方面得到锻炼。
三、实验内容操作一:Malthus 人口指数增长模型用以上数据检验马尔萨斯人口指数增长模型,根据检验结果进一步讨论马尔萨斯人口模型的改进。
马尔萨斯模型的基本假设是人口的增长率为常数,记为r 。
记时刻t 的人口为()x t ,且初始时刻的人口为x 0,于是得到如下微分方程(0)dx rxdtx x ⎧=⎪⎨⎪=⎩ 需要先求微分方程的解,再用数据拟合模型中的参数。
一、分析有这个方程很容易解出0()*rtx t x e =r>0时,是表示人口箭杆指数规律随时间无限增长,称为指数增长模型。
将上式取对数,可得y=rt+a ,y=lnx ,a=lnx0 二、用matlab 编码t=1790:10:1980;x=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92 106.5 123.2 131.7 150.7 179.3 204.0 226.5]; p=polyfit(t,log(x),1); r=p(1) x0=exp(p(2)) x1=x0.*exp(r.*t); plot(t,x,'r',t,x1,'b')三、结果和图像 0.0214r =0 1.2480016x e =-17801800182018401860188019001920194019601980050100150200250300350操练二:旧车价格预测分析用什么形式的曲线来拟合数据,并预测使用4、5年后的轿车平均价格大致为多少。
matlab实验报告(实验4)
学生实验报告开课学院及实验室: 机电学院2012年12月21日学院机电学院年级、专业、班姓名学号实验课程名称MATLAB程序设计成绩实验项目名称实验4: 数据和函数的可视化指导老师一、实验目的1、掌握MATLAB绘图的基本步骤和相关指令调用的先后顺序。
2、掌握MATLAB绘图指令的调用方法。
二、实验内容数学函数从形式上可以分为离散函数和连续函数。
MATLAB对这两种函数数据的可视化都提供了相应的指令。
仔细阅读教材【例5.1-1】的实现代码, 运行并保存结果;并改用stem函数, 画出【例5.1-1】的序列图。
仔细阅读教材【例5.1-2】的实现代码, 运行并保存结果;并分别使用描点和连折线方式, 画出连续函数y=xcosx的近似图形(采样点数自定, 要求画出的图尽量接近原连续函数的图)。
仔细阅读【例5.2-2】的实现代码, 理解plot指令画多条曲线的运用方法, 运行并保存结果;并使用plot函数和legend函数, 在同一个图形窗口上画出y=sint和y=sin(2t)在[0,2pi]区间上的图形, 并标出图例。
仔细阅读【例5.2-4】的实现代码, 理解图形标识选项的运用方法, 运行并保存结果;并修改代码, 把“sin(t)”字体改为正体, 大小改为20, “极大值”改为宋体。
阅读【例5.2-6】, 理解使用hold on指令画多幅图的方法, 运行并保存结果。
阅读【例5.2-8】, 理解使用subplot函数画多个子图的方法, 运行并保存结果。
(1)综合实验: 阅读以下关于通过绘制二阶系统阶跃响应综合演示图形标识的示例, 理解示例中所有图形标识指令的作用, 掌握各个图形标识指令的运用方法, 并在原指令上改动以实现以下功能:(2)把横坐标范围改为0至5pi, 纵坐标范围改为0至2;(3)把图中的横轴的刻度改为从0开始到4pi, 中间各点间隔为pi/2;纵轴刻度改为从0开始到1.5, 中间各点间隔为0.3;(4)把图中的α改为σ。
matlab入门实验报告
matlab入门实验报告Matlab入门实验报告引言Matlab是一种强大的数学软件工具,广泛应用于科学计算、数据分析和工程设计等领域。
本实验报告旨在介绍Matlab的基本使用方法和一些常见的实验应用案例,帮助读者快速入门并掌握该软件的基本功能。
一、Matlab的安装与配置在开始使用Matlab之前,首先需要进行软件的安装和配置。
根据操作系统的不同,Matlab的安装过程可能会有所差异。
一般来说,只需要按照安装向导的指示进行操作即可完成安装。
在安装完成后,还需要进行一些基本配置,如设置工作目录、添加路径等,以便于后续的实验操作。
二、Matlab的基本语法和数据类型Matlab的基本语法与其他编程语言相似,主要由变量、函数和控制语句组成。
在Matlab中,变量的命名是不区分大小写的,可以包含字母、数字和下划线,但不能以数字开头。
Matlab支持多种数据类型,包括数值型、字符型、逻辑型等。
数值型数据在Matlab中的表示形式有整数、浮点数和复数。
Matlab提供了丰富的数学函数和运算符,可以进行各种数值计算和运算。
同时,Matlab还支持矩阵和向量的运算,这是其在科学计算和数据分析中的重要应用之一。
字符型数据主要用于表示文本信息。
在Matlab中,可以使用单引号或双引号来定义字符串,还可以通过字符串函数来处理和操作字符串。
逻辑型数据主要用于表示真值,即真或假。
在Matlab中,逻辑型数据可以通过逻辑运算符进行比较和判断。
三、Matlab的图形绘制和数据可视化Matlab提供了强大的绘图功能,可以用于绘制各种类型的图形,如曲线图、散点图、柱状图等。
通过Matlab的图形绘制函数,可以将数据可视化,更直观地展示数据的特征和规律。
同时,Matlab还支持对图形的自定义设置,如坐标轴范围、标签、标题等。
除了基本的二维图形绘制外,Matlab还支持三维图形绘制和动画效果展示。
通过Matlab的三维绘图函数,可以绘制三维曲面图、等高线图等。
数值分析matlab实验报告
数值分析matlab实验报告数值分析 Matlab 实验报告一、实验目的数值分析是研究各种数学问题数值解法的学科,Matlab 则是一款功能强大的科学计算软件。
本次实验旨在通过使用 Matlab 解决一系列数值分析问题,加深对数值分析方法的理解和应用能力,掌握数值计算中的误差分析、数值逼近、数值积分与数值微分等基本概念和方法,并培养运用计算机解决实际数学问题的能力。
二、实验内容(一)误差分析在数值计算中,误差是不可避免的。
通过对给定函数进行计算,分析截断误差和舍入误差的影响。
例如,计算函数$f(x) =\sin(x)$在$x = 05$ 附近的值,比较不同精度下的结果差异。
(二)数值逼近1、多项式插值使用拉格朗日插值法和牛顿插值法对给定的数据点进行插值,得到拟合多项式,并分析其误差。
2、曲线拟合采用最小二乘法对给定的数据进行线性和非线性曲线拟合,如多项式曲线拟合和指数曲线拟合。
(三)数值积分1、牛顿柯特斯公式实现梯形公式、辛普森公式和柯特斯公式,计算给定函数在特定区间上的积分值,并分析误差。
2、高斯求积公式使用高斯勒让德求积公式计算积分,比较其精度与牛顿柯特斯公式的差异。
(四)数值微分利用差商公式计算函数的数值导数,分析步长对结果的影响,探讨如何选择合适的步长以提高精度。
三、实验步骤(一)误差分析1、定义函数`compute_sin_error` 来计算不同精度下的正弦函数值和误差。
```matlabfunction value, error = compute_sin_error(x, precision)true_value = sin(x);computed_value = vpa(sin(x), precision);error = abs(true_value computed_value);end```2、在主程序中调用该函数,分别设置不同的精度进行计算和分析。
(二)数值逼近1、拉格朗日插值法```matlabfunction L = lagrange_interpolation(x, y, xi)n = length(x);L = 0;for i = 1:nli = 1;for j = 1:nif j ~= ili = li (xi x(j))/(x(i) x(j));endendL = L + y(i) li;endend```2、牛顿插值法```matlabfunction N = newton_interpolation(x, y, xi)n = length(x);%计算差商表D = zeros(n, n);D(:, 1) = y';for j = 2:nfor i = j:nD(i, j) =(D(i, j 1) D(i 1, j 1))/(x(i) x(i j + 1));endend%计算插值结果N = D(1, 1);term = 1;for i = 2:nterm = term (xi x(i 1));N = N + D(i, i) term;endend```3、曲线拟合```matlab%线性最小二乘拟合p = polyfit(x, y, 1);y_fit_linear = polyval(p, x);%多项式曲线拟合p = polyfit(x, y, n);% n 为多项式的次数y_fit_poly = polyval(p, x);%指数曲线拟合p = fit(x, y, 'exp1');y_fit_exp = p(x);```(三)数值积分1、梯形公式```matlabfunction T = trapezoidal_rule(f, a, b, n)h =(b a) / n;x = a:h:b;y = f(x);T = h ((y(1) + y(end))/ 2 + sum(y(2:end 1)));end```2、辛普森公式```matlabfunction S = simpson_rule(f, a, b, n)if mod(n, 2) ~= 0error('n 必须为偶数');endh =(b a) / n;x = a:h:b;y = f(x);S = h / 3 (y(1) + 4 sum(y(2:2:end 1))+ 2 sum(y(3:2:end 2))+ y(end));end```3、柯特斯公式```matlabfunction C = cotes_rule(f, a, b, n)h =(b a) / n;x = a:h:b;y = f(x);w = 7, 32, 12, 32, 7 / 90;C = h sum(w y);end```4、高斯勒让德求积公式```matlabfunction G = gauss_legendre_integration(f, a, b)x, w = gauss_legendre(5);%选择适当的节点数t =(b a) / 2 x +(a + b) / 2;G =(b a) / 2 sum(w f(t));end```(四)数值微分```matlabfunction dydx = numerical_derivative(f, x, h)dydx =(f(x + h) f(x h))/(2 h);end```四、实验结果与分析(一)误差分析通过不同精度的计算,发现随着精度的提高,误差逐渐减小,但计算时间也相应增加。
matlab 实验报告
matlab 实验报告Matlab实验报告引言:Matlab是一种强大的数值计算和可视化软件,广泛应用于科学、工程和经济等领域。
本实验报告将介绍我在使用Matlab进行实验过程中的一些经验和结果。
实验一:矩阵运算在这个实验中,我使用Matlab进行了矩阵运算。
首先,我创建了一个3x3的矩阵A和一个3x1的矩阵B,并进行了矩阵相乘运算。
通过Matlab的矩阵乘法运算符*,我得到了一个3x1的结果矩阵C。
接着,我对矩阵C进行了转置操作,得到了一个1x3的矩阵D。
最后,我计算了矩阵C和矩阵D的点积,并将结果输出。
实验二:数据可视化在这个实验中,我使用Matlab进行了数据可视化。
我选择了一组实验数据,包括时间和温度两个变量。
首先,我将数据存储在一个矩阵中,并使用Matlab的plot函数将时间和温度之间的关系绘制成曲线图。
接着,我使用Matlab的xlabel、ylabel和title函数添加了横轴、纵轴和标题。
最后,我使用Matlab的legend函数添加了图例,以便更好地理解图表。
实验三:数值积分在这个实验中,我使用Matlab进行了数值积分。
我选择了一个函数f(x)进行积分计算。
首先,我使用Matlab的syms函数定义了符号变量x,并定义了函数f(x)。
接着,我使用Matlab的int函数对函数f(x)进行积分计算,并将结果输出。
为了验证结果的准确性,我还使用了Matlab的diff函数对积分结果进行了求导操作,并与原函数f(x)进行了比较。
实验四:信号处理在这个实验中,我使用Matlab进行了信号处理。
我选择了一个音频文件,并使用Matlab的audioread函数读取了该文件。
接着,我使用Matlab的fft函数对音频信号进行了傅里叶变换,并将结果绘制成频谱图。
为了进一步分析信号的特征,我还使用了Matlab的spectrogram函数绘制了信号的时频图。
通过对信号的频谱和时频图的观察,我可以更好地理解信号的频率和时域特性。
MATLAB实验报告1
MATLAB实验报告1MATLAB实验报告1实验题目:使用MATLAB绘制正弦函数图像一、实验目的通过本次实验,我们将学会使用MATLAB软件绘制函数图像,加深对正弦函数性质的理解,并掌握MATLAB基本绘图函数的使用。
二、实验原理正弦函数是数学中常见的一种函数,其表达式为y = A * sin(ω *t + φ),其中A为振幅,ω为角速度,t为时间,φ为相位角。
三、实验步骤1.打开MATLAB软件,在命令窗口输入以下指令创建一个时间向量t,并以0.01为间隔,从0到2π生成值:t = 0:0.01:2*pi;2.输入以下指令生成正弦函数序列y,并设定振幅A为1,角速度ω为1,相位角φ为0:y = sin(t);3. 使用plot函数绘制正弦函数图像,输入以下指令:plot(t, y);title('Sin(x) Function');xlabel('Time');ylabel('Amplitude');xlim([0, 2*pi]);5.运行程序,即可获得正弦函数的图像。
四、实验结果分析(插入正弦函数图像)从图中可以看出,正弦函数以x轴为中心呈现周期性的波动,振幅为1、当x取0时,正弦函数的值为0;当x取π/2时,正弦函数的值为1;当x取π时,正弦函数的值为0;当x取3π/2时,正弦函数的值为-1;当x取2π时,正弦函数的值为0,周期为2π。
五、实验心得体会通过本次实验,我对MATLAB的基本绘图函数的使用有了初步了解和实践,提高了自己的实际操作能力,并对正弦函数的性质有了深入的认识。
在今后的实验中,我将继续深入学习和应用MATLAB软件,提高自己的数据分析和图像处理能力。
matlab实验一实验报告
matlab实验一实验报告实验一:Matlab实验报告引言:Matlab是一种强大的数学软件工具,广泛应用于科学计算、数据分析和工程设计等领域。
本实验旨在通过使用Matlab解决实际问题,探索其功能和应用。
一、实验目的本次实验的主要目的是熟悉Matlab的基本操作和常用函数,了解其在科学计算中的应用。
二、实验内容1. 数值计算在Matlab中,我们可以进行各种数值计算,包括基本的加减乘除运算,以及更复杂的矩阵运算和方程求解。
通过编写相应的代码,我们可以实现这些功能。
例如,我们可以使用Matlab计算两个矩阵的乘积,并输出结果。
代码如下:```matlabA = [1 2; 3 4];B = [5 6; 7 8];C = A * B;disp(C);```2. 数据可视化Matlab还提供了强大的数据可视化功能,可以将数据以图表的形式展示出来,更直观地观察数据的规律和趋势。
例如,我们可以使用Matlab绘制一个简单的折线图,来展示某个物体在不同时间下的位置变化。
代码如下:```matlabt = 0:0.1:10;x = sin(t);plot(t, x);xlabel('Time');ylabel('Position');title('Position vs. Time');```3. 图像处理Matlab还可以进行图像处理,包括图像的读取、处理和保存等操作。
我们可以通过Matlab对图像进行增强、滤波、分割等处理,以及进行图像的压缩和重建。
例如,我们可以使用Matlab读取一张图片,并对其进行灰度化处理。
代码如下:```matlabimg = imread('image.jpg');gray_img = rgb2gray(img);imshow(gray_img);```三、实验结果与分析在本次实验中,我们成功完成了数值计算、数据可视化和图像处理等任务。
Matlab数学实验报告
实验一 Matlab基本操作1.实验课程名称数学实验2.实验项目名称Matlab基本操作3.实验目的和要求了解Matlab的基本知识,熟悉其上机环境,掌握利用Matlab进行基本运算的方法。
4.实验内容和原理内容:三角形的面积的海伦公式为:area=)s-sa--)()(s(csb其中: s=(a+b+c)/2原理:将一般数学问题转化成对应的计算机模型并进行处理的能力。
了解Matlab的基本功能,会进行简单的操作。
5.主要仪器设备计算机与Windows 2000/XP系统;Matlab等软件。
6.操作方法与实验步骤步骤:(1)在M文件编辑窗口输入以下程序,并以文件名”area_helen.m”保存:a= input(‘a=‘) ; b= input(‘b=‘) ; c= input(‘c=‘) ;s= (a+b+c)/2;area=sqrt (s* (s-a) * (s-b) * (s-c))(2)在命令窗口输入文件名“area_helen”,按回车键,即可运行上面的程序,输入三边长,立即可得三角形面积(3)第二题在命令窗口输入b=6;a=3;c=a*b,d=c-2*b(4) 按回车键,即可运行上面的程序7.实验结果与分析<1> a=3; b=4; c=5;时,aera=6 当a为3,b为4,c为5时,s=6,aera=6<2> c= 18,d=6,a为3,b为6时,c=18,d=6实验二 Matlab的数值计算1.实验课程名称数学实验2.实验项目名称Matlab的数值计算3.实验目的和要求了解一些简单的矩阵、向量、数组和多项式的构造和运算方法实例,懂得编写简单的数值计算的Matlab程序。
熟悉一些Matlab的简单程序,会用Matlab的工具箱,懂得Matlab的安装和简单的使用。
4.实验内容和原理内容:从函数表:)1(),5.0(),2( ,0x 1x 021x 1x f(x) 32-⎪⎩⎪⎨⎧≤≤<>+=f f f x x求设)1(),2( ,1211)(2-⎩⎨⎧≤>+=f f x xx x x f 求设 原理:利用矩阵、向量、数组、和多项式的构造和运算方法,用常用的几种函数进行一般的数值问题求解。
MATLAB数学实验报告
Matlab 数学实验报告一、实验目的通过以下四组实验,熟悉MATLAB的编程技巧,学会运用MATLAB的一些主要功能、命令,通过建立数学模型解决理论或实际问题。
了解诸如分岔、混沌等概念、学会建立Malthu模型和Logistic模型、懂得最小二乘法、线性规划等基本思想。
二、实验内容2.1实验题目一2.1.1实验问题Feigenbaum曾对超越函数y=λsin(πx)(λ为非负实数)进行了分岔与混沌的研究,试进行迭代格式x k+1=λsin(πx k),做出相应的Feigenbaum图2.1.2程序设计clear;clf;axis([0,4,0,4]);hold onfor r=0:0.3:3.9x=[0.1];for i=2:150x(i)=r*sin(3.14*x(i-1));endpause(0.5)for i=101:150plot(r,x(i),'k.');endtext(r-0.1,max(x(101:150))+0.05,['\it{r}=',num2str(r)]) end加密迭代后clear;clf;axis([0,4,0,4]);hold onfor r=0:0.005:3.9x=[0.1];for i=2:150x(i)=r*sin(3.14*x(i-1));endpause(0.1)for i=101:150plot(r,x(i),'k.');endend运行后得到Feigenbaum图2.2实验题目二2.2.1实验问题某农夫有一个半径10米的圆形牛栏,长满了草。
他要将一头牛拴在牛栏边界的桩栏上,但只让牛吃到一半草,问拴牛鼻子的绳子应为多长?2.2.2问题分析如图所示,E为圆ABD的圆心,AB为拴牛的绳子,圆ABD为草场,区域ABCD为牛能到达的区域。
问题要求区域ABCD等于圆ABC的一半,可以设BC等于x,只要求出∠a和∠b就能求出所求面积。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab 数学实验报告一、实验目的通过以下四组实验,熟悉MATLAB的编程技巧,学会运用MATLAB的一些主要功能、命令,通过建立数学模型解决理论或实际问题。
了解诸如分岔、混沌等概念、学会建立Malthu模型和Logistic 模型、懂得最小二乘法、线性规划等基本思想。
二、实验内容2.1实验题目一2.1.1实验问题Feigenbaum曾对超越函数y=λsin(πx)(λ为非负实数)进行了分岔与混沌的研究,试进行迭代格式x k+1=λsin(πx k),做出相应的Feigenbaum图2.1.2程序设计clear;clf;axis([0,4,0,4]);hold onfor r=0:0.3:3.9x=[0.1];for i=2:150x(i)=r*sin(3.14*x(i-1));endpause(0.5)for i=101:150plot(r,x(i),'k.');endtext(r-0.1,max(x(101:150))+0.05,['\it{r}=',num2str(r)]) end加密迭代后clear;clf;axis([0,4,0,4]);hold onfor r=0:0.005:3.9x=[0.1];for i=2:150x(i)=r*sin(3.14*x(i-1));endpause(0.1)for i=101:150plot(r,x(i),'k.');endend运行后得到Feigenbaum图2.2实验题目二2.2.1实验问题某农夫有一个半径10米的圆形牛栏,长满了草。
他要将一头牛拴在牛栏边界的桩栏上,但只让牛吃到一半草,问拴牛鼻子的绳子应为多长?2.2.2问题分析如图所示,E为圆ABD的圆心,AB为拴牛的绳子,圆ABD为草场,区域ABCD为牛能到达的区域。
问题要求区域ABCD等于圆ABC的一半,可以设BC等于x,只要求出∠a和∠b就能求出所求面积。
先计算扇形ABCD的面积,2a÷π×πx2=2aπ2,再求AB的面积,用扇形ABE的面积减去三角形ABE的面积即可。
2.2.3程序设计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;while abs(b-a)>dltc=(a+b)/2;if f(c)==0break;elseif f(c)*f(b)<0a=c;elseb=c;endfprintf('k=%d,x=%.5f\n',k,c);k=k+1;end2.2.4问题求解与结论k=6,x=11.56250k=7,x=11.71875k=8,x=11.64063k=9,x=11.60156k=10,x=11.58203k=11,x=11.59180k=12,x=11.58691k=13,x=11.58936k=14,x=11.58813k=15,x=11.58752结果表明,要想牛只吃到一半的草,拴牛的绳子应该为11.6米。
2.3实验题目三2.3.1实验问题饲养厂饲养动物出售,设每头动物每天至少需要700g蛋白质、30g 矿物质、100mg维生素。
现有5种饲料可供选用,每种饲料每千克所含营养成分含量及单价如下表。
试确定既能满足动物生长的营养需要,又可使费用最省的选用饲料的方案。
五种饲料单位质量(1kg)所含营养成分2.3.2问题分析与模型建立设X j (j=1,2,3,4,5)表示饲料中所含的第j种饲料的数量。
由于提供的蛋白质总量必须每天满足最低要求70g,故应有3X1+2X2+1X3+6X4+18X5≥700同理,考虑矿物质和维生素的需求。
应有1X1+0.5X2+0.2X3+2X4+0.5X5≥300.5X1+1X2+0.2X3+2X4+0.8X5≥100希望调配出来的混合饲料成本最低,故目标函数f为f=0.2X1+0.7X2+0.4X3+0.3X4+0.8X5当来对决策量X j的要求应为非负。
所以该饲料配比问题是一个线性规划模型Min f =0.2X1+0.7X2+0.4X3+0.3X4+0.8X53X1+2X2+1X3+6X4+18X5≥7001X1+0.5X2+0.2X3+2X4+0.5X5≥300.5X1+1X2+0.2X3+2X4+0.8X5≥100X j≥0,j=1,2,3,4,52.3.3模型评述一般的食谱问题可叙述为:设有n 种食物,每种食物中含有m 种营养成分。
用ija 表示一个单位的第j 种食物中含有第i 种营养的数量,用ib 表示每人每天对第i 种营养的最低需求量,jc 表示第j 种食品的单价,jx 表示所用的第j 种食品的数量,一方面满足m种营养成分的需要同时使事物的总成本最低。
一般的食谱问题的线性规划模型为这类线性规划模型还可以描述很多诸如合理下料、最小成本运输、合分派任务等问题,具有很强的代表性。
2.3.4模型计算将该问题化成Matlab 中线性规划问题的标准形式Min f=0.2X1+0.7X2+0.4X3+0.3X4+0.8X5-3X1-2X2-1X3-6X4-18X5≤-700-1X1-0.5X2-0.2X3-2X4-0.5X5≤-30-0.5X1-1X-0.2X3-2X4-0/;.8X5≤-100Xj≥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=[0 0 0 0 0];ub=[];aeq=[];beq=[];[x,fval]=linprog(c,a,b,aeq,beq,lb,ub)在MATLAB命令窗口键入LF,回车,计算结果显示如下x= 0.00000.00000.000039.743625.6410fval =32.4359其结果显示x1=0 x2=0 x3=0 x4=39.7436 x5=25.6410,则表示该公司分别购买第四种第五种饲料39.7436(kg), 25.6410(kg)配成混合饲料;所耗成本32.4359(元)为满足营养条件下的最低成本。
2.3.5模型思考:线性规划的本质特点一.目标函数是决策变量的线性函数二.约束条件是决策变量的线性等式或不等式,它是一种较为简单而又特殊的约束极值问题。
三.能转化为线性规划问题的实例很多如:生产决策问题,一般性的投资问题,地址的选择,运输问题等等。
2.4实验题目四2.4.1 实验题目描述1790年到1980年各年美国人口数的统计数据如下表:试根据以上数据,(1) 分别用Malthu模型和Logistic模型建立美国人口增长的近似曲线(设美国人口总体容纳量为3.5亿);(2) 预测2000年,2005年,2010年,2015年,2020年人口数;(3) 对两种预测结果进行比较.2.4.2问题的分析2.4.2.1 Malthu模型1798年,Malthus提出对生物繁殖规律的看法。
他认为,一种群中个体数量的增长率与该时刻种群的的个体数量成正比。
设x(t)表示该种群在t时刻个体的数量,则其增长率(dx/dt)=rx(t),或相对增长率1/x*dx/dt=r.其中常数r=B-D,B和D分别为该种群个体的平均生育率与死亡率。
2.4.2.2 Logistic模型1838年,Verhulst指出上述模型未考虑“密度制约”因素。
种群生活在一定的环境中,在资源给定的情况下,个体数目越多,个体所获资源就越少,这将抑制其生长率,增加死亡率。
所以相对增长率1/x*(dx/dt)不应为一常数r,而应是r乘上一个“密度制约”因子。
此因子随x单调减小,设其为(1-x/k),其中k为环境容纳量。
于是Verhulst提出Logistic模型:dx/dt=rx(1-x/k)。
2.4.3实验设计的流程2.4.3.1 Malthu模型源代码clear;clfx=10:10:200;y=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.0 72.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5];plot(x+1780,'k-','markersize',20);axis([1780,2020,3,800]);grid;hold onn=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=[n a;a b];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=[2000 2005 2010 2015 2020];f=exp(P(1)+P(2)*(k-1780));fprintf('f=%.1f',f);2.4.3.2 Logistic模型程序源代码clc;clear;x=9:28;y=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.0 72.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5];plot(x*10+1700,y,'k.','markersize',15);grid;hold on;axis([1790 2015 0 400]);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=[30 30.5 31 31.5 32];l=[k*10+1700;1./(0.001+exp(-p(1)-p(2)*k))];2.4.4上机实验结果的分析与结论Malthus模型结果Logistic 模型结果对比预测结果与实际数据,可看出Logistic模型更符合自然规律。