MATLAB数学实验报告

合集下载

matlab实训报告总结

matlab实训报告总结

matlab实训报告总结Matlab实训报告总结摘要:本文总结了在Matlab实训中所学到的知识和经验,包括Matlab的基本操作、常用函数的使用、图形绘制和数据处理等方面。

通过实际操作和实验练习,我们深入了解了Matlab的强大功能和灵活性,在数据处理和科学计算方面取得了令人满意的结果。

1. 引言Matlab是一种强大的科学计算软件,广泛应用于工程、数学、物理和其他科学领域。

在Matlab实训中,我们学习了如何使用Matlab 进行数据处理、模拟实验和图形绘制等操作。

2. 实训内容在实训中,我们首先学习了Matlab的基本操作,包括变量的定义和赋值、数组和矩阵的创建和运算,以及条件语句和循环语句的使用。

这些基本操作是我们后续实验的基础。

接着,我们学习了常用函数的使用。

Matlab提供了许多内置函数,例如求解方程、插值、傅里叶变换等。

我们通过实际例子学习了这些函数的使用方法,并在实验中应用到了实际问题中。

在图形绘制方面,Matlab提供了丰富的绘图函数,可以绘制二维和三维图形。

我们学习了如何绘制线条、曲线、散点图和柱状图等,并通过实验练习提高了我们的图形绘制能力。

我们学习了数据处理的方法。

Matlab提供了强大的数据处理函数,可以对数据进行滤波、拟合、统计和分析等操作。

我们通过实验掌握了这些数据处理方法,并将其应用到了实际数据中。

3. 实训成果通过Matlab实训,我们取得了一些令人满意的成果。

首先,我们掌握了Matlab的基本操作,能够灵活运用各种语句和函数解决问题。

其次,我们学会了使用Matlab进行数据处理和图形绘制,能够对实验数据进行分析和展示。

最后,我们通过实验练习,提高了自己的问题解决能力和创新思维。

4. 实训心得在Matlab实训中,我们遇到了一些困难和挑战。

但是通过不断的尝试和学习,我们克服了这些困难,取得了一些进步。

在实训中,我们学会了如何提高自己的编程技巧和问题解决能力,培养了耐心和坚持的品质。

matlab实验报告

matlab实验报告

目录一、基础题 (2)二、绘图题 (3)三、句柄图形和图形用户界面制作 (9)四、Simulink仿真题 (13)五、专题实验总结 (17)六、参考文献 (17)一.基础题实验目的:1、掌握数组的创建和寻访;2、掌握MA TLAB 数组的运算;3、熟悉MA TLAB 关系操作和逻辑操作;4、掌握函数的调用。

实验要求:1、熟练掌握数组运算;2、熟悉MA TLAB 的各种数据类型及函数调用;3、初步了解M 文件及其编写、调试与运行。

实验内容:某公司投资2000万元建成一条生产线。

投产后,在时刻t 的追加成本和追加收益分别为G(t)= (百万元/年), H(t)= (百万元/年)。

试确定该生产线在合适何时停产可获最大利润?最大利润是多少?解:构造函数f(t)=H(t)-G(t)=13-t-3t 2/3=0 ;令t 1/3=x,则f(t)=-t 3-3t 2+13 可得矩阵P=[-1,-3,0,13]求最佳生产时间的源程序如下:p=[-1,-3,0,13]; x=roots(p); t=x.^3运行结果如下: t =3.6768 +21.4316i 3.6768 -21.4316i4.6465考虑到实际情况,显然两个虚数根应该舍掉。

所以将t=4.6425带入,求积分。

代码:t=4.6465; x=0:0.01:t;y=13-x-3*x.^(2/3); trapz(x,y)运行结果: ans =26.32083/225tt ++3/218t-结论:比较以上三组数据,可知最佳生产时间t=4.6465年,可获得的最大收益为 26.3208(百万元/年)。

减去20(百万元)投资,可得最终利润为6.3208(百万元)。

二.作图题实验目的:1、进一步熟悉M 文件调试过程;2、熟练掌握MA TLAB 二维、三维图形的绘制;3、掌握图形的修饰; 实验要求:1、进一步熟悉和掌握MA TLAB 的编程及调试;2、掌握二维、三维图形的绘制;3、掌握图形交互指令的使用;实验内容:1、二维绘图: (1)函数)sin(2x ey x-=,求:a. 绘制[0 ,8]区间内的图形,加注x,y 轴及图形名称;b. 最大值和最小值;c. 零值;求解:a、命令:ezplot('2*exp(-x)*sin(x)',[0,8]) %绘图title(f) , xlabel('x') ,ylabel('y') %加轴名及图名图像:b、先求最小值:从图像上可以看出,在[3,4]之间有最小值,所以命令:[xmin,fmin]=fminbnd(f,3,4)Hold onPlot(xmin,fmin)运行结果:xmin =3.9270 fmin =-0.0279增加一句标注: text(xmin,fmin,'(3.9270,-0.0279)')求最小值求最大值分析:要求最大值,即为求y=-f(x)的最小值,从图像上可以看出,在[0,2]之间有最大值命令:f=inline('-2*exp(-x)*sin(x)') ezplot(f,[0,8][xmin,fmin]=fminbnd(f,0,2) hold onplot(xmin,fmin,'*') Hold onPlot(xmin,fmin)运行结果: xmin = 0.7854 fmin = -0.6448增加标注:text(xmin,fmin,'(0.7854,-0.6448)')(如上图)综上可知:fmax= 0.6448 fmin= -0.0279c 、为了便于观察,首先增加一条直线y=0 命令:hold onezplot('0',[0,8])图像:0123456780.10.20.30.40.50.60.7x2 exp(-x) sin(x)由图像可以看出,在x=0,x=3,x=6附近有零点,所以命令及运行结果如下:fzero(f,0) %求在x=0附近的零点 ans = 0fzero(f,3) %求在x=3附近的零点 ans =3.1416fzero(f,6) %求在x=6附近的零点 ans =6.2832所以零点有三个分别为:x 1=0 x 2=3.1416 x 3=6.2832(2)在同一个画面上建立几个坐标系, 用subplot(m,n,p)命令;把一个画面分成m×n 个图形区域, p 代表当前的区域号,在每个区域中分别画一个图(函数为:;cos sin 2;cos ;sin x x u x z x y ===xxv cos sin =); 命令:>> subplot(2,2,1)>> ezplot('sin(x)',[-2*pi,2*pi]) >> subplot(2,2,2)>> ezplot('cos(x)',[-2*pi,2*pi]) >> subplot(2,2,3)>> ezplot('2*sin(x)*cos(x)',[-2*pi,2*pi]) >> subplot(2,2,4)>> ezplot('sin(x)/cos(x)',[-2*pi,2*pi])图像:2、三维绘图:(1)绘制[-8 8]区间内函数2222)sin(),(yx y x y x f ++=的三维网格曲面图,给该图加上标题;(2)绘制[-8 8]区间内单叶双曲面 125169222=-+z y x 的三维网格曲面图,给该图加上标题;(3) 求函数 f(x,y) = 3x 2+10y 2+3xy-3x +2y 在原点附近的一个极小值点和极小值;作函数 f(x,y)在|x|<2, |y|<1内的图;解:(1)命令:ezsurf('sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)',[-8,8])title('f=sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)')图像:(2)命令:xa=-8:0.2:8; ya=xa;[x,y]=meshgrid(xa,ya); a=3;b=4;c=5;z1=sqrt(c.^2*(x.^2/(a.^2)+y.^2/(b.^2)-1)); z2=-sqrt(c.^2*(x.^2/(a.^2)+y.^2/(b.^2)-1)); surf(x,y,real(z1)) hold on ;surf(x,y,real(z2)) shading interp图像:(3)求极值点命令:>> f=inline('3*x(1)^2+10*x(2)^2+3*x(1)*x(2)-3*x(1)+2*x(2)')f =Inline function:f(x) = 3*x(1)^2+10*x(2)^2+3*x(1)*x(2)-3*x(1)+2*x(2)>> [x,fval]=fminsearch(f,[0,0])运行结果:x = 0.5946 -0.1892fval = -1.0811所以原点附近的极小值点为(0.5946,-0.1892),极小值为:-1.0811 绘图命令:>> x=-2:0.1:2;>> y=-1:0.1:1;>> [xx,yy]=meshgrid(x,y);>> zz=3.*xx.^2+10.*yy.^2+3.*xx.*yy-3.*xx+2.*yy>> surf(xx,yy,zz)图像:三、句柄图形和图形用户界面制作实验目的:1、熟悉句柄图形体系的对象树结构;2、熟练掌握句柄图形体系的对象属性的创建、设置、查询;3、熟练掌握句柄的获取;4、熟练掌握图形用户界面(GUI)的制作;实验要求:1、会获取和显示图形对象的句柄;2、会设置菜单和子菜单;3、会设置用户控件;实验内容:利用底层绘图指令绘制一条余弦曲线。

matlab数学实验

matlab数学实验

《管理数学实验》实验报告班级姓名实验1:MATLAB的数值运算【实验目的】(1)掌握MATLAB变量的使用(2)掌握MATLAB数组的创建,(3)掌握MA TLAB数组和矩阵的运算。

(4)熟悉MATLAB多项式的运用【实验原理】矩阵运算和数组运算在MA TLAB中属于两种不同类型的运算,数组的运算是从数组元素出发,针对每个元素进行运算,矩阵的运算是从矩阵的整体出发,依照线性代数的运算规则进行。

【实验步骤】(1)使用冒号生成法和定数线性采样法生成一维数组。

(2)使用MA TLAB提供的库函数reshape,将一维数组转换为二维和三维数组。

(3)使用逐个元素输入法生成给定变量,并对变量进行指定的算术运算、关系运算、逻辑运算。

(4)使用MA TLAB绘制指定函数的曲线图,将所有输入的指令保存为M文件。

【实验内容】(1)在[0,2*pi]上产生50个等距采样数据的一维数组,用两种不同的指令实现。

0:(2*pi-0)/(50-1):2*pi 或linspace(0,2*pi,50)(2)将一维数组A=1:18,转换为2×9数组和2×3×3数组。

reshape(A,2,9)ans =Columns 1 through 71 3 5 7 9 11 132 4 6 8 10 12 14Columns 8 through 915 1716 18reshape(A,2,3,3)ans(:,:,1) =1 3 52 4 6ans(:,:,2) =7 9 118 10 12 ans(:,:,3) =13 15 17 14 16 18(3)A=[0 2 3 4 ;1 3 5 0],B=[1 0 5 3;1 5 0 5],计算数组A 、B 乘积,计算A&B,A|B,~A,A= =B,A>B 。

A.*Bans=0 0 15 121 15 0 0 A&Bans =0 0 1 11 1 0 0 A|Bans =1 1 1 11 1 1 1~Aans =1 0 0 00 0 0 1A==Bans =0 0 0 01 0 0 0A>=Bans =0 1 0 11 0 1 0(4)绘制y= 0.53t e -t*t*sin(t),t=[0,pi]并标注峰值和峰值时间,添加标题y= 0.53t e -t*t*sint ,将所有输入的指令保存为M 文件。

MATLAB实验报告(1-4)

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数字图像处理实验报告

matlab数字图像处理实验报告

《数字图像处理实验报告》实验一图像的增强一.实验目的1.熟悉图像在MATLAB下的读写、输出;2.熟悉直方图;3.熟悉图像的线性指数等;4.熟悉图像的算术运算和几何变换。

二.实验仪器计算机、MATLAB软件三.实验原理图像增强是指根据特定的需要突出图像中的重要信息,同时减弱或去除不需要的信息。

从不同的途径获取的图像,通过进行适当的增强处理,可以将原本模糊不清甚至根本无法分辨的原始图像处理成清晰的富含大量有用信息的可使用图像。

其基本原理是:对一幅图像的灰度直方图,经过一定的变换之后,使其成为均匀或基本均匀的,即使得分布在每一个灰度等级上的像素个数.f=H等或基本相等。

此方法是典刑的图像空间域技术处理,但是由于灰度直方图只是近似的概率密度函数,因此,当用离散的灰度等级做变换时,很难得到完全平坦均匀的结果。

频率域增强技术频率域增强是首先将图像从空间与变换到频域,然后进行各种各样的处理,再将所得到的结果进行反变换,从而达到图像处理的目的。

常用的变换方法有傅里叶变换、DCT变换、沃尔什-哈达玛变换、小波变换等。

假定原图像为f(x,y),经傅立叶变换为F(u,v)。

频率域增强就是选择合适的滤波器H(u,v)对F(u,v)的频谱成分进行处理,然后经逆傅立叶变换得到增强的图像。

四.实验内容及步骤1.图像在MATLAB下的读写、输出;实验过程:>> I = imread('F:\image\');figure;imshow(I);title('Original Image');text(size(I,2),size(I,1)+15, ...'', ...'FontSize',7,'HorizontalAlignment','right');Warning: Image is too big to fit on screen; displaying at 25% > In imuitools\private\initSize at 86In imshow at 1962.给定函数的累积直方图。

matlab实验报告

matlab实验报告

2) 在脚本文件中输入实验代码 3) 保存文件,存名字为 value.m 4) 在命令窗口中输入 value,得到实验结果 二、实验代码
三、实验结果
实验二
一、实验步骤:1)新建脚本 2)在编辑器中输入相应程序 3)在命令窗口执行文件,得到结果 1. 根据 6 = + + +…+ ,求π 的近似值。当 n 分别取 100、1000、10000 时,
1² 2² 3² ������ ² ������ ² 1 1 1 1
结果是多少?要求: 分别用循环结构和向量运算 (使用 sum 函数) 来实现。 1)循环结构 一、实验步骤 二、1)新建脚本 2)在编辑器中输入相应程序
3)保存文件,将文件命名为 PI.m 4)在命令窗口输入 PI 执行文件,得到结果 三、实验代码
四、实验结果
2. 根据 y=1+3 + 5 + ⋯ + 2������−1 ,求
(1) y2) 与(1)的 n 值对应的 y 值 一、实验步骤 1) 打开 matlab,新建脚本
1 2 4 3. 设 x= ,求 In(x+ 1 + ������²)的值,并分析结果矩阵中各元 2 −0.45 5
素的含义。
1 −2 67 3 54 2 4. 已知 A=34 −45 7 ,B=2 8 74 0 87 90 15 9 3
求下面的表达式的值。 (1) A*B 和 A.*B。 (2) A^3 和 A.^3.。 (3) A/B 和 A\B。 (4) [A,B]和[A([1,3],:);B^2]。
实验一
1. 设 x=-74°,y=-27°,求
sin ⁡ (������ 2 +������ 2 ) tan ⁡ |������ +������ |+������

matlab实验心得体会

matlab实验心得体会在进行MATLAB实验后,我对这一软件有了更深入的理解和认识。

通过实践和探索,我逐渐掌握了MATLAB的基本操作和各种常用函数,同时也意识到了其在科学计算和数据分析方面的重要性。

首先,MATLAB的语法简洁明了,非常符合数学表达的习惯。

在进行实验中,我发现MATLAB可以实现以矩阵为基础的运算,而不需要通过循环来逐个计算元素。

这一点大大提高了计算效率,并且减少了代码量。

我可以直接输入一个矩阵,然后使用MATLAB提供的函数进行运算或者操作,如矩阵相乘、转置等。

与其他编程语言相比,MATLAB的语法更加简洁,代码的可读性也更高。

其次,MATLAB提供了丰富的函数库,可以满足不同类型的科学计算需求。

在实验中,我使用到了MATLAB的信号处理工具箱和统计工具箱,这些工具箱提供了很多常用的函数和算法。

例如,我可以使用MATLAB的滤波函数对信号进行滤波处理,去除噪声。

而且,MATLAB的函数库还可以通过用户自定义函数进行扩展,这极大地增强了MATLAB的功能。

此外,MATLAB还提供了强大的绘图功能,可以直观地呈现实验结果。

在实验中,我使用MATLAB的绘图函数绘制了多个图形,如曲线图、散点图等。

这些图形不仅美观,而且直观地表达了数据的特征和规律。

与其他绘图工具相比,MATLAB具有更多的绘图选项、更高的图形质量和更好的交互性,使得实验结果更具可视化效果。

除此之外,MATLAB还提供了强大的调试和优化工具,用于解决程序中可能出现的错误和性能问题。

在实验中,我发现MATLAB的调试器可以帮助我逐步跟踪程序的执行过程,并且可以在运行过程中查看变量的值,从而快速定位问题所在。

而MATLAB的优化工具可以对程序进行性能分析,并根据分析结果对程序进行调整和优化,以提高程序的运行速度。

通过这次MATLAB实验,我深刻认识到了科学计算工具的重要性和必要性。

MATLAB作为一款专业的数学软件,具备了丰富的功能和工具,能够帮助科学家和工程师们解决实际问题。

matlab实验报告

matlab实验报告实验1 熟悉matlab 的开发环境及矩阵操作⼀、实验的教学⽬标通过本次实验使学⽣熟悉MATLAB7.0的开发环境,熟悉MA TLAB ⼯作界⾯的多个常⽤窗⼝包括命令窗⼝、历史命令窗⼝、当前⼯作⽬录窗⼝、⼯作空间浏览器窗⼝等。

掌握建⽴表达式书写规则及常⽤函数的使⽤,建⽴矩阵的⼏种⽅法。

⼆、实验环境计算机、MATLAB7.0集成环境三、实验内容1、熟悉命令窗⼝的使⽤,⼯作空间窗⼝的使⽤,⼯作⽬录、搜索路径的设置。

命令历史记录窗⼝的使⽤,帮助系统的使⽤。

2、在当前命令窗⼝中输⼊以下命令:x=0:2:10 y=sqrt(x),并理解其含义。

3、求下列表达式的值(1)w=)1034245.01(26-?+?(2)x=ac b e abc cb a ++-+++)tan(22ππ,其中a=3.5,b=5,c=-9.8 四、实验总结1、熟悉了命令窗⼝的使⽤,⼯作空间窗⼝的使⽤。

2、了解了⼯作⽬录、搜索路径的设置⽅法。

---5317383399351542实验2 MATLAB 基本运算⼀、实验的教学⽬标通过本次实验使学⽣掌握向量和矩阵的创建⽅法;掌握矩阵和数组的算术运算、逻辑运算和关系运算;掌握字符数组的创建和运算;了解创建元胞数组和结构体的⽅法。

⼆、实验环境计算机、MATLAB7.0集成环境三、实验内容1、要求在闭区间]2,0[π上产⽣具有10个等距采样点的⼀维数组。

试⽤两种不同的指令实现。

(提⽰:冒号⽣成法,定点⽣成法)2、由指令rng('default'),A=rand(3,5)⽣成⼆维数组A ,试求该数组中所有⼤于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。

(提⽰:find 和sub2ind )3、创建3阶魔⽅矩阵a 和3阶对⾓阵b ,c=a(1:3,1:3)(1)计算矩阵a,b 和c 的⾏列式、逆矩阵并进⾏最⼤值的统计。

(2)⽐较矩阵和数组的算术运算:b 和c 的*、/、^和.*、./、.^。

初识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,并学习了基本的语法、变量和函数的使用方法。

matlab实验报告总结

matlab实验报告总结1.求一份matlab的试验报告计算方法试验报告3【实验目的】检查各种数值计算方法的长期行为【内容】给定方程组x'(t)=ay(t),y'(t)=bx(t), x(0)=0, y(0)=b的解是x-y 平面上的一个椭圆,利用你已经知道的算法,取足够小的步长,计算上述方程的轨道,看看那种算法能够保持椭圆轨道不变。

(计算的时间步长要足够多)【实验设计】用一下四种方法来计算:1. Euler法2. 梯形法3. 4阶RK法4. 多步法Adams公式【实验过程】1. Euler法具体的代码如下:clear;a=2;b=1;A=[0 a; -b0];U=[];u(:,1)=[0;b];n=1000000;h=6*pi/n;fori=1:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5; u(:,i+1)=u(:,i)+h*A*u(:,i);endt=1:n+1;subplot(1, 2,1);plot(1:n,delta);gridon;subplot(1,2,2);plot(u(1,:),u(2,:));gridon;max(abs(delta-ones(1,length(delta))));结果如下:2. 梯形法具体的代码如下:clear;a=2;b=1;A=[0 a; -b 0];U=[];u(:,1)=[0;b];n=300;h=6*pi/n;for i=1:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;v1=u(:,i)+h*A*u(:,i);v2=u(:,i)+h*A*(u(:,i)+v1)/2;1u(:,i+1)=u(:,i)+h*A*(u(:,i)+v2)/2;endt=1:n+1;sub plot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下 3. 4阶RK法clear;a=2;b=1;A=[0 a; -b 0];U=[];u(:,1)=[0;b];n=70;h=6*pi/n;for i=1:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;k1=A*u(:,i); k2=A*(u(:,i)+h/2*k2); k3=A*(u(:,i)+h*k3); k4=A*(u(:,i)+h*k3); u(:,i+1)=u(:,i)+h/6*(k1+2*k2+2*k3+k4);endt=1:n+1 ;subplot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下:4. 多步法Adams公式clear;a=2;b=1;A=[0 a; -b 0];U=[];u(:,1)=[0;b];n=200;h=6*pi/n;u(:;2)=u(u,1)+h*A*u(:,1);u(:;3)=u(u,2)+h/2*A*(3*u(:,2)-u(:,1));u(:;4)=u(u,3)+h/12*A*(23*u(:,3)-16*u(:,2)+5*u(:, 1)); delta(1)=((u(1,1)/a)^2+(u(2,1)/b^2)^0.5 delta(2)=((u(1,2)/a)^2+(u(2,2)/b^2)^0.5delta(3)=((u(1,3)/a)^2+(u(2,3)/b^2)^0.5for i=4:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;u(:,i+1)=u(:,i)+h/24*A*(55*u(:,i)-59*u(:,i-1)+37 *u(:,i-1)+37*u(:,i-2)-9*u(:,i-3));endt=1:n+1;sub plot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下:【实验分析】通过这几种方法对比,发现最为稳定的是多步法Adams公式和4阶RK法,其次是梯形法,而欧拉法最为不稳定。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab 数学实验
报告
一、 实验目的
通过以下四组实验,熟悉MATLAB的编程技巧,学会运用
MATLAB的一些主要功能、命令,通过建立数学模型解决理论或实
际问题。了解诸如分岔、混沌等概念、学会建立Malthu模型和Logistic
模型、懂得最小二乘法、线性规划等基本思想。

二、 实验内容
2.1 实验题目一
2.1.1实验问题
Feigenbaum曾对超越函数y=λsin(πx)(λ为非负实数)进行了分
岔与混沌的研究,试进行迭代格式x=λsin(πx),做出相应的
kk+1
Feigenbaum图
2.1.2程序设计
clear;clf;
axis([0,4,0,4]);
hold on
for r=0:0.3:3.9
x=[0.1];
for i=2:150
x(i)=r*sin(3.14*x(i-1));
end
pause(0.5)
for i=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]);
hold on
for r=0:0.005:3.9
x=[0.1];

for i=2:150
x(i)=r*sin(3.14*x(i-1));
end
pause(0.1)
for i=101:150
plot(r,x(i),'k.');
end
end
运行后得到Feigenbaum图

2.2实验题目二
2.2.1实验问题
某农夫有一个半径10米的圆形牛栏,长满了草。他要将一头牛拴在
牛栏边界的桩栏上,但只让牛吃到一半草,问拴牛鼻子的绳子应为多
长?
问题分析
2.2.2
如图所示,E为圆ABD的圆心,AB为拴牛的绳子,圆ABD为草场,
区域ABCD为牛能到达的区域。问题要求区域ABCD等于圆ABC的
一半,可以设BC等于x,只要求出∠a和∠b就能求出所求面22,再求
ABx÷π×π的面=2aπ2aABCD积。先计算扇形的面积,积,用扇
形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)>dlt
c=(a+b)/2;
if f(c)==0
break;
elseif f(c)*f(b)<0
a=c;
else
b=c;
end
fprintf('k=%d,x=%.5f\n',k,c);
k=k+1;
end
问题求解与结论
2.2.4
k=6,x=11.56250

k=7,x=11.71875

k=8,x=11.64063
k=9,x=11.60156
k=10,x=11.58203
k=11,x=11.59180
k=12,x=11.58691
k=13,x=11.58936
k=14,x=11.58813
k=15,x=11.58752
结果表明,要想牛只吃到一半的草,拴牛的绳子应该为11.6米。
2.3实验题目三
2.3.1实验问题
饲养厂饲养动物出售,设每头动物每天至少需要700g蛋白质、30g
矿物质、100mg维生素。现有5种饲料可供选用,每种饲料每千克所
含营养成分含量及单价如下表。试确定既能满足动物生长的营养需要,
又可使费用最省的选用饲料的方案。
饲料 蛋白质(g)
矿物质(g)
维生素(mg)
价格{元/千克}
A1 3 1 0.5 0.2
0.7 1 A2 2 0.5
0.4 0.2 0.2 A3 1
0.3 2 2 6 A4 0.8
0.5
18
A5

0.
8
五种饲料单位质量(1kg)所含营养成分
问题分析与模型建立
2.3.2
设X(j=1,2,3,4,5)表示饲料中所含的第j

种饲料的数量。由于提供j
的蛋白质总量必须每天满足最低要求70g,故应有
3X+2X+1X+6X+18X≥700
53241
同理,考虑矿物质和维生素的需求。应有
1X+0.5X+0.2X+2X+0.5X≥30 532140.5X+1X+0.2X+2X+0.8X≥100
54213
希望调配出来的混合饲料成本最低,故目标函数f为
f=0.2X+0.7X+0.4X+0.3X+0.8X 53214当来对决策量X的要求应为非负。
j
所以该饲料配比问题是一个线性规划模型
Min f =0.2X+0.7X+0.4X+0.3X+0.8X 531243X+2X+1X+6X+18X≥700
521431X+0.5X+0.2X+2X+0.5X≥30 53241
0.5X+1X+0.2X+2X+0.8X≥100
54132 X≥0,j=1,2,3,4,5 j
模型评述2.3.3
一般的食谱问题可叙述为: 设有 n 种食物,每

种食物中含有 m
种营养成分。用ija 表示一个单位的第 j 种食物中含有第 i 种营养
的数量,用ib 表示每人每天对第 i 种营养的最低需求量,jc 表示第
m
种食品的数量,一方面满足j 表示所用的第jx 种食品的单价,j
种营养成分的需要同时使事物的总成本最低。 一般的食谱问题的线
性规划模型为

这类线性规划模型还可以描述很多诸如合理下料、最小成本运输、合
分派任务等问题,具有很强的代表性。

模型计算2.3.4
将该问题化成 Matlab 中线性规划问题的标准形

式Min
f=0.2X+0.7X+0.4X+0.3X+0.8X 52431-3X-2X-1X-6X-18X≤-700
53124-1X-0.5X-0.2X-2X-0.5X≤-30 52413
-0.5X-1X-0.2X-2X-0/;.8X≤-100
5413 X≥0,j=1,2,3,4,5
j
由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.0000
0.0000
0.0000
39.7436
25.6410
fval =
32.4359
其结果显示x=0 x=0 x=0 x=39.7436 x=25.6410,则表示该公司分别
53124

购买第四种第五种饲料39.7436(kg), 25.6410(kg)配成混合饲料;所
耗成本32.4359(元)为满足营养条件下的最低成本。

2.3.5模型思考:线性规划的本质特点
一. 目标函数是决策变量的线性函数
二. 约束条件是决策变量的线性等式或不等式,它是一种较为简单而
又特殊的约束极值问题。
三. 能转化为线性规划问题的实例很多如:生产决策问题,一般性的
投资问题,地址的选择,运输问题等等。

2.4实验题目四
2.4.1 实验题目描述
790年到1980年各年美国人口数的统计数据如下表:
1

1800 1810 1820 1830 1840 1850 1860 1870 1880 1790 年份3.9 31.4 38.6 50.2 7.2
5.3 9.6 12.9 17.1 23.2 统计1890 1930 1940 1950 1960 1970 1980 1910 1920 1900
年份62.0
204.0 226.5
92.0 72.0
106.5 123.2 131.7 150.7 179.3 统计

试根据以上数据,

(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分别为该种群个体的平均生育率

相关文档
最新文档