MATLAB程序设计实验报告
- 格式:doc
- 大小:221.00 KB
- 文档页数:13
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.熟悉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.学会运用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实验报告实验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 的开发环境;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 盘下的data 、txt ⽂件 2)读⼊D 盘下的data 、txt ⽂件,并赋给变量num 8、符号运算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程序设计实验报告《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程序设计实验目得:1、掌握建立与执行M文件得方法;2、掌握实现选择结构得方法;3、掌握实现循环结构得方法.实验内容:1.编写用5次多项式拟合函数y=sin(x),x∈[0,2π]得脚本M文件,要求绘图观察拟合得效果。
function shiyan1x=0:0、5:2*piy=sin(x)p=polyfit(x,y,5)x1=0:0、2:2*piy1=polyval(p,x1)plot(x,y,’b’,x1,y1,’*r’x =Columns 1 through 900、5000 1、0000 1、50002、00002、5000 3、00003、50004、0000Columns10through134、5000 5、0000 5、5000 6、0000y=Columns 1 through 90 0、4794 0、8415 0、9975 0、9093 0、59850、1411-0、3508-0、7568Columns10through13-0、9775—0、9589-0、7055—0、2794p =-0、0056 0、0881-0、39670、2671 0、8902 0、0029x1=Columns 1through 100 0、2000 0、4000 0、6000 0、8000 1、0000 1、20001、4000 1、60001、8000Columns 11through 202、0000 2、20002、40002、60002、80003、0000 3、2000 3、4000 3、6000 3、8000Columns 21 through 304、0000 4、2000 4、4000 4、60004、80005、00005、2000 5、4000 5、60005、8000Columns31through 326、0000 6、2000y1=Columns 1through 100、00290、1886 0、37860、5585 0、7172 0、84610、93910、9926 1、0048 0、9761Columns11 through200、9083 0、8048 0、6701 0、5098 0、33010、1381 -0、0590-0、2538-0、4389 —0、6073Columns 21 through30—0、7524-0、8685-0、9505-0、9949 -0、9991 -0、9626—0、8863—0、7732 -0、6288—0、4606Columns 31through32—0、2792 -0、09782、从键盘输入一个4位整数,按如下规则加密后输出。
MATLAB实验报告MATLAB 实验报告姓名:专业:学号:实验⼀ MATLAB环境的熟悉与基本运算⼀、实验⽬的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算⼆、实验基本知识:1.熟悉MATLAB环境:MATLAB桌⾯和命令窗⼝、命令历史窗⼝、帮助信息浏览器、⼯作空间浏览器⽂件和搜索路径浏览器。
2.掌握MATLAB常⽤命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英⽂字母开头(3)长度不⼤于31个(4)区分⼤⼩写MATLAB中设置了⼀些特殊的变量与常量,列于下表。
MATLAB运算符,通过下⾯⼏个表来说明MATLAB的各种常⽤运算符表2 MATLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符表5 MATLAB特殊运算4.MATLAB的⼀维、⼆维数组的寻访表6 ⼦数组访问与赋值常⽤的相关指令格式5.MATLAB的基本运算表7 两种运算指令形式和实质内涵的异同表6.MATLAB的常⽤函数表8 标准数组⽣成函数表9 数组操作函数三、实验内容1、学习安装MATLAB软件。
2、学习使⽤help命令,例如在命令窗⼝输⼊help eye,然后根据帮助说明,学习使⽤指令eye(其它不会⽤的指令,依照此⽅法类推)3、学习使⽤clc、clear,观察command window、command history和workspace 等窗⼝的变化结果。
4、初步程序的编写练习,新建M-file,保存(⾃⼰设定⽂件名,例如exerc1、exerc2、exerc3……),学习使⽤MATLAB的基本运算符、数组寻访指令、标准数组⽣成函数和数组操作函数。
注意:每⼀次M-file的修改后,都要存盘。
四、实验结果练习A:(1)help rand,然后随机⽣成⼀个2×6的数组,观察command window、command history和workspace等窗⼝的变化结果。
实验一:MATLAB基本操作一、实验目的1、学习掌握MA TLAB语言的基本操作方法2、掌握命令窗口的使用3、熟悉MA TLAB的数据表示、基本运算和程序控制语句4、熟悉MA TLAB程序设计的基本方法二、实验内容和要求2.b.帮助命令的使用,查找SQRT函数的使用方法按Start-help-search,输入sqrtc.矩阵运算(1)已知A=[1 2;3 4];B=[5 5;7 8];求A^2*B输入A=[1 2;3 4];B=[5 5;7 8];A^2*B结果为:ans =105 115229 251(2)矩阵除法已知A=[1 2 3 ;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];求A/B,A\BA/B=1.0000 1.0000 1.00004.0000 2.5000 2.00007.0000 4.0000 3.0000A\B=1.0e+016 *0.3152 -1.2609 0.9457-0.6304 2.5218 -1.89130.3152 -1.2609 0.9457(3)矩阵的转置及共轭转置已知A=[15+i,2-i,1;6*i,4,9-i];求A.',A'A=15.0000 + 1.0000i 2.0000 - 1.0000i 1.00000 + 6.0000i 4.0000 9.0000 - 1.0000iA.'=15.0000 + 1.0000i 0 + 6.0000i2.0000 - 1.0000i 4.00001.0000 9.0000 - 1.0000iA'=15.0000 - 1.0000i 0 - 6.0000i2.0000 + 1.0000i 4.00001.0000 9.0000 + 1.0000i(4)使用冒号选出指定元素已知A=[1 2 3;4 5 6;7 8 9];求A中第三列前两个元素;A中所有第二行的元素A =1 2 34 5 67 8 9求A中第三列前两个元素:A([1,2],3)ans =36求A中所有第二行的元素:A(2,1:1:end)ans =4 5 6(5)方括号[]用magic函数生成一个4阶魔方矩阵,删除该矩阵的第四列magic(4)ans =16 2 3 135 11 10 89 7 6 124 14 15 1a=ans;a(:,[1,2,3])ans =16 2 35 11 109 7 64 14 153..多项式(1)求多项式p(X)=x^3-2x-4的根(2)已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4]求矩阵A的特征多项式;求矩阵多项式中未知数为20时的值;把矩阵A作为未知数代入到多项式中;(1)a=[1,0,-2,-4]x=roots(a)x =2.0000-1.0000 + 1.0000i-1.0000 - 1.0000i(2)求特征多项式系数:A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4]p=poly(A)p =1.0000 -6.9000 -77.2600 -86.1300 604.5500求矩阵多项式中未知数为20时的值:c=polyval(p,20)c =7.2778e+004把矩阵A作为未知数代入到多项式中:c=polyval(p,A)c =1.0e+003 *0.3801 -0.4545 -1.9951 0.4601-1.9951 0.2093 -1.9951 -2.8880-0.4545 -4.8978 0.6046 0.43530.4353 0.0840 -0.4545 -1.16174、基本程序设计(1)编写命令文件:计算1+2+3+……+n<2000;n=0;s=0;while s<2000n=n+1;s=s+n;endn=n-1n =62(2)编写函数文件:分别用for和while循环结构编写程序,求2的0到n次幂的和。
实验一: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实验一实验报告实验一: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程序设计实验报告引言: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 编程实验报告班级:姓名:学号: 392013 年 11 月2,实验一 Matlab运算基础一、实验目的1、熟习启动和退出MATLAB的方法。
2、熟习 MATLAB工作窗口的构成。
3、掌握成立矩阵的方法,矩阵剖析与办理。
4、掌握 MATLAB各样表达式的书写规则以及常用函数的使用。
二、实验内容1.先求以下表达式的值,而后显示 MATLAB工作空间的使用状况并保存所有变量。
2sin 85(1)z11e2z1=2*sin(85*pi/180)/(1+exp(2))z1 =(2)z2 1 ln( x2 1 2i 1 x2 ) ,此中x52 0.45 x=[2,1+2*i;,5]x =+z2=1/2*log(x+sqrt(1+x*x))z2 =- ++ -e 0.3 ae 0.3a 3.0, 2.9, 2.8,L ,2.8, 2.9,3.0(3) z32 gsin(a 0.3), a提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。
a=::a =Columns 1 through 9Columns 10 through 18Columns 19 through 27Columns 28 through 36Columns 37 through 45Columns 46 through 54Columns 55 through 61>>z3=(exp.*a)-exp.*a))/2.*sin(a+ z3 =Columns 1 through 9 Columns 10 through 18 Columns 19 through 27Columns 28 through 36Columns 37 through 45 Columns 46 through 54Columns 55 through 61t 2 0 t 1( 4) z4 t 2 1 1 t 2 ,此中 t = 0::t 2 2t 1 2 t 3提示:用逻辑表达式求分段函数值。
实验二 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 程序设计实验报告一、实验目的1. 通过实验熟悉MATLAB 仿真软件的使用方法;2. 掌握用MATLAB 对连续信号时域分析、频域分析和s 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征;3. 掌握用MATLAB 对离散信号时域分析、频域分析和z 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征;4. 通过绘制信号运算结果的波形,了解这些信号运算对信号所起的作用。
二、实验设备1. 计算机:2. MATLAB R2007a 仿真软件三、实验原理对系统的时域分析信号的时域运算包括信号的相加、相乘,信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。
(1)信号的相加和相乘:已知信号)(1t f 和)(2t f ,信号相加和相乘记为)()(1t f t f =)(2t f +;)()(1t 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 倍。
¥对系统频率特性的分析(1)系统的频率响应设线性时不变(LTI )系统的冲激响应为)(t h ,该系统的输入(激励)信号为)(t f ,则此系统的零状态输出(响应))(t y 为:)()()(t f t h t y*= (3-1) 假设)(t f ,)(t h 及)(t y 的傅里叶变换分别为)(),(jw H jw F 及)(jw Y ,根据时域卷积定理,与(1-1)式对应的及)(),(jw H jw F 及)(jw Y 在频域上的关系式为:)()()(jw F jw H jw Y ⋅= (3-2) 一般地,连续系统的频率响应定义为系统的零状态响应)(t y 的傅里叶变换)(jw Y 与输入信号)(t f 的傅里叶变换)(jw F 之比,即:)()()(jw F jw Y jw H =(3-3)!通常,)(jw H 可表示成两个有理多项式)(jw B 与)(jw A 的商,即:nn n nmm m m a jw a jw a jw a b jw b jw b jw b jw A jw B jw H ++⋅⋅⋅++++⋅⋅⋅++==----)()()()()()()()()(11211121 (3-4) (2)连续时间信号卷积及MATLAB 实现卷积积分:卷积积分在信号与系统分析中具有非常重要的意义,是信号与系统分析的基本方法之一。
有两个与卷积相关的重要结论:)()()(t t f t f δ*=,即连续信号可分解为一系列幅度由)(t f 决定的冲激信号)(t δ及其平移信号之和;线性时不变连续系统,设其输入信号为)(t f ,单位响应为)(t h ,其零状态响应为)(t y ,则有:)()()(t h t f t y *=。
MATLAB 实现连续时间信号的卷积:将连续信号)(1t f 与)(2t f 以时间间隔∆进行取样,得到离散序列)(1∆k f 和)(2∆k f ;构造与)(1∆k f 和)(2∆k f 相对应的时间向量1k 和2k (注意,此时时间序号向量1k 和2k 的元素不再是整数,而是取样时间间隔∆的整数倍的时间间隔点),最后调用conv()函数可近似的求解连续时间信号的卷积积分。
(3)离散时间信号的卷积离散时间序列)(1k f 和)(2k f 的卷积和定义为:;∑∞-∞=-⋅==i i k f i f k f k f k f )()()(*)()(2121 卷积和可调用conv( )函数执行。
四、实验内容及步骤1.上机实验前,认真阅读实验原理,掌握连续系统频率特性的MATLAB 实现的方法。
2.利用MATLAB 相关命令实现以下实验内容。
(1)利用MATLAB 实现)()(25.0t et f tε-=向右移3和向左移3的波形。
解:实现该过程的MATLAB 命令程序如下:clear;-close all; t=-5::5;x=exp*t).*stepfun(t,0);x1=exp*(t+3)).*stepfun(t,3); x2=exp*(t-3)).*stepfun(t,-3); subplot(331); plot(t,x); grid on;…title('原信号x(t)'); subplot(312); plot(t,x1); grid on;title('左移信号x(t)'); subplot(313); plot(t,x2); grid on;`title('右移信号x(t)'); xlabel('时间t');程序运行结果如图所示:0105时间t(2)设信号)]2()2([)21()(--+⨯+=t t tt f εε,用MATLAB 求)2(+t f ,)2(-t f ,)(t f -,)2(t f ,)(t f -,并绘出其时域波形。
解:实现该过程的MATLAB 命令程序如下:t=-6::6; ]f=(1+1/2*t).*[stepfun(t,-2)-stepfun(t,2)]; f1=(1+1/2*(t+2)).*[(t+2>-2)-(t+2>2)]; f2=(1+1/2*(t-2)).*[(t-2>-2)-(t-2>2)]; f3=(1+1/2*(-t)).*[(-t>-2)-(-t>2)]; f4=(1+t).*[(2*t>-2)-(2*t>2)]; f5=-(1+1/2*t).*[(t>-2)-(t>2)]; subplot(611) plot(t,f); {grid on;title('时域波形'); subplot(612) plot(t,f1); grid on;title('左移信号f(t+2)'); subplot(613) plot(t,f2); …grid on;title('右移信号f(t-2)'); subplot(614) plot(t,f3); grid on;title('翻转信号f(-t)'); subplot(615)·grid on;title('压缩信号f(2t)'); subplot(616) plot(t,f5); grid on;title('反向信号-f(t)'); xlabel('时间t'); (程序运行结果如图所示:时域波形左移信号f(t+2)右移信号f(t-2)压缩信号f(2t)反向信号-f(t)时间t(3)已知1-2-)(1t t f =,t t f 9)(2=,利用MATLAB 计算卷积)()(21t f t f *的波形。
解:实现该过程的MATLAB 命令程序如下: s=;k1=0:s:2; k2=k1;f1=-2*k1-1; *f2=9*k2;f=conv(f1,f2); f=f*s;k0=k1(1)+k2(1);k3=length(f1)+length(f2)-2; k=k0:s:k3*s; subplot(3,1,1); plot(k1,f1); %title('f1(t)'); subplot(3,1,2);title('f2(t)'); subplot(3,1,3); plot(k,f); title('f(t)');程序运行结果如图所示: :(4)设连续时间信号为一个正弦信号t t x π25.0cos )(=,采样周期s T s 81=,试编写程序绘制信号)(t x 和已采样信号)(k x 的波形图。
解:实现该过程的MATLAB 命令程序如下:clear; close all; dt=;t=0:dt:10; Ts=1/8; ,n=0:Ts:10;x=cos*pi*t); xn=cos*pi*n); subplot(211); plot(t,x);title('A continuous-time signal x(t)'),xlabel('Time t'); subplot(212); stem(n,xn,'.'); :title('The sampled version x[n] of x(t)'),xlabel('Time index n');程序运行结果如图所示:01Time tTime index n(5)已知信号)()(4t G t f ,利用MATLAB 实现其傅里叶变换。
解:实现该过程的MATLAB 命令程序如下:clear all; !R=;t=-3:R:3;f=stepfun(t,-1)-stepfun(t,1); w1=2*pi*5;N=500;k=0:N;w=k*w1/N; F=f*exp(-j*t'*w)*R; F=real(F);w=[-fliplr(w),w(2:501)]; F=[fliplr(F),F(2:501)]; `subplot(2,1,1);plot(t,f);xlabel('t');ylabel('f(t)'); title('门函数');subplot(2,1,2);plot(w,F); xlabel('w');ylabel('F(w)'); title('f(t)的傅里叶变换F(w)');程序运行结果如图所示:>tf (t )wF (w )(6)利用MATLAB 实现信号)(98)(2t e t f tε-=及其)1(-t f 的频谱图。