实验二 MATLAB程序设计 含实验报告
- 格式:docx
- 大小:22.31 KB
- 文档页数:10
信号与系统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。
实验内容:运用Matlab进行简单的程序设计。
实验方法:基于Matlab环境下的简单程序设计。
实验结果:成功掌握简单的程序设计和Matlab基本编程语法。
实验二:多项式拟合与插值实验目的:学习多项式拟合和插值的方法,并能进行相关计算。
实验内容:在Matlab环境下进行多项式拟合和插值的计算。
实验方法:结合Matlab的插值工具箱,进行相关的计算。
实验结果:深入理解多项式拟合和插值的实现原理,成功掌握Matlab的插值工具箱。
实验三:最小二乘法实验目的:了解最小二乘法的基本原理和算法,并能够通过Matlab进行计算。
实验内容:利用Matlab进行最小二乘法计算。
实验方法:基于Matlab的线性代数计算库,进行最小二乘法的计算。
实验结果:成功掌握最小二乘法的计算方法,并了解其在实际应用中的作用。
实验六:常微分方程实验目的:了解ODE的基本概念和解法,并通过Matlab进行计算。
实验内容:利用Matlab求解ODE的一阶微分方程组、变系数ODE、高阶ODE等问题。
实验方法:基于Matlab的ODE工具箱,进行ODE求解。
实验结果:深入理解ODE的基本概念和解法,掌握多种ODE求解方法,熟练掌握Matlab的ODE求解工具箱的使用方法。
总结在Matlab环境下进行程序设计实验,使我对Matlab有了更深刻的认识和了解,也使我对计算机科学在实践中的应用有了更加深入的了解。
通过这些实验的学习,我能够灵活应用Matlab进行各种计算和数值分析,同时也能够深入理解相关的数学原理和算法。
这些知识和技能对我未来的学习和工作都将有着重要的帮助。
v1.0 可编辑可修改实验一 MATLAB 环境的熟悉与基本运算一、实验目的及要求1.熟悉MATLAB 的开发环境; 2.掌握MATLAB 的一些常用命令;3.掌握矩阵、变量、表达式的输入方法及各种基本运算。
二、实验内容1.熟悉MATLAB 的开发环境: ① MATLAB 的各种窗口:命令窗口、命令历史窗口、工作空间窗口、当前路径窗口。
②路径的设置:建立自己的文件夹,加入到MATLAB 路径中,并保存。
设置当前路径,以方便文件管理。
2.学习使用clc 、clear ,了解其功能和作用。
3.矩阵运算:已知:A=[1 2;3 4]; B=[5 5;7 8]; 求:A*B 、A.*B ,并比较结果。
4.使用冒号选出指定元素:已知:A=[1 2 3;4 5 6;7 8 9]; 求:A 中第3列前2个元素;A 中所有列第2,3行的元素; 5.在MATLAB 的命令窗口计算: 1) )2sin(π2) 5.4)4.05589(÷⨯+ 6.关系及逻辑运算1)已知:a=[5:1:15]; b=[1 2 8 8 7 10 12 11 13 14 15],求: y=a==b ,并分析结果 2)已知:X=[0 1;1 0]; Y=[0 0;1 0],求: x&y+x>y ,并分析结果 7.文件操作1)将0到1000的所有整数,写入到D 盘下的文件 2)读入D 盘下的文件,并赋给变量num8.符号运算1)对表达式f=x 3-1 进行因式分解2)对表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并 3)求3(1)xdz z +⎰三、实验报告要求完成实验内容的3、4、5、6、7、8,写出相应的程序、结果实验二 MATLAB 语言的程序设计一、实验目的1、熟悉 MATLAB 程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法3、函数文件的编写和设计4、了解和熟悉变量传递和赋值二、实验内容1.编写程序,计算1+3+5+7+…+(2n+1)的值(用input 语句输入n 值)。
实验二基于Matlab的离散控制系统仿真一、实验目的1)学习使用Matlab命令对离散控制系统进行仿真的方法。
2)学习使用Simulink工具箱对离散控制系统进行仿真的方法。
二、实验原理1. 控制系统命令行仿真一阶系统闭环传递函数为3()G ss+3请转换为离散系统脉冲传递函数并仿真。
根据要求实验有实验数据和所得图形如下:连续零极点图函数:离散函数零极点图:连续函数根轨迹图:离散函数根轨迹图:连续函数单位脉冲响应曲线:离散函数单位脉冲响应曲线:连续函数单位阶跃响应:离散函数单位阶跃响应:连续函数波特图:离散函数波特图:连续函数艾奎斯特曲线:离散函数艾奎斯特曲线:连续函数尼科尔斯曲线:离散函数尼科尔斯曲线:2. 控制系统simulink 仿真按图建立系统的Simulink 模型,对不同的输入信号进行仿真,改变参数,观察不同的仿真结果。
图1 控制系统Simulink 仿真图解答于实验内容第二问三、实验内容1) 二阶系统传递函数为225()4+25G s s s =+,请转换为零极点模型,离散系统模型(采样时间为1),以及离散零极点模型,并进行基于matlab 命令的仿真研究(求连续和离散系统的单位脉冲响应、单位阶跃响应、零极点分布图、根轨迹、波特图、奈奎斯特曲线、尼科尓斯曲线等)。
根据题意实验所得有:连续单位脉冲响应连续单位阶跃响应连续零极点分布图离散零极点分布图连续根轨迹连续波特图连续奈奎斯特曲线连续尼科尓斯曲线2)按图1建立系统的Simulink模型,对不同的输入信号进行仿真。
改变模型参数,观察不同的仿真结果。
Step输入:Ramp输入:当函数分子分别为1,10,100,500时有:经过实验可以看出分子越大超调越大,调整时间越大。
3)将上述系统离散化并基于Simulink仿真,观察仿真结果。
根据题意实验有:Step输入:Ramp输入:分子为1时:Step输入:Ramp输入:分子为250时:Step输入:Ramp输入:四、实验报告1)按照实验报告所要求的统一格式,填写实验报告;2)记录实验过程、实验结果和图表。
实验二MATLAB语言基础一、实验目的基本掌握MA TLAB向量、矩阵、数组的生成及其基本运算(区分数组运算和矩阵运算)、常用的数学函数。
了解字符串的操作。
二、实验内容1.向量的生成与运算;2.矩阵的创建、引用和运算;3.多维数组的创建及运算;4.字符串的操作。
三、实验步骤1.向量的生成与运算①向量的生成向量的生成有三种方法:直接输入法:生成行向量、列向量;冒号表达式法:变量=初值:间隔(可正可负):终值函数法:使用linspace线性等分函数,logspace对数等分函数。
格式为:linspace(初值,终值,个数)Logspace(初值,终值,个数), 初值及终值均为10的次幂。
②向量的运算A=[1 2 3 4 5],b=3:7,计算两行向量的转置,两行向量人加、减,两列向量的加、减;向量的点积与叉积。
a=[1 2 3 4 5];b=3:7;a =1 2 3 4 5b =3 4 5 6 7at=a',bt=b'at =12345bt =34567e1=a+b,e2=a-be1 =4 6 8 10 12 e2 =-2 -2 -2 -2 -2 f1=at+bt,f2=at-btf1 =4561012f2 =-2-2-2-2-2g1=dot(a,b),g2=a*bt>> g1=dot(a,b),g2=a*btg1 =85g2 =85g4=a.*b>> g4=a.*bg4 =3 8 15 24 35A=1:3;B=4:6;g3=cross(A,B)>> g3=cross(a,b)g3 =-3 6 -3注意:g1和g2的结果是否相同,为什么?g4的结果与g1和g2结果是否一样,为什么?g1和g2的结果相同,因为两者是同一种运算;g4与g1和g2不相同,因为两者一个是点乘一个是叉乘,运算不一样。
2.矩阵的创建、引用和运算矩阵是由n×m元素构成的矩阵结构。
matlab程序设计实验报告《MATLAB程序设计实验报告》摘要:本实验报告旨在介绍MATLAB程序设计的基本原理和实践操作,通过实验演示和分析,展示了MATLAB在工程领域的应用和重要性。
本报告详细介绍了MATLAB程序设计的基本语法和常用函数,以及如何利用MATLAB进行数据处理、图像处理、信号处理等工程应用。
通过本报告的学习,读者将能够掌握MATLAB程序设计的基本技能,为工程实践提供有力的支持。
1. 引言MATLAB是一种用于算法开发、数据可视化、数据分析和数值计算的高级技术计算语言和交互式环境。
它具有强大的数学计算功能和丰富的绘图工具,广泛应用于工程、科学和金融等领域。
本实验报告将介绍MATLAB程序设计的基本原理和实践操作,帮助读者快速掌握MATLAB的基本技能。
2. 实验目的本实验的主要目的是让读者了解MATLAB程序设计的基本语法和常用函数,掌握MATLAB在工程领域的应用和重要性。
通过实验演示和分析,展示MATLAB 在数据处理、图像处理、信号处理等方面的应用。
3. 实验内容(1)MATLAB程序设计的基本语法和常用函数(2)利用MATLAB进行数据处理的实验演示(3)利用MATLAB进行图像处理的实验演示(4)利用MATLAB进行信号处理的实验演示4. 实验步骤(1)学习MATLAB程序设计的基本语法和常用函数(2)编写MATLAB程序,实现数据处理、图像处理、信号处理等功能(3)进行实验演示和分析,展示MATLAB在工程领域的应用和重要性5. 实验结果与分析通过本实验的学习,读者将能够掌握MATLAB程序设计的基本技能,包括数据处理、图像处理、信号处理等方面的应用。
通过实验演示和分析,读者将了解MATLAB在工程领域的重要性,为工程实践提供有力的支持。
6. 结论MATLAB程序设计是一种强大的工程工具,具有广泛的应用前景。
通过本实验报告的学习,读者将能够掌握MATLAB程序设计的基本技能,为工程实践提供有力的支持。
matlab实验报告实验报告:Matlab实验分析1. 实验目的本实验旨在通过Matlab软件完成一系列数值计算和数据分析的任务,包括绘制曲线、解方程、矩阵运算等,以加深对Matlab软件的理解和掌握。
2. 实验内容2.1 绘制函数曲线首先,我们通过在Matlab中输入函数的表达式来绘制函数曲线。
例如,我们可以输入y = sin(x)来绘制正弦函数的曲线。
另外,我们还可以设置曲线的颜色、线型和坐标轴范围等。
2.2 解方程接下来,我们使用Matlab来解方程。
对于一元方程,我们可以使用solve函数来求出方程的解。
例如,我们输入syms x; solve(x^2 - 2*x - 8)来解方程x^2 - 2x - 8 = 0。
而对于多元方程组,我们可以使用solve函数的向量输入形式来求解。
例如,我们输入syms x y; solve(x^2 + y^2 - 1, x - y - 1)来求解方程组x^2 + y^2 - 1 = 0和x - y - 1 = 0的解。
2.3 矩阵运算Matlab也可以进行矩阵运算。
我们可以使用矩阵相乘、相加和取逆等运算。
例如,我们可以输入A = [1 2; 3 4]和B = [5 6;7 8]来定义两个矩阵,然后使用A * B来计算它们的乘积。
3. 实验结果与分析在本实验中,我们成功完成了绘制函数曲线、解方程和矩阵运算等任务。
通过Matlab软件,我们可以快速、准确地进行数值计算和数据分析。
使用Matlab的高级函数和工具箱,我们可以更方便地处理复杂的数值计算和数据分析问题。
4. 实验总结通过本次实验,我们进一步加深了对Matlab软件的理解和掌握。
Matlab提供了丰富的函数库和工具箱,适用于各种不同的数值计算和数据分析任务。
在日常科研和工程实践中,Matlab是一个非常强大和方便的工具,可以帮助我们更高效地完成任务。
实验一:Matlab操作环境熟悉一、实验目的1.初步了解Matlab操作环境.2.学习使用图形函数计算器命令funtool及其环境。
二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format 命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算:1.单函数运算操作。
求下列函数的符号导数(1)y=sin(x);(2) y=(1+x)^3*(2-x);求下列函数的符号积分(1)y=cos(x);(2)y=1/(1+x^2);(3)y=1/sqrt(1—x^2);(4)y=(x1)/(x+1)/(x+2)求反函数(1)y=(x-1)/(2*x+3); (2) y=exp(x);(3) y=log(x+sqrt(1+x^2));代数式的化简(1)(x+1)*(x-1)*(x-2)/(x-3)/(x—4);(2)sin(x)^2+cos(x)^2;(3)x+sin(x)+2*x—3*cos(x)+4*x*sin(x);2.函数与参数的运算操作。
从y=x^2通过参数的选择去观察下列函数的图形变化(1)y1=(x+1)^2(2)y2=(x+2)^2(3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4 (6) y6=x^2/2 3.两个函数之间的操作求和(1)sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5乘积(1)exp(—x)*sin(x) (2) sin(x)*x商(1)sin(x)/cos(x); (2) x/(1+x^2); (3) 1/(x—1)/(x—2); 求复合函数(1)y=exp(u) u=sin(x) (2) y=sqrt(u) u=1+exp(x^2)(3) y=sin(u) u=asin(x) (4) y=sinh(u) u=-x实验二:MATLAB基本操作与用法一、实验目的1.掌握用MATLAB命令窗口进行简单数学运算。
实验仿真一:控制系统中的MATLAB编程应用已知单位负反馈的开环传递函数为:G(s)=ωξω(1)假设自然频率ω给定,取五个不同的阻尼比ξ。
试用MATLAB编程,在同一张图中绘制其单位阶跃响应曲线,并分析阻尼比对二阶动态系统的影响。
取ω=2,ξ=0.25, 0.5, 1,2,4由开环传递函数求出闭环传递函数:G(s)=ωξωω将数据带入闭环传递函数得:G(s)=,ξ则随着ξ的值变化,绘制的曲线将不同。
写入MATLAB程序如下:clearclcnum=4;den1=[1 1 4];sys1=tf(num,den1);den2=[1 2 4];sys2=tf(num,den2);den3=[1 4 4];sys3=tf(num,den3);den4=[1 8 4];sys4=tf(num,den4);den5=[1 16 4];sys5=tf(num,den5);step(sys1,'b-',sys2,'g-',sys3,'r-',sys4,'c-',sys5,'y-',20);图1-1 阻尼比不同的单位阶跃响应曲线图阻尼比对二阶动态系统的影响:随着阻尼比ξ的增大,系统超调量逐渐减小。
当阻尼比大于1时,系统响应曲线为单调曲线,已经没有振荡了。
(2)假设阻尼比ξ给定,取五个不同的自然频率ω。
试用MATLAB编程,在同一张图中绘制其单位阶跃响应曲线,并分析自然频率对二阶动态系统的影响。
取ξ=0.5,ω=0.5,1,2,3, 4将数据带入闭环传递函数得:G(s)=ω,ωω则随着ω的值变化,绘制的曲线将不同写入MATLAB程序如下:clearclcnum1=0.25;den1=[1 0.5 0.25];sys1=tf(num1,den1);num2=1;den2=[1 1 1];sys2=tf(num2,den2);num3=4;den3=[1 2 4];sys3=tf(num3,den3);num4=9;den4=[1 3 9];sys4=tf(num4,den4);num5=16;den5=[1 4 16];sys5=tf(num5,den5);step(sys1,'b-',sys2,'g-',sys3,'r-',sys4,'c-',sys5,'y-',20);图1-2 自然频率不同的单位阶跃响应曲线图自然频率对二阶动态系统的影响:随着自然频率的增加,系统的响应速度加快,而响应曲线的峰值保持不变。
2015秋2013级《MATLAB程序设计》实验报告实验一班级:软件131 姓名:付云雷学号:132872一、实验目的:1、了解MATLAB程序设计的开发环境,熟悉命令窗口、工作区窗口、历史命令等窗口的使用。
2、掌握MATLAB常用命令的使用。
3、掌握MATLAB帮助系统的使用。
4、熟悉利用MATLAB进行简单数学计算以及绘图的操作方法。
二、实验内容:1、启动MATLAB软件,熟悉MATLAB的基本工作桌面,了解各个窗口的功能与使用。
图1 MATLAB工作桌面2、MATLAB的常用命令与系统帮助:(1)系统帮助help:用来查询已知命令的用法。
例如已知inv是用来计算逆矩阵,键入help inv即可得知有关inv命令的用法。
lookfor:用来寻找未知的命令。
例如要寻找计算反矩阵的命令,可键入lookfor inverse,MATLAB即会列出所有和关键字inverse相关的指令。
找到所需的命令後,即可用help进一步找出其用法。
(2)数据显示格式:常用命令:说明format short 显示小数点后4位(缺省值)format long 显示15位format bank 显示小数点后2位format + 显示+,-,0format short e 5位科学记数法format long e 15位科学记数法format rat 最接近的有理数显示(3)命令行编辑:键盘上的各种箭头和控制键提供了命令的重调、编辑功能。
具体用法如下:↑----重调前一行(可重复使用调用更早的)↓----重调后一行→----前移一字符←----后移一字符home----前移到行首end----移动到行末esc----清除一行del----清除当前字符backspace----清除前一字符(4)MATLAB工作区常用命令:who--------显示当前工作区中所有用户变量名whos--------显示当前工作区中所有用户变量名及大小、字节数和类型disp(x) -----显示变量X的内容clear -----清除工作区中用户定义的所有变量save文件名-----保存工作区中用户定义的所有变量到指定文件中load文件名-----载入指定文件中的数据3、在命令窗口执行命令完成以下运算,观察workspace的变化,记录运算结果。
实验一 Matlab基础知识一、实验目的:1.熟悉启动和退出Matlab的方法。
2.熟悉Matlab命令窗口的组成。
3.掌握建立矩阵的方法。
4.掌握Matlab各种表达式的书写规则以及常用函数的使用。
二、实验内容:1.求[100,999]之间能被21整除的数的个数。
(rem)2.建立一个字符串向量,删除其中的大写字母。
(find)3.输入矩阵,并找出其中大于或等于5的元素。
(find)4.不采用循环的形式求出和式6312ii=∑的数值解。
(sum)三、实验步骤:●求[100,199]之间能被21整除的数的个数。
(rem)1.开始→程序→Matlab2.输入命令:»m=100:999;»p=rem(m,21);»q=sum(p==0)ans=43●建立一个字符串向量,删除其中的大写字母。
(find)1.输入命令:»k=input('’,’s’);Eie48458DHUEI4778»f=find(k>=’A’&k<=’Z’);f=9 10 11 12 13»k(f)=[ ]K=eie484584778●输入矩阵,并找出其中大于或等于5的元素。
(find)1.输入命令:»h=[4 8 10;3 6 9; 5 7 3];»[i,j]=find(h>=5)i=3 j=11 22 23 21 32 3●不采用循环的形式求出和式的数值解。
(sum)1.输入命令:»w=1:63;»q=sum(2.^w)q=1.8447e+019实验二 Matlab 基本程序一、 实验目的:1. 熟悉Matlab 的环境与工作空间。
2. 熟悉M 文件与M 函数的编写与应用。
3. 熟悉Matlab 的控制语句。
4. 掌握if,switch,for 等语句的使用。
二、 实验内容:1. 根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n 值以及对应的y 值。
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程序设计实验报告Matlab程序设计实验报告引言:Matlab(Matrix Laboratory)是一种强大的高级编程语言和环境,广泛应用于科学计算、数据分析和工程设计等领域。
本实验报告旨在介绍我在Matlab程序设计实验中的学习和实践经验。
一、Matlab基础知识1.1 Matlab的安装与配置在实验开始前,我们首先需要安装Matlab并进行相应的配置。
Matlab的安装过程相对简单,只需按照官方指引进行操作即可。
配置方面,我们可以设置工作目录、界面风格、字体大小等,以提高工作效率。
1.2 Matlab的基本语法Matlab的语法类似于其他编程语言,但也有一些特殊之处。
例如,Matlab中的变量名不区分大小写,函数名则区分大小写。
此外,Matlab还具有丰富的数学函数库,可以方便地进行各种数值计算。
二、Matlab程序设计实践2.1 数值计算Matlab以其强大的数值计算能力而闻名,我们可以使用Matlab进行各种数学运算和数值计算。
例如,我们可以使用Matlab求解线性方程组、计算矩阵的特征值和特征向量等。
2.2 图像处理Matlab提供了丰富的图像处理函数,可以对图像进行各种操作和处理。
例如,我们可以使用Matlab读取图像文件、调整图像的亮度和对比度、进行图像滤波等。
此外,Matlab还支持图像的显示和保存,方便我们进行结果的展示和分析。
2.3 数据可视化Matlab提供了强大的数据可视化功能,可以将数据以图表的形式直观地展示出来。
我们可以使用Matlab绘制各种类型的图表,如折线图、散点图、柱状图等。
此外,Matlab还支持对图表的样式、标签、标题等进行自定义,以满足不同的需求。
三、实验心得与体会通过这次Matlab程序设计实验,我深刻体会到了Matlab在科学计算和工程设计中的重要性。
Matlab不仅提供了丰富的数学函数库和工具箱,还具备直观的图形界面和友好的交互环境,使得我们能够快速、高效地进行各种计算和分析。
matlab实验报告实验二Matlab实验报告实验二引言Matlab是一种功能强大的数学软件,广泛应用于科学研究和工程实践中。
在实验二中,我们将探索Matlab的图像处理功能,并通过实际案例来展示其应用。
图像处理基础图像处理是指对图像进行数字化处理的过程,其目的是改善图像质量、提取有用信息或实现特定的应用需求。
在Matlab中,我们可以利用各种函数和工具箱来实现图像处理的各种任务,如图像增强、滤波、分割和特征提取等。
实验步骤1. 图像读取与显示在Matlab中,我们可以使用imread函数读取图像文件,并使用imshow函数将图像显示在屏幕上。
例如,我们可以读取一张名为"lena.jpg"的图像,并显示出来:```matlabimg = imread('lena.jpg');imshow(img);```2. 图像灰度化图像灰度化是将彩色图像转换为灰度图像的过程。
在Matlab中,我们可以使用rgb2gray函数将彩色图像转换为灰度图像。
例如,我们可以将上一步读取的图像转换为灰度图像:```matlabgray_img = rgb2gray(img);imshow(gray_img);```3. 图像二值化图像二值化是将灰度图像转换为二值图像的过程,其中只包含黑色和白色两种颜色。
在Matlab中,我们可以使用imbinarize函数将灰度图像二值化。
例如,我们可以将上一步得到的灰度图像二值化:```matlabbinary_img = imbinarize(gray_img);imshow(binary_img);```4. 图像平滑图像平滑是指去除图像中的噪声或细节,使得图像更加平滑和清晰。
在Matlab 中,我们可以使用imfilter函数对图像进行平滑处理。
例如,我们可以对上一步得到的二值图像进行平滑处理:```matlabsmooth_img = imfilter(binary_img, fspecial('average'));imshow(smooth_img);```5. 图像边缘检测图像边缘检测是指提取图像中物体边缘的过程,常用于目标检测和图像分割。
实验二 Matlab语言程序设计一、实验内容:1、编写命令文件:计算 1+2+…+n<2000 时的最大 n 值;>> n=1; %将变量初值设为1sum=0;while((sum+n)<2000) %若s<2000成立,则执行下一条语句,否则结束本循环sum=sum+n; %求和运算n=n+1;endsum,n-1 %显示最终s和nsum =1953ans =622、编写函数文件:分别用 for 和 while 循环结构编写程序,求 2 的 0 到 15 次幂的和。
function xunhuan(x)sum=0;for(i=0:x)sum=sum+2^i;endy=sum>> xunhuan(15)y =65535function whilexun(x)sum=0;i=0;while(i<x)sum=sum+2^i;i=i+1;endy=sum>> whilexun(16)y =655353、如果想对一个变量 x 自动赋值。
当从键盘输入 y 或 Y 时(表示是),x 自动赋为 1;当从键盘输入 n 或 N 时(表示否),x 自动赋为 0;输入其他字符时终止程序。
a=input('输入一个字符:');switch acase 'y'x=1case 'Y'x=1case 'n'x=0case 'N'x=0otherwiseend输入一个字符:'Y'x =1二、实验思考题1.用FOR和WHILE语句有何要求?答:for语句的基本命令格式为for 循环变量=表达式1表达式3表达式2循环语句组End表达式1、表达式3、表达式2的定义和C语言相似即首先执行循环变量的初始值赋成表达式1的值然后判断循环变量的值介于表达式1和表达式2的值之间则执行循环体中的语句否则结束循环语句的执行。
matlab实验报告引言:Matlab(矩阵实验室)是一款功能强大的数值计算和科学计算软件,广泛应用于工程、科学和经济等领域。
本实验报告将探讨我在使用Matlab进行实验过程中的心得体会和实验结果。
实验一:图像处理在这个实验中,我使用Matlab对一张图像进行了处理,并应用了各种图像处理算法。
这包括图像增强、边缘检测和图像分割等技术。
通过Matlab的图像处理工具箱,我能够轻松调用各种算法函数,并对图像进行快速处理。
实验结果表明,Matlab图像处理工具箱提供了丰富的函数和算法,极大地方便了我们的图像处理工作。
实验二:模拟信号处理模拟信号处理是Matlab中的一个重要应用领域。
在这个实验中,我模拟了一个带噪声的正弦信号,并使用Matlab进行了噪声滤波和频谱分析。
通过使用Matlab的滤波函数,我能够有效地去除信号中的噪声,并还原出原始信号。
同时,Matlab提供了功能强大的频谱分析工具,我可以轻松地对信号的频率特性进行分析和可视化。
实验三:数据分析与统计数据分析与统计是Matlab的另一个重要应用领域。
在这个实验中,我使用Matlab对一组实验数据进行了分析和统计。
通过使用Matlab的统计函数和工具,我能够计算出数据的均值、方差、标准差等统计指标,并绘制出数据的直方图和散点图。
这些统计分析结果对我的实验研究提供了有力的支持,并帮助我更好地理解实验数据。
实验四:数值计算与优化数值计算与优化是Matlab的核心功能之一。
在这个实验中,我使用Matlab进行了一组数值计算和优化实验。
通过使用Matlab的数值计算函数和优化工具箱,我能够快速计算出复杂的数学问题,并找到最优解。
同时,在进行优化实验时,我可以设置各种约束条件和目标函数,从而得到最优解的参数值。
这些数值计算和优化工具极大地提高了我的研究效率和准确度。
结论:通过这些实验,我深刻认识到Matlab的强大功能和广泛应用领域。
无论是图像处理、信号处理、数据分析还是数值计算与优化,Matlab都提供了丰富的函数和工具,让我们能够快速高效地完成实验和研究工作。
实验二 MATLAB 程序设计
一、 实验目的
1.掌握利用if 语句实现选择结构的方法。
2.掌握利用switch 语句实现多分支选择结构的方法。
3.掌握利用for 语句实现循环结构的方法。
4.掌握利用while 语句实现循环结构的方法。
5.掌握MATLAB 函数的编写及调试方法。
二、 实验的设备及条件
计算机一台(带有MATLAB7.0以上的软件环境)。
M 文件的编写:
启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。
点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正
三、 实验内容
1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因
c b a 、、的不同取值而定)
,这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。
并输入几组典型值加以检验。
(提示:提示输入使用input 函数)
2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。
其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。
要求:(1)用switch 语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
(提示:注意单元矩阵的用法)
3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。
重复此过程,最终得到的结果为1。
如:
2?1
3?10?5?16?8?4?2?1
6?3?10?5?16?8?4?2?1
运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。
请为关键的Matlab 语句填写上相关注释,说明其含义或功能。
4. 的值,调用该函数后,
返回y 的值。
function [y]=myfun1(x)
选择一些数据测试你编写的函数。
5. 编写一个函数求向量x 中元素的平均值、最大值、最小值、均方根值。
function [m_x,max_x,min_x,rms_x]=myfun2(x)方均根值(Root Mean Square)的计算公式为:
用下面数据测试你写的函数:
(1)x=sin(0:0.01:6*pi)
(2)x=rand(1,200),得到的x 为200个(0,1)之间均匀分布的随机数。
6.根据22222
1......3121116n
++++=π,求π的近似值。
当n 分别取100、1000、10000时,结果是多少?
思考题:
有一分数序列:
编写一段程序,求前16项的和。
四、实验报告要求(包含预习报告要求和最终报告要求)
1.实验名称
2.实验目的
3.实验设备及条件
4.实验内容及要求
5.实验程序设计
指程序代码。
6.实验结果及结果分析
实验结果要求必须客观,果分析是对实验结果的理论评判。
7.实验中出现的问题及解决方法
8. 思考题的回答
四、 实验报告的提交方式
Word 文档,命名方式:实验号_你的学号_姓名
例如本次实验:实验一_000000001_张三.doc
(信息101提交报告邮箱):E_mail:
(网络工程101提交作业邮箱):E_mail: M(注意网络班的M是大写的)
下一次课前提交,过期不收!
五、参考文献
参考教材和Matlab帮助文件。
1.实验名称
MATLAB程序设计
2.实验目的
1.掌握利用if语句实现选择结构的方法。
2.掌握利用switch语句实现多分支选择结构的方法。
3.掌握利用for语句实现循环结构的方法。
4.掌握利用while语句实现循环结构的方法。
5.掌握MATLAB函数的编写及调试方法。
3.实验设备及条件
计算机一台(带有MATLAB7.0以上的软件环境)。
4.实验内容及要求
把实验内容的应用题,用MATLAB的语法编写出来,并运行成功,注意题与题之间用相应注释分割。
5.实验程序设计
6.实验结果及结果分析
7.实验中出现的问题及解决方法
对函数的嵌套关系理解混乱
解决:反复尝试,得出正确的嵌套关系。
'^'没有运行成功。
解决:需要加符号'.',不然无法得出预期结果8. 思考题的回答。