当前位置:文档之家› 数学建模MATLAB上机实验报告

数学建模MATLAB上机实验报告

数学建模MATLAB上机实验报告
数学建模MATLAB上机实验报告

MATLAB课程实验报告

学院:资源与安全工程学院

专业班级:城地1503班

学号: 020******* 姓名:沈超锋

指导教师:向淑晃

2016年12月

目录

实验一 MATLAB工作环境熟悉及简单命令的执行 (2)

一、实验目的 (2)

二、实验内容 (2)

三、实验步骤: (2)

实验二 MATLAB的数值计算功能(一) (6)

一、实验目的 (6)

二、实验内容 (6)

三、实验步骤 (6)

实验三 MATLAB的数值计算功能(二) (11)

一、实验目的: (11)

二、实验内容 (11)

三、实验步骤 (11)

实验四 MATLAB程序设计入门 (15)

一、实验目的 (15)

二、实验内容 (15)

三、实验步骤 (15)

实验五 MATLAB的符号运算功能 (19)

一、实验目的 (19)

二、实验内容 (19)

三、实验步骤 (19)

实验六 MATLAB的可视化功能 (22)

一、实验目的 (22)

二、实验内容 (22)

三、实验步骤 (22)

数学建模MATLAB上机实验报告

实验一

MATLAB工作环境熟悉及简单命令的执行

第九周10月29日一、实验目的:熟悉MATLAB的工作环境,学会使用MATLAB进行

一些简单的运算。

二、实验内容:

MATLAB的启动和退出,熟悉MATLAB的桌面(desktop),包括菜单(Menu),工具条(toolbar),命令窗口(Command Window),历史命令窗口、工作空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。

三、实验步骤:

(一)MATLAB的工作环境

1、启动MATLAB,熟悉MATLAB的桌面。

MATLAB的工作环境主要由命令窗(Command Window)、若干个图形窗(Figure window)、文本编辑器(File Editor)和文件管理器组成。各视窗之间的切换可用快捷键Alt+Tab。

2、命令窗

命令窗是人们与MATLAB作人机对话的主要环境,通过它可以键入MATLAB的各种命令并读出相应的结果。但要注意,每一条命令或命令行键入后都要按回车键,命令才会被执行。例如,键入

a=ones(3,3)

然后按回车键,即可创建一个3*3且元素值为1的矩阵,并显示如下运行结果:

a=

1 1 1

1 1 1

1 1 1

3、文本编辑器

(二) 获取帮助信息

MATLAB为用户提供了强大的在线帮助功能。获取帮助信息有如下两种方式:

1.用帮助菜单获取帮助信息

2.通过命令窗口获取帮助信息

通过在命令窗口直接键入帮助命令也可获取MATLAB的在线帮助信息。帮助命令如下:help 列出MATLAB的所有帮助主题

helpwin 打开MATLAB的帮助主题窗口

helpdesk 打开MATLAB的帮助工作台

help help 打开有关如何使用帮助信息的帮助窗口

help+函数名(或主题名)查询函数(或主题)的相关信息

3、使用演示功能(Demo)

MATLAB的演示功能可以帮助用户学习和理解MATLAB的应用和强大功能, MATLAB的退出

(三)MATLAB的基本管理命令

1、工作空间(workspace)的概念及操作

2、学习清除变量命令clear

3、MATLAB工作窗口操作命令的认识学习

实验二 MATLAB 的数值计算功能(一)

第十周 11月5日

一、实验目的:

初步学习使用MATLAB 的数值计算功能

二、实验内容

复习回顾上周所学内容,学会变量与赋值语句、MATLAB 矩阵、MATLAB 3种表达式、MATLAB 常用数学函数

三、实验步骤

(一)、变量与赋值语句 例2.1:计算表达式

i

35185sin 2++o 的值,并将结果赋给变量a ,然后显示出结果。

(二)MATALB 矩阵 1、直接输入:

例2.2:生成一个3*3的矩阵只需

也可以用回车键代替分号,按下列方式输入:

2、利用MATLAB函数创建矩阵:

例2.3:利用函数reshape建立数值矩阵

在MATLAB命令窗口输入如下命令:

(三)向量的生成

1、利用冒号“:”运算生成

2、利用函数linspace() (四)矩阵拆分

1、利用冒号表达式获得子矩阵

2、利用空矩阵删除矩阵的元素

(五)(矩阵的基本运算

1.矩阵转置、矩阵加减、矩阵除法、矩阵乘方、MATLAB的常用矩阵运算函数(size()

函数、length()函数、prod()函数、sum()函数、max()函数、fliplr()函数)

prod()函数

实验三 MATLAB的数值计算功能(二)

第十一周 11月12日

一、实验目的:

逐渐深入学习使用MATLAB的数值计算功能。

二、实验内容

复习回顾上周所学内容,学习数组运算、多项式及其运算,整合。

三、实验步骤

(一)数组运算

MATLAB中数组运算符由矩阵运算符前面加一点“.”来表示,如.*、./、.^等1、加减乘除

数组相乘

x y具有相同位数,所以z1与z2等价2、数组的乘方

若两个数组的维数一致

(二)多项式及其运算

1、多项式求根,其调用格式为:X=roots(A)。

2、由指定根求多项式,poly()函数

3、多项式相乘(卷积):R=conv(A,B)

4、多项式相除(解卷积):[B,t]=deconv(R,A)

实验四 MATLAB程序设计入门

第十二周 11月19日

一、实验目的

初步学习MATLAB程序设计的思维,学会设计简单的程序

二、实验内容

M文件建立与编辑、命令文件、函数文件、数据的输入输出、全局变量和局部变量、循环控制语句

三、实验步骤

1、Input函数

例:求一元二次方程ax2+bx+c=0的根。

3、disp函数

4、if语句

5、switch语句

6、for语句

实验五 MATLAB的符号运算功能

第十三周 11月26日

一、实验目的

认识和学习MATLAB的符号运算功能

二、实验内容

认识和学会建立符号对象,符号算数运算,符号微积分计算

三、实验步骤

1、定义符号矩阵

《MATLAB与数值分析》第一次上机实验报告

电子科技大学电子工程学院标准实验报告(实验)课程名称MATLAB与数值分析 学生姓名:李培睿 学号:2013020904026 指导教师:程建

一、实验名称 《MATLAB与数值分析》第一次上机实验 二、实验目的 1. 熟练掌握矩阵的生成、加、减、乘、除、转置、行列式、逆、范数等运算 操作。(用.m文件和Matlab函数编写一个对给定矩阵进行运算操作的程序) 2. 熟练掌握算术符号操作和基本运算操作,包括矩阵合并、向量合并、符号 转换、展开符号表达式、符号因式分解、符号表达式的化简、代数方程的符号解析解、特征多项式、函数的反函数、函数计算器、微积分、常微分方程的符号解、符号函数的画图等。(用.m文件编写进行符号因式分解和函数求反的程序) 3. 掌握Matlab函数的编写规范。 4、掌握Matlab常用的绘图处理操作,包括:基本平面图、图形注释命令、 三维曲线和面的填充、三维等高线等。(用.m文件编写在一个图形窗口上绘制正弦和余弦函数的图形,并给出充分的图形注释) 5. 熟练操作MATLAB软件平台,能利用M文件完成MATLAB的程序设计。 三、实验内容 1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。并以x, y为坐标显示图像 x(n+1) = a*x(n)-b*(y(n)-x(n)^2); y(n+1) = b*x(n)+a*(y(n)-x(n)^2) 2. 编程实现奥运5环图,允许用户输入环的直径。 3. 实现对输入任意长度向量元素的冒泡排序的升序排列。不允许使用sort 函数。 四、实验数据及结果分析 题目一: ①在Editor窗口编写函数代码如下:

数学建模实验报告

数学建模实验报告

一、实验目的 1、通过具体的题目实例,使学生理解数学建模的基本思想和方法,掌握 数学建模分析和解决的基本过程。 2、培养学生主动探索、努力进取的的学风,增强学生的应用意识和创新 能力,为今后从事科研工作打下初步的基础。 二、实验题目 (一)题目一 1、题目:电梯问题有r个人在一楼进入电梯,楼上有n层。设每个 乘客在任何一层楼出电梯的概率相同,试建立一个概率模型,求直 到电梯中的乘客下完时,电梯需停次数的数学期望。 2、问题分析 (1)由于每位乘客在任何一层楼出电梯的概率相同,且各种可能的情况众多且复杂,难于推导。所以选择采用计算机模拟的 方法,求得近似结果。 (2)通过增加试验次数,使近似解越来越接近真实情况。 3、模型建立 建立一个n*r的二维随机矩阵,该矩阵每列元素中只有一个为1,其余都为0,这代表每个乘客在对应的楼层下电梯(因为每 个乘客只会在某一层下,故没列只有一个1)。而每行中1的个数 代表在该楼层下的乘客的人数。 再建立一个有n个元素的一位数组,数组中只有0和1,其中1代表该层有人下,0代表该层没人下。 例如: 给定n=8;r=6(楼8层,乘了6个人),则建立的二维随机矩阵及与之相关的应建立的一维数组为: m = 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 c = 1 1 0 1 0 1 1 1 4、解决方法(MATLAB程序代码):

n=10;r=10;d=1000; a=0; for l=1:d m=full(sparse(randint(1,r,[1,n]),1:r,1,n,r)); c=zeros(n,1); for i=1:n for j=1:r if m(i,j)==1 c(j)=1; break; end continue; end end s=0; for x=1:n if c(x)==1 s=s+1; end continue; end a=a+s; end a/d 5、实验结果 ans = 6.5150 那么,当楼高11层,乘坐10人时,电梯需停次数的数学期望为6.5150。 (二)题目二 1、问题:某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6 千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千 克,工人20名,可获利9万元.今工厂共有原料60千克,工人 150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何 安排生产计划,即两种饮料各生产多少使获利最大.进一步讨 论: 1)若投资0.8万元可增加原料1千克,问应否作这项投资. 2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划. 2、问题分析 (1)题目中共有3个约束条件,分别来自原料量、工人数与甲饮料产量的限制。 (2)目标函数是求获利最大时的生产分配,应用MATLAB时要转换

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

数学建模实验报告

数学建模实验报告 实验一计算课本251页A矩阵的最大特征根和最大特征向量 1 实验目的 通过Wolfram Mathematica软件计算下列A矩阵的最大特征根和最大特征向量。 2 实验过程 本实验运用了Wolfram Mathematica软件计算,计算的代码如下:

3 实验结果分析 从代码的运行结果,可以得到最大特征根为5.07293,最大特征向量为 {{0.262281},{0.474395},{0.0544921},{0.0985336},{0.110298}},实验结果 与标准答案符合。

实验二求解食饵-捕食者模型方程的数值解 1实验目的 通过Wolfram Mathematica或MATLAB软件求解下列习题。 一个生物系统中有食饵和捕食者两种种群,设食饵的数量为x(t),捕食者为y(t),它们满足的方程组为x’(t)=(r-ay)x,y’(t)=-(d-bx)y,称该系统为食饵-捕食者模型。当r=1,d=0.5,a=0.1,b=0.02时,求满足初始条件x(0)=25,y(0)=2的方程的数值解。 2 实验过程 实验的代码如下 Wolfram Mathematica源代码: Clear[x,y] sol=NDSolve[{x'[t] (1-0.1y[t])x[t],y'[t] 0.02x[t]y[t]-0.5y[t],x[0 ] 25,y[0] 2},{x[t],y[t]},{t,0,100}] x[t_]=x[t]/.sol y[t_]=y[t]/.sol g1=Plot[x[t],{t,0,20},PlotStyle->RGBColor[1,0,0],PlotRange->{0,11 0}] g2=Plot[y[t],{t,0,20},PlotStyle->RGBColor[0,1,0],PlotRange->{0,40 }] g3=Plot[{x[t],y[t]},{t,0,20},PlotStyle→{RGBColor[1,0,0],RGBColor[ 0,1,0]},PlotRange->{0,110}] matlab源代码 function [ t,x ]=f ts=0:0.1:15; x0=[25,2]; [t,x]=ode45('shier',ts,x0); End function xdot=shier(t,x)

matlab实验报告

MATLAB 数学实验报告 指导老师: 班级: 小组成员: 时间:201_/_/_

Matlab 第二次实验报告 小组成员: 1 题目:实验四,MATLAB 选择结构与应用实验 目的:掌握if 选择结构与程序流程控制,重点掌握break,return , pause语句的应用。 问题:问题1:验证“哥德巴赫猜想” ,即:任何一个正偶数(n>=6)均可表示为两个质数的和。要求编制一个函数程序,输入一个正偶数,返回两个质数的和。 问题分析:由用户输入一个大于6 的偶数,由input 语句实现。由if 判断语句判断是否输入的数据符合条件。再引用质数判断函数来找出两个质数,再向屏幕输出两个质数即可。 编程:function [z1,z2]=gede(n); n=input('please input n')

if n<6 disp('data error'); return end if mod(n,2)==0 for i=2:n/2 k=0; for j=2:sqrt(i) if mod(i,j)==0 k=k+1; end end for j=2:sqrt(n-i) if mod(n-i,j)==0 k=k+1; end end if k==0 fprintf('two numbers are') fprintf('%.0f,%.0f',i,n- i) break end

end end 结果分析 如上图,用户输入了大于6的偶数返回两个质数5和31,通过 不断试验,即可验证哥德巴赫猜想。 纪录:if判断语句与for循环语句联合嵌套使用可使程序结构更加明晰,更快的解决问题。 2题目:实验四,MATLAB选择结构与应用实验 目的:用matlab联系生活实际,解决一些生活中常见的实际问 题。

数学建模与数学实验报告

数学建模与数学实验报告 指导教师__郑克龙___ 成绩____________ 组员1:班级______________ 姓名______________ 学号_____________ 组员2:班级______________ 姓名______________ 学号______________ 实验1.(1)绘制函数cos(tan())y x π=的图像,将其程序及图形粘贴在此。 >> x=-pi:0.01:pi; >> y=cos(tan(pi*x)); >> plot(x,y) -4 -3 -2 -1 1 2 3 4 -1-0.8-0.6-0.4-0.200.20.40.60.8 1 (2)用surf,mesh 命令绘制曲面2 2 2z x y =+,将其程序及图形粘贴在此。(注:图形注意拖放,不要太大)(20分) >> [x,y]=meshgrid([-2:0.1:2]); >> z=2*x.^2+y.^2; >> surf(x,y,z)

-2 2 >> mesh(x,y,z) -2 2 实验2. 1、某校60名学生的一次考试成绩如下:

93 75 83 93 91 85 84 82 77 76 77 95 94 89 91 88 86 83 96 81 79 97 78 75 67 69 68 84 83 81 75 66 85 70 94 84 83 82 80 78 74 73 76 70 86 76 90 89 71 66 86 73 80 94 79 78 77 63 53 55 1)计算均值、标准差、极差、偏度、峰度,画出直方图;2)检验分布的正态性;3)若检验符合正态分布,估计正态分布的参数并检验参数. (20分) 1) >> a=[93 75 83 93 91 85 84 82 77 76 77 95 94 89 91 88 86 83 96 81 79 97 78 75 67 69 68 84 83 81 75 66 85 70 94 84 83 82 80 78 74 73 76 70 86 76 90 89 71 66 86 73 80 94 79 78 77 63 53 55]; >> pjz=mean(a) pjz = 80.1000 >> bzhc=std(a) bzhc = 9.7106 >> jc=max(a)-min(a) jc = 44 >> bar(a)

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:

数学建模实验报告

matlab 试验报告 姓名 学号 班级 问题:.(插值) 在某海域测得一些点(x,y)处的水深z 由下表给出,船的吃水深度为5英尺,在矩形区域(75,200)*(-50,150)里的哪些地方船要避免进入。 问题的分析和假设: 分析:本题利用插值法求出水深小于5英尺的区域,利用题中所给的数据,可以求出通过空间各点的三维曲面。随后,求出水深小于5英尺的范围。 基本假设:1表中的统计数据均真实可靠。 2矩形区域外的海域不对矩形海域造成影响。 符号规定:x ―――表示海域的横向位置 y ―――表示海域的纵向位置 z ―――表示海域的深度 建模: 1.输入插值基点数据。 2.在矩形区域(75,200)×(-50,150)作二维插值,运用三次插值法。 3.作海底曲面图。 4.作出水深小于5的海域范围,即z=5的等高线。 x y z 129 140 103.5 88 185.5 195 105 7.5 141.5 23 147 22.5 137.5 85.5 4 8 6 8 6 8 8 x y z 157.5 107.5 77 81 162 162 117.5 -6.5 -81 3 56.5 -66.5 84 -33.5 9 9 8 8 9 4 9

求解的Matlab程序代码: x=[129 140 103.5 88 185.5 195 105.5 157.5 107.5 77 81 162 162 117.5]; y=[7.5 141.5 23 147 22.5 137.5 85.5 -6.5 -81 3 56.5 -66.5 84 -33.5]; z=[-4 -8 -6 -8 -6 -8 -8 -9 -9 -8 -8 -9 -4 -9]; cx=75:0.5:200; cy=-50:0.5:150; cz=griddata(x,y,z,cx,cy','cubic'); meshz(cx,cy,cz),rotate3d xlabel('X'),ylabel('Y'),zlabel('Z') %pause figure(2),contour(cx,cy,cz,[-5 -5]);grid hold on plot(x,y,'+') xlabel('X'),ylabel('Y') 计算结果与问题分析讨论: 运行结果: Figure1:海底曲面图:

数学建模实验报告(1)

四川师范大学数学与软件科学学院 实验报告 课程名称:数学建模 指导教师:陈东 班级:_2008级2班_____________ 学号:__2008060244___________ 姓名:___邢颖________ 总成绩:______________

数学与软件科学学院 实验报告 学期:_2009__ 年至2010 _年____ 第_ 二___ 学期 2010 年 4 月 1 _日 课程名称:_数学建模__ 专业:数学与应用数学____ 2008__ _级_ 2 ___班 实验编号: 1 实验项目_Matlab 入门_ 指导教师 陈东 姓名: 邢颖 ____ 学号: 2008060244 一、实验目的及要求 实验目的: 实验要求: 二、实验内容 (1)用起泡法对10个数由小到大排序. 即将相邻两个数比较,将小的调到前头. (2)有一个 4*5 矩阵,编程求出其最大值及其所处的位置. (3)编程求 (4)一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下. 求它在第10次落地时,共经过多少米?第10次反弹有多高? (5)有一函数 ,写一程序,输入自变量的值,输出函数值. 三、实验步骤(该部分不够填写.请填写附页) (2) x=[1 6 2 7 6;4 6 1 3 2;1 2 3 4 7;8 1 4 6 3]; t=x(1,1); for i=1:4 for j=1:5 if x(i,j)>t t=x(i,j); a=[i,j]; end ∑=20 1! n n y xy x y x f 2sin ),(2 ++=

end end (3)程序1: x(1)=1; s=1; for n=2:20 x(n)=x(n-1)*n; s=s+x(n); end s 程序2; s=0,m=1; for n=2:20; m=m*n; s=s+m; end s 结果:s = 2.5613e+018 (4)程序 s=100 h=s/2 for n=2:10 s=s+2*h h=h/2 end s,h 结果:s = 299.6094 h = 0.0977 (5)程序: function f=fun1(x,y) f=x^2+sin(x*y)+2*y

数学建模迭代实验报告(新)

非 线 性 迭 代 实 验 报 告 一、实验背景与实验目的 迭代是数学研究中的一个非常重要的工具,通过函数或向量函数由初始结点生成迭代结点列,也可通过函数或向量函数由初值(向量)生成迭代数列或向量列。 蛛网图也是一个有用的数学工具,可以帮助理解通过一元函数由初值生成的迭代数列的敛散性,也帮助理解平衡点(两平面曲线交点)的稳定性。 本实验在Mathematica 平台上首先利用蛛网图和迭代数列研究不动点的类型;其次通过蛛网图和迭代数列研究Logistic 映射,探索周期点的性质、认识混沌现象;第三通过迭代数列或向量列求解方程(组)而寻求有效的求解方法;最后,利用结点迭代探索分形的性质。 二、实验材料 2.1迭代序列与不动点 给定实数域上光滑的实值函数)(x f 以及初值0x ,定义数列 )(1n n x f x =+, ,2,1,0=n (2.2.1) }{n x 称为)(x f 的一个迭代序列。 函数的迭代是数学研究中的一个非常重要的思想工具,利用迭代序列可以研究函数)(x f 的不动点。 对函数的迭代过程,我们可以用几何图象来直观地显示它——“蜘蛛网”。运行下列Mathematica 程序: Clear[f] f[x_] := (25*x - 85)/(x + 3); (实验时需改变函数) Solve[f[x]==x , x] (求出函数的不动点) g1=Plot[f[x], {x, -10, 20}, PlotStyle -> RGBColor[1, 0, 0], DisplayFunction -> Identity]; g2=Plot[x, {x, -10, 10}, PlotStyle -> RGBColor[0, 1, 0], DisplayFunction -> Identity]; x0=5.5; r = {}; r0=Graphics[{RGBColor[0, 0, 1], Line[{{x0, 0}, {x0, x0}}]}]; For[i = 1, i <= 100, i++, r=Append[r, Graphics[{RGBColor[0, 0, 1], Line[{{x0, x0}, {x0, f[x0]}, {f[x0], f[x0]}}] }]]; x0=f[x0] ]; Show[g1, g2, r, r0, PlotRange -> {-1, 20}, (PlotRange 控制图形上下范围) DisplayFunction -> $DisplayFunction] x[0]=x0; x[i_]:=f[x[i-1]]; (定义序列) t=Table[x[i],{i,1,10}]//N ListPlot[t] (散点图) 观察蜘蛛网通过改变初值,你能得出什么结论? 如果只需迭代n 次产生相应的序列,用下列Mathematica 程序: Iterate[f_,x0_,n_Integer]:= Module[{ t={},temp= x0},AppendTo[t,temp]; For[i=1,i <= n, i++,temp= f[temp]; AppendTo[t,temp]]; t ] f[x_]:= (x+ 2/x)/2; Iterate[f,0.7,10]

MATLAB程序设计实验报告

MATLAB 程序设计实验报告 一、实验目的 1. 通过实验熟悉MATLAB 仿真软件的使用方法; 2. 掌握用MATLAB 对连续信号时域分析、频域分析和s 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 3. 掌握用MATLAB 对离散信号时域分析、频域分析和z 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 4. 通过绘制信号运算结果的波形,了解这些信号运算对信号所起的作用。 二、实验设备 1. 计算机 : 2. MATLAB R2007a 仿真软件 三、实验原理 对系统的时域分析 信号的时域运算包括信号的相加、相乘,信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。 (1)信号的相加和相乘:已知信号)(1t f 和)(2t f ,信号相加和相乘记为 )()(1t f t f =)(2t f +;)()(1 t f t f =)(2t f *。 (2)信号的微分和积分:对于连续时间信号,其微分运算是用diff 函数来完成的,其语句格式为:diff(function,’variable’,n),其中function 表示需要进行求导运算的信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;n 为求导的阶数,默认值为求一阶导数。连续信号的积分运算用int 函数来完成,语句格式为:diff(function,’variable’,a,b),其中function 表示需要进行被积信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;a,b 为积分上、下限,a 和b 省略时为求不定积分。 (3)信号的平移、翻转和尺度变换 信号的平移包含信号的左移与右移,信号的翻转包含信号的倒相与折叠,平移和翻转信号不会改变信号)(t f 的面积和能量。信号的尺度变换是对信号)(t f 在时间轴上的变化,可使信号压缩或扩展。)(at f 将原波形压缩a 倍,)/(a t f 将原波形扩大a 倍。 ¥ 对系统频率特性的分析

数模实验报告

数学建模与实验实验报告 姓名:李明波 院系:仪器科学与工程学院 学号:22013108 老师:王峰

数学建模与实验实验报告 实验一 实验题目 (1)已知某平原地区的一条公路经过如下坐标所示的点,请采用样条插值绘出这条公路(不考虑 (2)对于上表给出的数据,估计公路长度。 实验过程 (1)第一问代码如下: X=[0,30,50,70,80,90,120,148,170,180,202,212,230,248,268,271,280,290,300,312,320,340,3 60,372,382,390,416,430,478]; Y=[80,64,47,42,48,66,80,120,121,138,160,182,200,208,212,210,200,196,188,186,200,184,1 88,200,202,240,246,280,296]; %给出坐标点 xx=0:1:478;%选取0~478内的点 yy=spline(X,Y,xx);%样条插值法找出曲线 plot(X,Y, 'p ',xx,yy, 'g ');%绘出曲线图 x=[440,420,380,360,340,320,314,280,240,200]; y=[308,334,328,334,346,356,360,392,390,400]; hold on xy=440:-1:200; yx=spline(x,y,xy); plot(x,y, 'p ',xy,yx, 'g '); 运行上述代码得到结果如下:

上图为所绘公路图 (2)代码如下: X=[0 30 50 70 80 90 120 148 170 180 202 212 230 248 268 271 280 290 300 312 320 340 360 372 382 390 416 430 478 440 420 380 360 340 320 314 280 240 200]; Y=[80 64 47 42 48 66 80 120 121 138 160 182 200 208 212 210 200 196 188 186 200 184 188 200 202 240 246 280 296 308 334 328 334 346 356 360 392 390 400]; for k=1:length(X)-1 len(k)=sqrt((X(k+1)-X(k))^2+(Y(k+1)-Y(k))^2); end; Len=sum(len);Len 运行得到结果如下: 即公路长为967.46米。

matlab实验报告

实验报告 2. The Branching statements 一、实验目的: 1.To grasp the use of the branching statements; 2.To grasp the top-down program design technique. 二、实验内容及要求: 1.实验内容: 1).编写 MATLAB 语句计算 y(t)的值 (Write the MATLAB program required to calculate y(t) from the equation) ???<+≥+-=0 530 53)(2 2t t t t t y 已知 t 从-5到 5 每隔0.5取一次值。运用循环和选择语句进行计算。 (for values of t between -5 and 5 in steps of 0.5. Use loops and branches to perform this calculation.) 2).用向量算法解决练习 1, 比较这两个方案的耗时。 (tic ,toc 的命令可以帮助你完成的时间计算,请使用'help'函数)。 Rewrite the program 1 using vectorization and compare the consuming time of these two programs. (tic, toc commands can help you to finish the time calculation, please use the …help ? function). 2.实验要求: 在报告中要体现top-down design technique, 对于 3 要写出完整的设计过程。 三、设计思路: 1.用循环和选择语句进行计算: 1).定义自变量t :t=-5:0.5:5; 2).用循环语句实现对自变量的遍历。 3).用选择语句实现对自变量的判断,选择。 4).将选择语句置入循环语句中,则实现在遍历中对数据的选择,从而实现程序的功能。 2. 用向量法实现: 1).定义自变量t :t=-5:0.5:5; 2).用 b=t>=0 语句,将t>=0得数据选择出,再通过向量运算y(b)=-3*t(b).^2 + 5; 得出结果。 3).用取反运算,选择出剩下的数据,在进行向量运算,得出结果。 四、实验程序和结果 1.实验程序 实验程序:创建m 文件:y_t.m

MATLAB入门实验报告

MATLAB实验报告 题目:第一次实验报告 学生姓名: 学院: 专业班级: 学号: 年月

MATLAB第一次实验报告 ————入门第一次上机实验刘老师就MATLAB软件进行了 大致的讲解,并讲了如何建立M文件,定义函数数 组矩阵,如何绘图。先就老师讲解及自己学习的情 况做汇报。 一、建立M文件 <1>M文件建立方法: 1. 在MATLAB中,点:File→New →M-file 2. 在编辑窗口中输入程序内容 3. 点File →Save,存盘,M文件名必须与函数名 一致 <2>课上实例 例:定义函数f(x1,x2)=100(x2-x12)2+(1-x1)2 答:建立M文件:fun.m function f=fun(x) f=100*(x(2)-x(1)^2)^2+(1-x(1))^2 如此便可以直接使用函数fun.m 例如计算f(1,2), 只需在MATLAB命令窗口键入命

令: x=[1 2] fun(x) 得f = 100. <3>课下作业 题目:有一函数,写一程序,输入自变量的值,输出函数值. 解答:建立M文件:zuoye1.m function f=zuoye1(x,y) f=x^2+sin(x*y)+2*y 命令行输入x=1,y=1 zuoye1(x,y) 得ans = 3.8415 经验算答案正确,所以程序正确。

二、定义数组、矩阵 <1>说明 逗号或空格用于分隔某一行的元素,分号用于区分不同的行. 除了分号,在输入矩阵时,按Enter 键也表示开始新一行. 输入矩阵时,严格要求所有行有相同的列 <2>课后作业 题目:有一个4x5矩阵,编程求出其最大值及其所处的位置. 解答:a=round(10*rand (4,5)) [temp I]=max(a) [am II]=max(temp) p=[I(II) II] 运行得一随机矩阵 a = 7 7 7 3 7 0 8 2 0 3 8 7 7 1 10 9 4 0 8 0 temp =

数学建模-实验报告11

《数学建模实验》实验报告 学号:______ 姓名: 实验十一:微分方程建模2 一只小船渡过宽为d的河流,目标是起点A 正对着的另一岸B点,已知河水流速w 与船在静水中的速度V2之比为k. 1?建立小船航线的方程,求其解析解; 2. 设d=100m,v i=1m/s,v2=2m/s,用数值解法求渡河所需时间、任意时刻小船的位置及航行曲线,作图,并与解析解比较。 一、问题重述 我们建立数学模型的任务有: 1. 由已给定的船速、水速以及河宽求出渡河的轨迹方程; 2. 已知船速、水速、河宽,求在任意时刻船的位置以及渡船所需要的时间。 二、问题分析 此题是一道小船渡河物理应用题,为典型的常微分方程模型,问题中船速、水速、河宽已经给定,由速度、时间、位移的关系,我们容易得到小船的轨迹方程,同时小船的起点和终点已经确定,给我们的常微分方程模型提供了初始条件。 三、模型假设 1?假设小船与河水的速度恒为定值v「V2 ,不考虑人为因素及各种自然原因; 2. 小船行驶的路线为连续曲线,起点为A,终点为B ; 3. 船在行驶过程中始终向着B点前进,即船速v2始终指向B ; 4. 该段河流为理想直段,水速w与河岸始终保持平行。 四、模型建立 y | B A 兀、 % \ * r v A X 如图,以A为原点,以沿河岸向右方向为x轴正向,以垂直河岸到B端方向为y轴正向建立平面直角坐标系。其中河水流速为v i,小船速度为V2,且w:v2 k,合速度为v,河宽为d,为72与直线AB的夹角。

V x V y 在t 时刻, 船 dx dt V i 小船在x 轴方向的位移为 x v 2 sin v 2 cos V i V 2 0,x(0) 0, y(0) ;(d y) 0. \ (d y) d y ______ 2 2 ' x dy v 2 cos 由(2)/(1)得到dx y(0) v-1 v 2 sin 0. dx In (2) (i )题 dx 对上式求倒数得 dx dy x ,在y 轴方向上的位移为y ,则t 时刻, 方向 的速度 模型求解 v 2 sin V 1 v 2 co s —, 则上式可化为 dx d y dy d ?dp pdy ydp ,代入上式, k J p 2 整理,得 P 2 | ln| d Cy | 也就是 x 2 (d y )2 y P (d y ) dp P 2 kdy ,积分可得 y C k ( ------- )k ,代入 d y x d y d y 2 0, y 0 d k (d y )k (d y )k d k (见附 录) ,对该情况下的微分方程的数值解进行分 60.0000 6.5451 98.2803 60.1000 6.4519 98.3319 60.2000 6.3585 98.3827 60.3000 6.2649 98.4327 60.4000 6.1711 98.4819 60.5000 6.0771 98.5304 60.6000 5.9829 98.5782 60.7000 5.8886 98.6251 60.8000 5.7940 98.6713 60.9000 5.6993 98.7168 61.0000 5.6043 98.7615 61.1000 5.5092 98.8054 题 由初始条件,设计程序 析,结果如下(省略了前60s 的数据):

南华大学MATLAB实验报告4

实验报告 实验项目名称MATLAB绘图 所属课程名称MATLAB及应用 实验类型上机实验 实验日期 指导教师 班级 学号 姓名 成绩

一、实验名称 MATLAB绘图 二、实验目的 (1)掌握绘制二维图形的常用函数。 (2)掌握绘制三维图形的常用函数。 (3)掌握绘制图形的辅助操作 三、实验原理 1. 绘制二维图形的常用函数 plot函数绘制二维曲线,常用格式有: plot(x):缺省自变量的绘图格式,x可为向量或矩阵。 plot(x, y):基本格式,x和y可为向量或矩阵。 plot(x1, y1, x2, y2,…):多条曲线绘图格式,在同一坐标系中绘制多个图形。 plot(x, y, ‘s’):开关格式,开关量字符串s设定了图形曲线的颜色、线型及标示符号。 2. 绘制三维图形的常用函数 (1)三维曲线图——plot3函数 plot3(x1, y1, z1, 's1', x2, y2, z2, 's2'…) (2)三维网格图——mesh函数为数据点绘制网格线: mesh(z) —— z为n×m的矩阵,x与y坐标为元素的下标位置 mesh(x, y, z) —— x, y, z分别为三维空间的坐标位置 (3)三维曲面图——由surf函数完成的,用法和mesh类似。 3. 绘制图形的辅助操作 title ——给图形加标题 xlable ——给x轴加标注 ylable ——给y轴加标注 text ——在图形指定的任意位置加标注 gtext ——利用鼠标将标注加到图形任意位置 grid on ——打开坐标网格线

grid off ——关闭坐标网格线 legend —— 添加图例 axis —— 控制坐标轴刻度 4. 特殊坐标系 极坐标图形—— polar(theta,rho(i,:)) 四、实验内容 1、绘制23sin(23)26 t y t e π-=+和它的导数在[0,4π]的曲线,并用适当的字体、大小标注其x 轴、y 轴及其函数。 2、采用两种不同方法绘制224y x xe z --=在]3,3[,-∈y x 的三维(透视)网格曲 面。(提示:ezmesh; mesh; hidden ) 3、绘制下列极坐标图形 r=3(1-cos θ) r=2(1+cos θ) r=2(1+sin θ) r=cos3 θ r=exp(4π θ) 4、在同一坐标内,分别用不同线型和颜色绘制曲线0.510.2cos4x y e x π-= 和0.522cos x y e x π-=,标记两曲线交叉点。 五、实验过程及结果(含源代码) 1.>>t=0:0.01:4*pi; y=(sqrt(3)/2)*exp(-2*t)*sin(2*sqrt(3)+pi/6); diff_y=diff(y);

《MATLAB及应用》实验报告2

核科学技术学院 实验报告 实验项目名称MATLAB符号计算 所属课程名称MATLAB及应用 实验类型上机实验 实验日期12月日 指导教师谢芹 班级 学号 姓名 成绩 一、实验名称 MATLAB符号计算 二、实验目的

(1)掌握定义符号对象的方法 (2)掌握符号表达式的运算法则以及符号矩阵运算 (3)掌握求符号函数极限及导数的方法 (4)掌握求符号函数定积分和不定积分的方法 三、实验原理 1. 函数极限及导数的方法 (1)函数极限:limit(F,x,a) 求符号函数f(x)的极限值。即计算当变量x趋近于常数a时,f(x)函数的极限值。 (2)limit(f):求符号函数f(x)的极限值。符号函数f(x)的变量为函数findsym(f)确定的默认变量;没有指定变量的目标值时,系统默认变量趋近于0,即a=0的情况。 (3)limit(f,x,a,'right'):求符号函数f的极限值。'right'表示变量x从右边趋近于a。 (4)limit(f,x,a,‘left’):求符号函数f的极限值。‘left’表示变量x从左边趋近于a。 2. 微分: diff(s):没有指定变量和导数阶数,则系统按findsym函数指示的默认变量对符号表达式s求一阶导数。 diff(s,'v'):以v为自变量,对符号表达式s求一阶导数。 diff(s,n):按findsym函数指示的默认变量对符号表达式s求n阶导数,n为正整数。 diff(s,'v',n):以v为自变量,对符号表达式s求n阶导数。 3. 函数定积分和不定积分的方法: int(s):没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式s求不定积分。 int(s,v):以v为自变量,对被积函数或符号表达式s求不定积分。 int(s,v,a,b):求定积分运算。a,b分别表示定积分的下限和上限。 梯形法:trapz(x,y):x为分割点构成的向量,y为被积函数在分割点上的函数值构成的向量; 抛物线法:quad(f,a,b,tol),f是被积函数,[a,b]是积分区间,tol是精度。

数学建模实验报告

内江师范学院 中学数学建模 实验报告册 编制数学建模组审定牟廉明 专业: 班级:级班 学号: 姓名: 数学与信息科学学院 2016年3月 说明 1.学生在做实验之前必须要准备实验,主要包括预习与本次实验相关的理论知识,熟练与本次实验相关的软件操作,收集整理相关的实验参考资料,要求学生在做实验时能带上充足的参考资料;若准备不充分,则学生不得参加本次实验,不得书写实验报告; 2.要求学生要认真做实验,主要就是指不得迟到、早退与旷课,在做实验过程中要严格遵守实验室规章制度,认真完成实验内容,极积主动地向实验教师提问等;若学生无故旷课,则本次实验成绩不合格; 3.学生要认真工整地书写实验报告,实验报告的内容要紧扣实验的要求与目的,不得抄袭她人的实验报告; 4.实验成绩评定分为优秀、合格、不合格,实验只就是对学生的动手能力进

行考核,跟据所做的的情况酌情给分。根据实验准备、实验态度、实验报告的书写、实验报告的内容进行综合评定。

实验名称:数学规划模型(实验一)指导教师: 实验时数: 4 实验设备:安装了VC++、mathematica、matlab的计算机 实验日期:年月日实验地点: 实验目的: 掌握优化问题的建模思想与方法,熟悉优化问题的软件实现。 实验准备: 1.在开始本实验之前,请回顾教科书的相关内容; 2.需要一台准备安装Windows XP Professional操作系统与装有数学软件的计算机。 实验内容及要求 原料钢管每根17米,客户需求4米50根,6米20根,8米15根,如何下料最节省?若客户增加需求:5米10根,由于采用不同切割模式太多,会增加生产与管理成本,规定切割模式不能超过3种,如何下料最节省? 实验过程: 摘要:生活中我们常常遇到对原材料进行加工、切割、裁剪的问题,将原材料加工成所需大小的过程,称为原料下料问题。按工艺要求,确定下料方案,使用料最省,或利润最大就是典型的优化问题。以此次钢管下料问题我们采用数学中的线性规划模型、对模型进行了合理的理论证明与推导,然后借助于解决线性规划的专业软件Lingo 11、0对题目所提供的数据进行计算从而得出最优解。 关键词:钢管下料、线性规划、最优解 问题一 一、问题分析: (1)我们要分析应该怎样去切割才能满足客户的需要而且又能使得所用原料比较少; (2)我们要去确定应该怎样去切割才就是比较合理的,我们切割时要保证使用原料的较少 的前提下又能保证浪费得比较少; (3)由题意我们易得一根长为17米的原料钢管可以分别切割成如下6种情况(如表一): 表一:切割模式表 模式 4m钢管根数 6m钢管根数8m钢管根数余料/m 1 4 0 0 1 2 1 2 0 1 3 2 0 1 1 4 2 1 0 3 5 0 1 1 3 6 0 0 2 1

相关主题
文本预览
相关文档 最新文档