1实验一 Matlab程序设计与M文件(1)
MATLAB-程序设计-M文件建立
1、先建立函数M文件fun2.m来定义函数f(x) function f=fun2(x) 1 else if x<=0
f=x^3 else
f=2*x end end
2、再在MATLAB命令窗口输入fun2(2),fun2(0.5), fun2(-1)即可.
MATLAB入门
程序设计
M文件
MATLAB的内部函数是有限的,有时为了研究 某一个函数的各种性态,需要为MATLAB定义新函 数,为此必须编写函数文件. 函数文件是文件名后 缀为M的文件,这类文件的第一行必须是一特殊字 符function开始,格式为:
function 因变量名=函数名(自变量名) 函数值的获得必须通过具体的运算实现,并赋 给因变量.
2x x 1
1、编写函数M文件 function f=fun1(x) if x>1
f=x^2+1 end if x<=1
f=2*x end
2、在MATLAB命令窗口输入fun1(2),fun1(-1)即可.
2) 有两个选择的一般形式是: if (expression1) {commands1} else {commands2} end
例: 设银行年利率为11.25%.将10000元钱存入银行, 问多长时间会连本带利翻一番?
money=10000; years=0; while money<20000
years=years+1; money=money*(1+11.25/100); end years money
运行结果:
years =7 money = 2.1091e+004
3. if-else-end结构
(1)有一个选择的一般形式是: if (expression) {commands} end
第二讲MATLAB的程序设计和M文件
第二讲MATLAB的程序设计和M文件在MATLAB中,程序设计主要是通过编写和运行M文件来实现。
M文件是MATLAB的主要代码文件,用于实现不同功能的程序,可以包含变量定义、算法实现、函数调用和图形绘制等。
下面将介绍MATLAB的程序设计和M文件的基本知识。
MATLAB的程序设计主要包括如下几个方面:1.变量和数据类型:在M文件中,可以使用不同的变量类型存储数据,如整型、浮点型、字符型等。
不同的变量类型在MATLAB中有不同的表示方法和功能。
2.运算和表达式:在M文件中,可以使用常见的数学运算符(如加减乘除、指数等)进行计算。
同时,也可以使用逻辑运算符(如与、或、非等)进行逻辑运算。
3. 条件语句:在M文件中,可以使用条件语句实现根据不同的条件执行不同的操作。
MATLAB中的条件语句主要有if语句和switch语句,通过判断条件的真假来决定执行路径。
4. 循环语句:在M文件中,可以使用循环语句实现对一段代码的重复执行。
MATLAB中的循环语句主要有for循环、while循环和do-while循环。
5.函数的定义和调用:在M文件中,可以通过定义函数来实现特定功能的封装。
函数可以包含输入参数和输出参数,通过参数的传递来实现数据的交互和函数的调用。
1.M文件的命名和保存:M文件的命名应该具有描述性,以体现文件中代码的功能。
M文件的保存格式是以.m为文件扩展名。
2.M文件的结构:在M文件中,一般会包含变量定义、函数定义和主程序等部分。
变量定义部分用于声明和初始化变量,函数定义部分用于定义自定义函数,而主程序部分用于调用函数和执行主要功能。
3.代码注释:为了提高代码的可读性和可维护性,需要在M文件中添加注释。
注释可以用于解释代码的目的和思路,以及描述变量、函数和算法等的作用和实现方法。
4.代码风格:为了代码的一致性和可读性,需要遵循一定的代码风格规范。
例如,可以在操作符周围留有空格,使用一致的缩进和命名规则,避免使用不必要的缩写等。
matlab实验
实验一 MATLAB基本操作一、实验目的1、了解MATLAB应用程序环境2、掌握MATLAB语言程序的书写格式和MATLAB语言程序的结构。
3、掌握在MATLAB应用环境下编写程序4、掌握MATALB调试过程,帮助文件5、掌握MATLAB语言上机步骤,了解运行一个MATLAB程序的方法。
6、本实验可在学习完教材第一章后进行。
二、主要仪器及耗材PC电脑,MATLAB6.5软件三、实验内容和步骤1、MATLAB语言上机步骤:(1)、进入系统在C盘或其他盘上找到MATLAB或MATLAB6.5,然后双击其图标打开文件夹。
然后进行编辑源程序->编译->连接->执行程序->显示结果(2)、常用命令编辑切换(F6),编译(F9),运行(CTRL+F9),显示结果(ALT+F5)其它常用命令见“附录一”。
2、有下面的MATLAB程序。
(1)数值计算功能:如,求方程 3x4+7x3 +9x2-23=0的全部根p=[3,7,9,0,-23]; %建立多项式系数向量x=roots(p) %求根(2)绘图功能:如,绘制正弦曲线和余弦曲线x=[0:0.5:360]*pi/180;plot(x,sin(x),x,cos(x));(3)仿真功能:如,请调试上述程序。
3、熟悉MATLAB环境下的编辑命令,具体见附录一。
三、实验步骤1、静态地检查上述程序,改正程序中的错误。
2、在编辑状态下照原样键入上述程序。
3、编译并运行上述程序,记下所给出的出错信息。
4、按照事先静态检查后所改正的情况,进行纠错。
5、再编译执行纠错后的程序。
如还有错误,再编辑改正,直到不出现语法错误为止。
四、实验注意事项1、记下在调试过程中所发现的错误、系统给出的出错信息和对策。
分析讨论对策成功或失败的原因。
2、总结MATLAB程序的结构和书写规则。
五、思考题1、matlab到底有多少功能?2、MATLAB的搜索路径3、掌握使用MATLAB帮助文件实验二 MATLAB 矩阵及其运算一、 实验目的1、了解矩阵的操作,包括矩阵的建立、矩阵的拆分、矩阵分析等2、了解MATLAB 运算,包括算术运算、关系运算、逻辑运算等3、掌握字符串的操作,了解结构数据和单元数据。
matlab实验指导书1
MATLAB专题实验指导书刘美兰吴彩玲电信学院自动化系2006年6月目录实验一MATLAB的安装------------------------------------------1 实验二Desktop操作桌面基础-----------------------------------5实验三数值数组及其运算----------------------------------------10实验四数据和函数的可视化-----------------------------------------16实验五MATLAB仿真环境-----------------------------------------------22实验六句柄图形和图形用户界面制作--------------------------------24附录1 Matlab的函数及指令Functions and Commands----------27附录2 SIMULINK的库模块-----------------------------------------------3821实验一 MATLAB 的安装一、 实验目的熟练Matlab 的安装步骤。
二、 Matlab 安装的硬件要求硬件要求:CPU :Pentium II 以上,内存24MB 以上,CD-ROM(安装用)。
硬盘安装前应有2MB 以上空间。
8位以上显卡,图形加速卡,声卡。
三、 实验内容和步骤MATLAB 软件的安装与卸载。
下面以一台PC 机(操作系统为WIN2000)为例,介绍Matlab 的安装过程。
1) 把安装盘放入CD-ROM ,一般会自动运行安装程序,如果不运行,可以进入光盘双击setup.exe 文件,初始化完成,会出现图1-1所示界面。
图1-12) 单击Next 按钮,出现一个对话框,如图1-2所示,输入你的安装序列号。
图1-23) 单击Next ,出现对话框如图1-3,内容是你是否接受协议。
第7章 MATLAB程序设计和m文件
•While 循环的次数是不确定的。 循环的次数是不确定的。
第7章 MATLAB程序设计和m文件
7.2 MATLAB控制流 7.2.3 for循环和while循环 例:创建Hilbert矩阵 (1)直接循环计算 clear tic 。 K=1000; for m = 1:K for n = 1:K A1(m,n) = 1/(m+n -1); end end t1=toc 预先配置矩阵空间可显著提高运行效率!
第7章 MATLAB程序设计和m文件
7.2 MATLAB控制流 7.2.3 for循环和while循环 例:while循环,求解n!达到100位数的第一个n是多少。 n=1; while prod(1:n)<1e100 。 n=n+1; end n
第7章 MATLAB程序设计和m文件
7.2 MATLAB控制流
,编写能对任意一组输
入x值求相应y值的程序
• • • • • • • • • • • x=[-2,-1.2,-0.4,0.8,1,6] n=length(x); for k=1:n if x(k)<-1 y(k)=x(k); elseif x(k)>=1 y(k)=exp(1-x(k)); else y(k)=x(k)^3; end end %输入,可变 输入, 输入
7.2.4 控制程序流常用指令 指令及使用格式 v=input('message') v=input('message','s') keyboard break 使 用 说 明 该指令执行时,“控制权”交给键盘;待输入结 束,按下Enter键,“控制权”交还MATLAB。 message是提示用的字符串。 遇到keyboard时,将“控制权”交给键盘,用户 可以从键盘输入各种MATLAB指令。 break指令,或导致包含该指令的while、for 循环 终止,或在if - end, switch - case, try – catch中导 致中断。 跳过位于它之后的循环体中其他指令,而执行循 环的下一个迭代。 第一种格式使程序暂停执行,等待用户按任意键 继续; 第二种格式使程序暂停n秒后,再继续执行。
MATLAB实验报告1(推荐文档)
学生实验报告一、实验目的 熟悉MATLAB 软件的用户环境;了解MATLAB 软件的一般命令;掌握MATLAB 向量、数组、矩阵操作与运算函数;掌握MATLAB 软件的基本绘图命令;掌握MATLAB 语言的几种循环、条件和开关选择结构,及其编程规范。
通过该实验的学习,使学生能灵活应用MATLAB 软件解决一些简单问题,能借助MATLAB 软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜想,发现进而证实其中的规律。
二、实验仪器、设备或软件: 电脑,MATLAB 软件三、实验内容 1.MATLAB 软件的数组操作及运算练习;2.直接使用MATLAB 软件进行作图练习;3.用MATLAB 语言编写命令M 文件和函数M 文件。
四、实验步骤1.在D 盘建立一个自己的文件夹;2.开启软件平台——MATLAB ,将你建立的文件夹加入到MATLAB 的搜索路径中;3.利用帮助了解函数max, min, sum, mean, sort, length ,rand, size 和diag 的功能和用法;4.开启MATLAB 编辑窗口,键入你编写的M 文件(命令文件或函数文件);5.保存文件(注意将文件存入你自己的文件夹)并运行;6.若出现错误,修改、运行直到输出正确结果;7.写出实验报告,并浅谈学习心得体会。
五、实验要求与任务根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→算法与编程→计算结果或图形→心得体会)1. 已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=321212113A , ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=101012111B 要求:(1)屏幕输出A 与B ;(2)A 的转置A′;(3)求A+B 的值;(4)求A-B 的值;(5)求4A ;(6)求A×B ;(7)求A -1.2. 有一函数f (x ,y )=x 2+sin xy +2y ,写一程序,输入自变量的值,输出函数值。
3. 用plot ,fplot 分别绘制函数y =cos(tan(πx ))图形。
MATLAB程序设计实验指导书
MATLAB程序设计实验指导书MATLAB是集数值计算、符号运算及图形处理等强大功能于一体的科学计算语言。
作为强大的科学计算平台,它几乎能满足所有的计算需求。
在美国及其他发达国家的理工科院校里,MATLAB已经作为一门必修的课程;在科研院所、大型公司或企业的工程计算部门,MATLAB也是最普遍的计算工具之一。
有鉴于此,我院开设了《MATLAB程序设计》这门课程,它需要一定的理论基础,同时又具有很强的实践性。
如何加强理论课程的学习、加深学生对本课程中的基本理论知识及基本方法的理解,如何培养学生实践动手能力是教学的当务之急。
而MATLAB程序设计实验课程就是一种重要的教学手段和途径。
实验将MATLAB程序设计的基本方法灵活地运用在数学、电路等课程中,重点突出,内容丰富。
同时,注重理论分析与实际动手相结合,以理论指导实践,以实践验证基本原理,旨在提高学生分析问题、解决问题的能力及动手能力,使学生进一步巩固基本理论知识,建立比较全面的MATLAB程序设计的概念。
实验注意事项1、实验系统接通电源前请确保电源插座接地良好。
2、完成实验后请确保关闭电脑电源及插座电源。
实验一 矩阵及其运算一、实验目的1、熟悉MATLAB 工作环境2、掌握矩阵和数组的创建、寻访和运算 二、实验内容验证欧姆定律:iur ,其中i u r , ,分别是电阻(欧姆)、电压(伏特)、电流(安培)。
已知u=[0.89, 1.20, 3.09, 4.27, 3.62, 7.71, 8.99, 7.92, 9.70, 10.41],i=[0.028, 0.040, 0.100, 0.145, 0.118, 0.258, 0.299, 0.257, 0.308, 0.345]。
三、实验器材PC 机 (装有 MA TLAB 软件 ) 1台 四、实验原理 4.1 Desktop 简介MATLAB R2006a 版的Desktop 操作桌面,是一个高度集成的MATLAB 工作界面。
MATLAB实验报告
MATLAB 实验报告学院:班级:姓名:学号:实验一M-文件结构编写与调用一、实验目的在学习MATLAB的过程中,M文件的编写至关重要,因此,我们学习这门课程,必须熟悉的掌握Matlab文件类型及其编写方法、程序结构的编写,并且从程序编写的步骤中深刻的了解流程控制方法,函数文件的编写与综合应用。
二、实验题目及要求建立m文件,求,在xoy平面内选择一个区域,然后绘制其三维表面图形。
三、实验过程与步骤(1)设计思路a、首先我们从实验题目及要求中可以了解到需要回执一个三维表面图形,那就应该准备横坐标与纵坐标的数据,这样就可以产生一个X轴为-4,中止于4,步距为2,Y轴起始于-2,中止于2,步距为1的网格分割。
b、指定图形的窗口和子图的位置。
也就是说,我们可以使用Figure命令指定图形窗口,默认时打开Figure1窗口,或者可以使用subplot命令指定当前子图。
c、绘制相应的曲线。
当坐标轴的数据设置以后,即可绘制曲线。
d、后期修饰。
当曲线绘制完毕以后,为了整体的布局美观,需要加注一些坐标轴刻度、分格线的设置;图名、坐标名、图例、文字说明等一些的图形注释,从而美化图形。
(2)指令输入根据题目所示,我们需要在Matlab中输入如下指令,界面如图所示:三、实验结果(1)当上述指令输入进去后,得到如下图所示的曲线图:(2)当进行属性设置以后,我们可以获得更美观的三维表面图形,界面如下图所示:实验二 Guide的使用入门一、实验目的GUI开发环境是MATLAB R2010a为设计图形用户界面提供的一个集成设计和开发环境,此实验为了了解更多关于GUI界面的知识,以便我们能使用更加丰富的图形设计工具,创建更丰富的图形用户界面,实现友好地人机交互。
二、实验题目及要求利用GUI界面算出两个数相加而得到相应的数据结果三、实验过程及步骤(1)、首先打开MATALAB,然后选择“File”中的“GUI”,从而可以创建一个空白页面。
Matlab实验报告(1)
《Matlab语言与应用》课程实验报告*名:**班级:电信114学号:************指导老师:***二〇一三年十一月二十一日Matlab实验报告实验一一、实验问题求[12 + sin(2)×( 22 −4)]÷3^2的算术运算结果。
二、问题的分析该题主要熟悉Matlab环境下的对数学运算的熟悉,如何输入数据、建立函数输出结果。
三、上机实验结果如图四、实验的总结与体会通过本次实验,我学会了用Matlab来计算数学运算中的复杂技术。
我们也可以自己编写一个可以调用的函数,首先我们要了解Matlab语言函数的基本结构,结构如下:Function [返回变量列表]=函数名(输入变量列表)注释说明语句段,由%引导输入、返回变量格式的检测函数体语句例如:输入变量为k,返回的变量为m和s,其中s为前m项的和Function [m,s]=findsum(k)s=0;m=0;while(s<=k),m=m+1;s=s+m;end编写了函数,就可以将其存为findsum.m文件,这样就可以在Matlab环境中对不同的k值调用该函数了。
这样就可以灵活的实现我们想要的数据。
实验二一、实验问题二、问题分析输入矩阵时,空格或逗号表示间隔,分号表示换行,比如上面的矩阵A应写为A=[1,2,3;4,5,6;7,8,9]三、上机实验结果如图四、实验的总结与体会通过对本次上机实验了解到在Matlab中对矩阵的代数运算矩阵转置、矩阵的加减法运算、矩阵乘法、矩阵的左、右除、矩阵翻转、矩阵乘方运算、点运算等。
实验三一、实验要求画图,理解plot函数用法二、代码如下clear; clf;t=0:pi/20:2*pi;R=5;x=R*sin(t); y=R*cos(t);plot(x,y,'b:'), gridhold onrrr=[x;y;x+y];plot(rrr(1,:),'.','MarkerSize',10,'Color','r')plot(rrr(2,:),rrr(3,:),'o','MarkerSize',15,'Color','b'); axis([-8,20,-8,8]), % axis squarehold off三、Matlab运行结果如图实验四一、实验要求二、代码如下t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,'-r',t,y0,':b',t,-y0,':b') Grid三、Matlab运行结果如图实验五一、实验要求傅里叶频谱分析二、代码及分析(1)首先生成数据,包含50Hz和120Hz频率的正弦波x >>t = 0:.001:.25;>>x = sin(2*pi*50*t) + sin(2*pi*120*t);(2)再生成噪音信号yy = x + 2*randn(size(t));plot(y(1:50))title('Noisy time domain signal')(3)对y进行快速傅里叶变换Y = fft(y,256);(4)计算功率谱Pyy = Y.*conj(Y)/256;f = 1000/256*(0:127);plot(f,Pyy(1:128))title('Power spectral density')xlabel('Frequency (Hz)')(5)只查看200Hz以下频率段plot(f(1:50),Pyy(1:50))title('Power spectral density')xlabel('Frequency (Hz)')三、上机结果如下图实验六一、实验要求FIR数字滤波器设计代码如下clear;close allf=[0,0.6,0.6,1]; m=[0,0,1,1]; % 设定预期幅频响应b=fir2(30,f,m); n=0:30; % 设计FIR 数字滤波器系数subplot(3,2,1),stem(n,b,'.')xlabel('n'); ylabel('h(n)');axis([0,30,-0.4,0.5]),line([0,30],[0,0])[h,w]=freqz(b,1,256);subplot(3,2,2),plot(w/pi,20*log10(abs(h)));gridaxis([0,1,-80,0]),xlabel('w/pi'); ylabel('幅度(dB)');二、上级结果如图实验七二、实验要求用guide实验一个简单的加减乘除计算器二、实验步骤在命令行输入guide命令,进入guide界面新建一个空白guide文件在空白文件中设置好功能模块如图模块建立好后,就要把编写好的加减乘除代码加入到各自的回调函数中,见下图两个被加数代码如下图加模块代码如下图减模块代码如下图乘模块代码如下图除模块代码如下图各模块的回调函数加完后就可以运行了,运行结果如下图总结:Matlab一个高级的距阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。
MATLAB教程课后实验报告题目及解答[第一至第五章]
MATLAB教程实验报告实验项目名称实验一 Matlab基本操作学生姓名汪德旺专业班级 09数教(1)班学号 0301090131实验成绩日期一. 实验目的和要求1、了解MATLAB 的开发环境。
2、熟悉Matlab的基本操作。
3、掌握建立矩阵的方法。
4、掌握MATLAB各种表达式的书写规则以及常用函数的使用。
5、填写实验报告,实验报告文件取名为report1.doc。
6、于邮件附件形式将实验报告文件report1.doc 发到邮箱*******************,邮件主题为班级学号姓名,如:09数教1班15号张三。
二、实验内容1、先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
(1)0 122sin851ze =+(2)2212 1ln(0.4552i z x x+⎡⎤==⎢⎥-⎣⎦其中(3)0.30.330.3sin(0.3)ln,22a ae e az a--+=++a=-3.0,-2.9,-2.8,…, 2.8, 2.9,3.0(4)2242,011,12,0:0.5:2.521,23t tz t tt t t⎧≤<⎪=-≤<=⎨⎪-+≤<⎩其中t2.已知:1234413134787,2033657327 A B--⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1)A+6*B和A-B+I(其中I为单位矩阵) (2)A*B和A.*B(3)A^3和A.^3(4)A/B和B\A(5)[A,B]和[A([1,3],:);B^2]3、设有矩阵A 和B123453016678910A=,B=17-691112131415023-41617181920970212223242541311⎡⎤⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎣⎦(1)求它们的乘积C 。
(2)将矩阵C 的右下角3*2子矩阵赋给D 。
(3)查看MATLAB 工作空间的使用情况。
《MATLAB程序设计》实验指导书
三、
实验仪器和设备
1、 计算机一台。 2、 MATLAB7.0 以上集成环境。
四、
预习要求
2
《MATLAB 程序设计》实验指导书
1、 复习 MATLAB 的启动与Байду номын сангаас出,熟悉 MATLAB 运行环境。 2、 复习 MATLAB 中矩阵的生成以及矩阵运算的基本原理。
五、
实验内容及步骤
实验内容:
1、 求下列表达式的值 1) z1
5
《MATLAB 程序设计》实验指导书
2) 函数调用 函数文件编制好后,就可调用函数进行计算了。函数调用的一般格式为 [输出实参表]=函数名(输入实参表) 注意:函数调用时各实参出现的顺序、个数,应与函数定义时形参的顺序、个 数一致,否则会出错。函数调用时,实参先传递给形参,然后再执行函数功能。 5、 选择结构 1) if 语句 a) 单分支 if 语句 if 条件 语句块 end b) 双分支 if 语句 if 条件 语句块 1 else 语句块 2 end c) 多分支 if 语句 if 条件 1 语句块 1 elseif 条件 2 语句块 2 …… elseif 条件 n 语句块 n else 语句块 n+1 end 2) switch 语句 switch 表达式 case 结果表 1 语句块 1 case 结果表 2 语句块 2 ……
二、
实验原理
1、 M 文件 用 MATLAB 语言编写的程序,称为 M 文件,它们的扩展名均为.m。M 文件根据 调用方式的不同分为两类,命令文件(Script file)和函数文件(Function file) 。 2、 建立新的 M 文件 启动 MATLAB 文本编辑器有 3 种方法: 1) 单击工具栏上的“New M-File”命令按钮。 2) 从 MATLAB 主窗口的“File”菜单中选择“New”菜单项,再选择“M-file”命令。 3) 在 MATLAB 命令窗口输入命令“edit”。 3、 打开已有的 M 文件 1) 在当前目录窗口选中要打开的 M 文件,双击鼠标左键。 2) 单击 MATLAB 主窗口工具栏上的“Open File”命令按钮,再从弹出的对话框中 选择所需打开的 M 文件。 3) 从 MATLAB 主窗口的“File”菜单中选择“Open”命令,在“Open”对话框中选中 所需打开的文件。 4) 在 MATLAB 命令窗口输入命令“edit 文件名” 。 4、 函数文件 1) 函数文件的基本结构 函数文件由 function 语句引导,其基本结构为: function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 注意:函数名的命名规则与变量名相同。当输出形参多于一个时,应用方括号 括起来。
matlab基本操作实验报告
实验一 matlab 基本操作一、 实验目的熟悉matlab 的安装与启动;熟悉matlab 用户界面;熟悉matlab 功能、建模元素;熟悉matlab 优化建模过程。
二、 实验设备与仪器1.微机2.matlab 仿真软件三、 实验步骤1. 了解matlab 的硬件和软件必备环境;2. 启动matlab ;3. 熟悉标题栏,菜单栏,工具栏,元素选择窗口,状态栏,控制栏以及系统布局区;4. 学习优化建模过程。
四、 实验报告要求1. 写出matlab 系统界面的各个构成;以及系统布局区的组成;以及每一部分的功能;2. 优化建模过程应用举例五、实验内容(一)、Matlab 操作界面1. 命令窗口(command window )2. 命令历史窗口(command history )3. 工作空间管理窗口(workspace )4. 当前路径窗口(current directory )(二)、优化建模过程应用举例1、简单矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A 的输入步骤。
(1)在键盘上输入下列内容A = [1,2,3; 4,5,6; 7,8,9](2)按【Enter 】键,指令被执行。
(3)在指令执行后,MATLAB 指令窗中将显示以下结果:A = 1 2 34 5 67 8 92、矩阵的分行输入。
A=[1,2,34,5,67,8,9]A =1 2 34 5 67 8 93、指令的续行输入S=1-1/2+1/3-1/4+ ...1/5-1/6+1/7-1/8S =0.63454、画出衰减振荡曲线t ey t 3sin 3-=及其它的包络线30t e y -=。
t 的取值范围是]4,0[π。
t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,'-r',t,y0,':b',t,-y0,':b')grid5、画出2222)sin(y x y x z ++=所表示的三维曲面。
实验一 MATLAB的基本操作
实验一 MATLAB 的基本操作一、实验目的:(1)学会MA TLAB 的基本操作。
(2)掌握MA TLAB 的基本命令。
二、实验环境:安装MATLAB7.0以上版本的计算机三、实验内容:1.文件的建立、保存与运行步骤一:打开MATLAB 软件,建立m 文件(File —New —M-file ),并保存命名为:test.m 。
步骤二:在test.m 文件中输入以下命令:0:1:10;%t 2*1;plot(t,y);%figure;%stem(t,y);%t y t ==+对设定取值连续信号作图打开新的图形窗口离散信号作图步骤三:保存(File--save ),运行程序(debug —run 或者直接按F5)。
观察输出图形。
步骤四:将程序第二句改为:2*1y t =+重复步骤三,观察出现的变化。
步骤五:去掉程序命令:figure ,观察出现的变化。
注意:文件的取名规范;分号(;)的作用;百分号(%)的作用。
2.程序的调试步骤一:观察主程序窗口中的三个部分:Workspace ,Command History ,Command Window 。
在Command Window 窗口的》符号后输入命令:x=2;观察各窗口中内容的变化。
步骤二:建立新的m 文件,命名为test2.m ,保存。
输入以下命令:(1,5);(6)clearclcx zeros y x ==步骤三:保存、运行该程序,观察Command Window 和Workspace 。
Command Window 显示出现错误,双击直接跳转到出现差错的程序行,修改程序为:y=x(4)。
保存、运行程序,再次观察Command Window 和Workspace 。
注意:程序的调试,是MATLAB 学习的必需内容。
灵活运用单步调试、断点设置等调试方法,会对以后的编程给予极大的方便。
3.help 命令的应用步骤一:在在Command Window 窗口的》符号后输入命令:help plot 步骤二:理解窗口显示内容。
实验一MATLAB程序设计入门
实验一MATLAB程序设计入门熟悉matlab界面;掌握matlab的变量的命名规则;掌握常用数学运算符号和标点符号的使用方法;掌握常用数学函数的使用方法;掌握建立和使用M文件的方法;学会创建简单的数组并对数组元素进行访问,掌握数组的各种运算;学会创建数组并对数组元素进行访问和操做,掌握矩阵的各种运算规则;掌握关系与逻辑运算符的使用规则;实验原理与方法一、变量与函数1、变量变量是任何程序设计语言的基本元素之一,MATLAB 语言当然也不例外。
与常规的程序设计语言不同的是,MATLAB 语言并不要求对所使用变量进行事先声明,也不需要指定变量类型,它会自动根据所赋予变量的值或对变量所进行的操作来确定变量的类型;在赋值过程中,如果变量已存在,MATLAB 语言将使用新值代替旧值,并以新的变量类型代替旧的变量类型。
在MATLAB 语言中变量的命名遵守如下规则:(1)变量名必须是不含空格的单个词;(2)变量名以字母开头,变量名中可包含字母、数字、下划线,但不能使用标点;(3)变量名长度不超过31位,第31个字符之后的字符将被忽略;(4)变量名区分大小写;(5)关键字(如if、while等)以及固有函数(如max,sum等)不能作为变量名;与其他的程序设计语言相同,MATLAB 语言中也存在变量作用域的问题。
在未加特殊说明的情况下,MATLAB 语言将所识别的一切变量视为局部变量,即仅在其调用的M文件内有效。
若要定义全局变量,应对变量进行声明,即在该变量前加关键字global。
一般来说,全局变量常用大写的英文字符表示,尽管这不是MATLAB 语言所必需的。
特殊变量:MATLAB 有一些预定义的变量,这些特殊的变量称为常量。
下表给出了MATLAB 语言中经常使用一些常量及其说明。
2、数学运算符号及标点符号(1)MATLAB的每条命令后,若为逗号或无标点符号,则显示命令的结果;若命令后为分号,则禁止显示结果.(2)“%” 后面所有文字为注释. (3)“...”表示续行.3、数学函数二、数组与矩阵1、创建简单的数组x=[a b c d e f ] 创建包含指定元素的行向量x=first:last 创建从first开始,加1计数,到last结束的行向量x=first:increment:last 创建从first开始,加increment计数,last结束的行向量x=linspace(first,last,n)创建从first开始,到last结束,有n个元素的行向量x=logspace(first,last,n)创建从first开始,到last结束,有n个元素的对数分隔行向量.例:x=linspace(1,2,10)y=10.^(x)z=logspace(1,2,10)2、数组元素的访问(1)访问一个元素:x(i)表示访问数组x的第i个元素.(2)访问一块元素:x(a :b :c)表示访问数组x的从第a个元素开始,以步长为b到第c个元素(但不超过c),b可以为负数,b缺损时为1.(3)直接使用元素编址序号. x([a b c d]) 表示提取数组x的第a、b、c、d个元素构成一个新的数组[x(a) x(b) x(c) x(d)]. 3、数组的方向前面例子中的数组都是一行数列,是行方向分布的. 称之为行向量. 数组也可以是列向量,它的数组操作和运算与行向量是一样的,唯一的区别是结果以列形式显示.产生列向量有两种方法:直接产生例c=[1;2;3;4] 转置产生例b=[1 2 3 4]; c=b’说明:以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素.4、数组的运算(1)标量-数组运算数组对标量的加、减、乘、除、乘方是数组的每个元素对该标量施加相应的加、减、乘、除、乘方运算. 设:a=[a1,a2,…,an], c=标量则:a+c=[a1+c,a2+c,…,an+c] a.*c=[a1*c,a2*c,…,an*c]a./c= [a1/c,a2/c,…,an/c](右除)a.\c= [c/a1,c/a2,…,c/an] (左除)a.^c= [a1^c,a2^c,…,an^c] c.^a= [c^a1,c^a2,…,c^an](2)数组-数组运算当两个数组有相同维数时,加、减、乘、除、幂运算可按元素对元素方式进行的,不同大小或维数的数组是不能进行运算的. 设:a=[a1,a2,…,an], b=[b1,b2,…,bn] 则:a+b= [a1+b1,a2+b2,…,an+bn]a.*b= [a1*b1,a2*b2,…,an*bn] a./b= [a1/b1,a2/b2,…,an/bn] a.\b=[b1/a1,b2/a2,…,bn/an]a.^b=[a1^b1,a2^b2,…,an^bn] (3)数组维数:length(a)5、矩阵的建立逗号或空格用于分隔某一行的元素,分号用于区分不同的行;除了分号,在输入矩阵时,按Enter键也表示开始一新行;输入矩阵时,严格要求所有行有相同的列.例:m=[1 2 3 4 ;5 6 7 8;9 10 11 12] p=[1 1 1 1 2 2 2 2 3 3 3 3] 特殊矩阵的建立:a=[ ] 产生一个空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵的大小为零.b=zeros(m,n) 产生一个m行、n列的零矩阵c=ones(m,n) 产生一个m行、n列的元素全为1的矩阵d=eye(m,n) 产生一个m行、n列的单位矩阵6、矩阵中元素的操作(1)矩阵A的第r行:A(r,:)(2)矩阵A的第r列:A(:,r)(3)依次提取矩阵A的每一列,将A拉伸为一个列向量:A(:)(4)取矩阵A的第i1~i2行、第j1~j2列构成新矩阵:A(i1:i2, j1:j2) (5)以逆序提取矩阵A的第i1~i2行,构成新矩阵:A(i2:-1:i1,:)(6)以逆序提取矩阵A的第j1~j2列,构成新矩阵:A(:, j2:-1:j1 )(7)删除A的第i1~i2行,构成新矩阵:A(i1:i2,:)=[ ] (8)删除A的第j1~j2列,构成新矩阵:A(:,j1:j2)=[ ] (9)将矩阵A和B拼接成新矩阵:[A,B];[A;B]7、矩阵的运算(1)标量-矩阵运算:同标量-数组运算。
MATLAB程序设计与应用(第二版)课后实验答案
Matlab课后实验题答案实验一 MATLAB运算基础1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
(1)0 122sin851ze =+(2)21ln(2z x=,其中2120.455ix+⎡⎤=⎢⎥-⎣⎦(3)0.30.330.3sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22a ae e az a a--+=++=--(4)2242011122123t tz t tt t t⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t=0:0.5:2.52. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A —B+I(其中I 为单位矩阵) (2) A*B 和A.*B (3) A^3和A.^3 (4) A/B 及B\A(5) [A,B ]和[A ([1,3],:);B^2] 解:3. 设有矩阵A 和B123453166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(1) 求它们的乘积C 。
(2) 将矩阵C 的右下角3×2子矩阵赋给D 。
(3) 查看MATLAB 工作空间的使用情况。
4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:(2).建立一个字符串向量 例如: ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1。
设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。
MATLAB实验报告一二三
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的基本操作一、实验目的:1.熟悉MATLAB操作环境2.熟悉MATLAB的帮助3.熟悉MATLAB矩阵的操作4.熟悉MATLAB基本运算二、实验内容:1.自行设计试题,说明三角函数是按弧度还是按角度计算。
2.找出取整的函数,并自行设计试题,说明它们的区别。
3.自行设计试题,说明如何给矩阵按列符值。
4.自行设计试题,建一个5X5矩阵,然后将第一行乘1,第二行乘2,第三行乘3,第四行乘4,第五行乘5。
5.设计编写程序(命令),解方程3x5-7x4+5x2+2x-18=0。
6.自行设计试题,说明eval()函数的功能。
三、实验原理:ceil(x)= -4 -2 0 2 5 7fix(x) = -4 -2 0 1 4 6floor(x) = -5 -3 -1 1 4 6round(x) = -5 -2 0 1 5 72、系统的在线帮助help 命令:(1).当不知系统有何帮助内容时,可直接输入help以寻求帮助:>> help(回车)(2).当想了解某一主题的内容时,如输入:>> help syntax(了解Matlab的语法规定)(3).当想了解某一具体的函数或命令的帮助信息时,如输入:>> help sqrt (了解函数sqrt的相关信息)lookfor命令现需要完成某一具体操作,不知有何命令或函数可以完成,如输入:>> lookfor line (查找与直线、线性问题有关的函数)3、常量与变量系统的变量命名规则:变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,或下划线的组合。
此外,系统内部预先定义了几个有特殊意义和用途的变量,见下表:数值型向量(矩阵)的输入(1).任何矩阵(向量),可以直接按行方式...输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔;行与行之间用分号(;)分隔。
所有元素处于一方括号([ ])内;例1-1:>> Time = [11 12 1 2 3 4 5 6 7 8 9 10]>> X_Data = [2.32 3.43;4.37 5.98](2).系统中提供了多个命令用于输入特殊的矩阵:上面函数的具体用法,可以用帮助命令help得到。
实验1-----Matlab程序设计及绘图
实验一:Matlab程序设计及绘图一、实验目的1、掌握 Matlab 软件使用的基本方法;2、熟悉 Matlab 的编程方法;3、熟悉 Matlab 绘图命令及基本绘图控制。
二、实验内容1.基本绘图命令(1)绘制余弦曲线 y=cos(t),t∈[0,2π](2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5), t∈[0,2π]2.基本绘图控制绘制[0,4π]区间上的 x1=10sint 曲线,并要求:(1)线形为点划线、颜色为红色、数据点标记为加号;(2)坐标轴控制:显示范围、刻度线、比例、网络线(3)标注控制:坐标轴名称、标题、相应文本;3.程序设计:找出从2开始的前100个素数,并依次排列显示。
三、实验原理MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。
MATLAB有3种窗口,即:命令窗口(The Command Window)、m-文件编辑窗口(The Edit Window)和图形窗口(The Figure Window),而Simulink另外又有Simulink模型编辑窗口。
1.命令窗口(The Command Window)当MATLAB启动后,出现的最大的窗口就是命令窗口。
用户可以在提示符“>>”后面输入交互的命令,这些命令就立即被执行。
在MATLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。
在命令窗口中输入该文件名,这一连串命令就被执行了。
因为这样的文件都是以“.m”为后缀,所以称为m-文件。
2.m-文件编辑窗口(The Edit Window)我们可以用m-文件编辑窗口来产生新的m-文件,或者编辑已经存在的m-文件。
在MATLAB主界面上选择菜单“File/New/M-file”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open”就可以打开一个已经存在的m-文件,并且可以在这个窗口中编辑这个m-文件。
试验一MATLAB语言基础实验
试验一MATLAB 语言基础实验(软件仿真)一、MATLAB的基本操作1、实验目的(1)学习了解MATLAB语言环境(2)练习MATLAB命令的基本操作(3)练习m文件的基本操作2、实验内容(练习MATLAB命令的基本操作中的内容)1)常规矩阵输入>> a=[1 2 3]a =1 2 3>> a=[1;2;3]a =123>> b=[1 2 5]b =1 2 5>> b=[1 2 5];>> aa =123>> a'ans =1 2 3>> bb =1 2 5>> b'ans =125>> c=a*bc =1 2 52 4 103 6 15>> c=a*b'??? Error using ==> *Inner matrix dimensions must agree.>> a=[1 2 3;4 5 6;7 8 0]a =1 2 34 5 67 8 0>> a^2ans =30 36 1566 81 4239 54 69>> a^0.5ans =0.5977 + 0.7678i 0.7519 + 0.0979i 0.5200 - 0.4680i1.4102 + 0.1013i 1.7741 + 0.6326i 1.2271 - 0.7467i1.2757 - 1.0289i 1.6049 - 1.0272i 1.1100 + 1.6175i 2)作循环命令程序>> makesum=0;for i=1:1:100makesum=makesum+i;end>> makesummakesum =50503)分别执行下列命令>> a=[1 2 3;4 5 6;7 8 0]a =1 2 34 5 67 8 0>> poly(a)ans =1.0000 -6.0000 -72.0000 -27.0000>> rank(a)ans =3>> det(a)ans =27>> trace(a)ans =6>> inv(a)ans =-1.7778 0.8889 -0.11111.5556 -0.7778 0.2222-0.1111 0.2222 -0.1111 >> eig(a)ans =12.1229-0.3884-5.73454)练习m文件的基本操作>> penddemo倒立摆控制系统:二、MATLAB的数值运算1、实验目的(1)学习MATLAB语言的基本矩阵运算(2)学习MATLAB语言的点运算(3)学习复杂运算2、实验内容(1)基本矩阵运算1)创建数值矩阵>>a=[1 2 3;4 5 6;7 8 9];>> aa =1 2 34 5 67 8 9>> a(3,2)ans =8>> a(:,1)ans =147>>t=0:10t =Columns 1 through 100 1 2 3 4 5 6 7 8 9 Column 1110>> u=0:0.1:10u =Columns 1 through 60 0.1000 0.2000 0.3000 0.4000 0.5000 Columns 7 through 120.6000 0.7000 0.8000 0.9000 1.0000 1.1000 Columns 13 through 181.2000 1.3000 1.4000 1.5000 1.6000 1.7000 Columns 19 through 241.8000 1.90002.0000 2.1000 2.2000 2.3000 Columns 25 through 302.4000 2.5000 2.6000 2.7000 2.8000 2.9000 Columns 31 through 363.0000 3.1000 3.2000 3.3000 3.4000 3.5000 Columns 37 through 423.6000 3.7000 3.8000 3.90004.0000 4.1000Columns 43 through 484.2000 4.3000 4.4000 4.5000 4.6000 4.7000 Columns 49 through 544.8000 4.90005.0000 5.1000 5.2000 5.3000 Columns 55 through 605.4000 5.5000 5.6000 5.7000 5.8000 5.9000 Columns 61 through 666.0000 6.1000 6.2000 6.3000 6.4000 6.5000 Columns 67 through 726.6000 6.7000 6.8000 6.90007.0000 7.1000 Columns 73 through 787.2000 7.3000 7.4000 7.5000 7.6000 7.7000 Columns 79 through 847.8000 7.9000 8.0000 8.1000 8.2000 8.3000 Columns 85 through 908.4000 8.5000 8.6000 8.7000 8.8000 8.9000 Columns 91 through 969.0000 9.1000 9.2000 9.3000 9.4000 9.5000 Columns 97 through 1019.6000 9.7000 9.8000 9.9000 10.0000>>a(:,3)=[2;3;4]a =1 2 24 5 37 8 4>>b=[1 1+2i;3+4i 3]b =1.0000 1.0000 +2.0000i3.0000 +4.0000i 3.00002)创建特殊矩阵>> a=ones(3,3)a =1 1 11 1 11 1 1>> b=zeros(2,2)b =0 00 0>> c=eye(4)c =1 0 0 00 1 0 00 0 1 00 0 0 1>> magic(4)ans =16 2 3 135 11 10 89 7 6 124 14 15 13)练习矩阵运算>>a=[0 1 0;0 0 1;-6 -11 -6];>> b=[1 2;3 4;5 6];>> c=[1 1 0;0 1 1];>> v1=c*av1 =0 1 1-6 -11 -5>> v2=a*bv2 =3 45 6-69 -92>> v3=c*a*bv3 =8 10-64 -86>> v4=b*cv4 =1 3 23 7 45 11 6>> v5=c*bv5 =4 68 10>> a^2ans =0 0 1-6 -11 -636 60 25>> a^(1/2)ans =0.0000 + 0.4894i -0.0000 - 0.5588i -0.0000 - 0.0482i0.0000 + 0.2891i 0.0000 + 1.0195i -0.0000 - 0.2696i0.0000 + 1.6179i 0.0000 + 3.2553i 0.0000 + 2.6374i >> a1=a+b*ca1 =1 4 23 7 5-1 0 0>> a2=c*b-a(1:2,1:2)a2 =4 58 10>> a3=a(1:2,2:3)+c*ba3 =5 68 11>> ar=c/aar =-0.8333 -1.0000 -0.16671.0000 1.0000 0 >> al=a\bal =-5.6667 -8.66671.00002.00003.00004.00004)练习矩阵特征运算>> a'ans =0 0 -61 0 -110 1 -6>> inv(a)ans =-1.8333 -1.0000 -0.16671.0000 0 00 1.0000 0 >> diag(a)ans =-6>> tril(a)ans =0 0 00 0 0-6 -11 -6>> inv(a)ans =-1.8333 -1.0000 -0.16671.0000 0 00 1.0000 0>> poly(a)ans =1.0000 6.0000 11.0000 6.0000>> rank(a)ans =3>> det(a)ans =-6>> trace(a)ans =-6>> eig(a)ans =-1.0000-2.0000-3.0000(2)MATLAB语言点的运算1)练习点乘与点除>>a1=[1 2;3 4];>> a2=0.2*a1;>> [a1 a2]ans =1.00002.0000 0.2000 0.40003.00004.0000 0.6000 0.8000>> [a1.*a2 a1./a2]ans =0.2000 0.8000 5.0000 5.00001.8000 3.2000 5.0000 5.00002)由点运算完成标量函数运算与作图>>t=0:2*pi/180:2*pit =Columns 1 through 60 0.0349 0.0698 0.1047 0.1396 0.1745Columns 7 through 120.2094 0.2443 0.2793 0.3142 0.3491 0.3840Columns 13 through 180.4189 0.4538 0.4887 0.5236 0.5585 0.5934Columns 19 through 240.6283 0.6632 0.6981 0.7330 0.7679 0.8029Columns 25 through 300.8378 0.8727 0.9076 0.9425 0.9774 1.0123 Columns 31 through 361.0472 1.0821 1.1170 1.1519 1.1868 1.2217 Columns 37 through 421.2566 1.2915 1.3265 1.3614 1.3963 1.4312 Columns 43 through 481.4661 1.5010 1.5359 1.5708 1.6057 1.6406 Columns 49 through 541.6755 1.7104 1.7453 1.7802 1.8151 1.8500 Columns 55 through 601.8850 1.9199 1.9548 1.98972.0246 2.0595 Columns 61 through 662.0944 2.1293 2.1642 2.1991 2.2340 2.2689 Columns 67 through 722.3038 2.3387 2.3736 2.4086 2.4435 2.4784 Columns 73 through 782.5133 2.5482 2.5831 2.6180 2.6529 2.6878 Columns 79 through 842.7227 2.7576 2.7925 2.8274 2.8623 2.8972 Columns 85 through 902.9322 2.96713.0020 3.0369 3.0718 3.1067 Columns 91 through 963.1416 3.1765 3.2114 3.2463 3.2812 3.3161 Columns 97 through 1023.3510 3.3859 3.4208 3.4558 3.4907 3.5256 Columns 103 through 1083.5605 3.5954 3.6303 3.6652 3.7001 3.7350 Columns 109 through 1143.7699 3.8048 3.8397 3.8746 3.9095 3.9444 Columns 115 through 1203.97944.0143 4.0492 4.0841 4.1190 4.1539 Columns 121 through 1264.1888 4.2237 4.2586 4.2935 4.3284 4.3633 Columns 127 through 1324.3982 4.4331 4.4680 4.5029 4.5379 4.5728 Columns 133 through 1384.6077 4.6426 4.6775 4.7124 4.7473 4.7822 Columns 139 through 1444.8171 4.8520 4.8869 4.9218 4.9567 4.9916 Columns 145 through 1505.0265 5.0615 5.0964 5.1313 5.1662 5.2011 Columns 151 through 1565.2360 5.2709 5.3058 5.3407 5.3756 5.4105 Columns 157 through 1625.4454 5.4803 5.5152 5.5501 5.5851 5.6200Columns 163 through 1685.6549 5.6898 5.7247 5.7596 5.7945 5.8294Columns 169 through 1745.8643 5.8992 5.9341 5.96906.0039 6.0388Columns 175 through 1806.0737 6.1087 6.1436 6.1785 6.2134 6.2483Column 1816.2832>>y1=sin(t)y1 =Columns 1 through 60 0.0349 0.0698 0.1045 0.1392 0.1736Columns 7 through 120.2079 0.2419 0.2756 0.3090 0.3420 0.3746Columns 13 through 180.4067 0.4384 0.4695 0.5000 0.5299 0.5592Columns 19 through 240.5878 0.6157 0.6428 0.6691 0.6947 0.7193Columns 25 through 300.7431 0.7660 0.7880 0.8090 0.8290 0.8480Columns 31 through 360.8660 0.8829 0.8988 0.9135 0.9272 0.9397Columns 37 through 420.9511 0.9613 0.9703 0.9781 0.9848 0.9903Columns 43 through 480.9945 0.9976 0.9994 1.0000 0.9994 0.9976Columns 49 through 540.9945 0.9903 0.9848 0.9781 0.9703 0.9613Columns 55 through 600.9511 0.9397 0.9272 0.9135 0.8988 0.8829Columns 61 through 660.8660 0.8480 0.8290 0.8090 0.7880 0.7660Columns 67 through 720.7431 0.7193 0.6947 0.6691 0.6428 0.6157Columns 73 through 780.5878 0.5592 0.5299 0.5000 0.4695 0.4384Columns 79 through 840.4067 0.3746 0.3420 0.3090 0.2756 0.2419Columns 85 through 900.2079 0.1736 0.1392 0.1045 0.0698 0.0349Columns 91 through 960.0000 -0.0349 -0.0698 -0.1045 -0.1392 -0.1736Columns 97 through 102-0.2079 -0.2419 -0.2756 -0.3090 -0.3420 -0.3746 Columns 103 through 108-0.4067 -0.4384 -0.4695 -0.5000 -0.5299 -0.5592 Columns 109 through 114-0.5878 -0.6157 -0.6428 -0.6691 -0.6947 -0.7193 Columns 115 through 120-0.7431 -0.7660 -0.7880 -0.8090 -0.8290 -0.8480 Columns 121 through 126-0.8660 -0.8829 -0.8988 -0.9135 -0.9272 -0.9397 Columns 127 through 132-0.9511 -0.9613 -0.9703 -0.9781 -0.9848 -0.9903 Columns 133 through 138-0.9945 -0.9976 -0.9994 -1.0000 -0.9994 -0.9976 Columns 139 through 144-0.9945 -0.9903 -0.9848 -0.9781 -0.9703 -0.9613 Columns 145 through 150-0.9511 -0.9397 -0.9272 -0.9135 -0.8988 -0.8829 Columns 151 through 156-0.8660 -0.8480 -0.8290 -0.8090 -0.7880 -0.7660 Columns 157 through 162-0.7431 -0.7193 -0.6947 -0.6691 -0.6428 -0.6157 Columns 163 through 168-0.5878 -0.5592 -0.5299 -0.5000 -0.4695 -0.4384 Columns 169 through 174-0.4067 -0.3746 -0.3420 -0.3090 -0.2756 -0.2419 Columns 175 through 180-0.2079 -0.1736 -0.1392 -0.1045 -0.0698 -0.0349 Column 181-0.0000>> y2=cos(t)y2 =Columns 1 through 61.0000 0.9994 0.9976 0.9945 0.9903 0.9848 Columns 7 through 120.9781 0.9703 0.9613 0.9511 0.9397 0.9272 Columns 13 through 180.9135 0.8988 0.8829 0.8660 0.8480 0.8290 Columns 19 through 240.8090 0.7880 0.7660 0.7431 0.7193 0.6947 Columns 25 through 300.6691 0.6428 0.6157 0.5878 0.5592 0.5299 Columns 31 through 360.5000 0.4695 0.4384 0.4067 0.3746 0.3420 Columns 37 through 420.3090 0.2756 0.2419 0.2079 0.1736 0.1392 Columns 43 through 480.1045 0.0698 0.0349 0.0000 -0.0349 -0.0698 Columns 49 through 54-0.1045 -0.1392 -0.1736 -0.2079 -0.2419 -0.2756 Columns 55 through 60-0.3090 -0.3420 -0.3746 -0.4067 -0.4384 -0.4695 Columns 61 through 66-0.5000 -0.5299 -0.5592 -0.5878 -0.6157 -0.6428 Columns 67 through 72-0.6691 -0.6947 -0.7193 -0.7431 -0.7660 -0.7880 Columns 73 through 78-0.8090 -0.8290 -0.8480 -0.8660 -0.8829 -0.8988 Columns 79 through 84-0.9135 -0.9272 -0.9397 -0.9511 -0.9613 -0.9703 Columns 85 through 90-0.9781 -0.9848 -0.9903 -0.9945 -0.9976 -0.9994 Columns 91 through 96-1.0000 -0.9994 -0.9976 -0.9945 -0.9903 -0.9848 Columns 97 through 102-0.9781 -0.9703 -0.9613 -0.9511 -0.9397 -0.9272 Columns 103 through 108-0.9135 -0.8988 -0.8829 -0.8660 -0.8480 -0.8290 Columns 109 through 114-0.8090 -0.7880 -0.7660 -0.7431 -0.7193 -0.6947 Columns 115 through 120-0.6691 -0.6428 -0.6157 -0.5878 -0.5592 -0.5299 Columns 121 through 126-0.5000 -0.4695 -0.4384 -0.4067 -0.3746 -0.3420 Columns 127 through 132-0.3090 -0.2756 -0.2419 -0.2079 -0.1736 -0.1392 Columns 133 through 138-0.1045 -0.0698 -0.0349 -0.0000 0.0349 0.0698 Columns 139 through 1440.1045 0.1392 0.1736 0.2079 0.2419 0.2756 Columns 145 through 1500.3090 0.3420 0.3746 0.4067 0.4384 0.4695 Columns 151 through 1560.5000 0.5299 0.5592 0.5878 0.6157 0.6428 Columns 157 through 1620.6691 0.6947 0.7193 0.7431 0.7660 0.7880 Columns 163 through 1680.8090 0.8290 0.8480 0.8660 0.8829 0.8988 Columns 169 through 1740.9135 0.9272 0.9397 0.9511 0.9613 0.9703 Columns 175 through 1800.9781 0.9848 0.9903 0.9945 0.9976 0.9994 Column 1811.0000>>y=y1.*y2y =Columns 1 through 60 0.0349 0.0696 0.1040 0.1378 0.1710 Columns 7 through 120.2034 0.2347 0.2650 0.2939 0.3214 0.3473 Columns 13 through 180.3716 0.3940 0.4145 0.4330 0.4494 0.4636 Columns 19 through 240.4755 0.4851 0.4924 0.4973 0.4997 0.4997 Columns 25 through 300.4973 0.4924 0.4851 0.4755 0.4636 0.4494 Columns 31 through 360.4330 0.4145 0.3940 0.3716 0.3473 0.3214 Columns 37 through 420.2939 0.2650 0.2347 0.2034 0.1710 0.1378 Columns 43 through 480.1040 0.0696 0.0349 0.0000 -0.0349 -0.0696 Columns 49 through 54-0.1040 -0.1378 -0.1710 -0.2034 -0.2347 -0.2650 Columns 55 through 60-0.2939 -0.3214 -0.3473 -0.3716 -0.3940 -0.4145 Columns 61 through 66-0.4330 -0.4494 -0.4636 -0.4755 -0.4851 -0.4924 Columns 67 through 72-0.4973 -0.4997 -0.4997 -0.4973 -0.4924 -0.4851 Columns 73 through 78-0.4755 -0.4636 -0.4494 -0.4330 -0.4145 -0.3940 Columns 79 through 84-0.3716 -0.3473 -0.3214 -0.2939 -0.2650 -0.2347 Columns 85 through 90-0.2034 -0.1710 -0.1378 -0.1040 -0.0696 -0.0349 Columns 91 through 96-0.0000 0.0349 0.0696 0.1040 0.1378 0.1710 Columns 97 through 1020.2034 0.2347 0.2650 0.2939 0.3214 0.3473 Columns 103 through 1080.3716 0.3940 0.4145 0.4330 0.4494 0.4636 Columns 109 through 1140.4755 0.4851 0.4924 0.4973 0.4997 0.4997 Columns 115 through 1200.4973 0.4924 0.4851 0.4755 0.4636 0.4494 Columns 121 through 1260.4330 0.4145 0.3940 0.3716 0.3473 0.3214 Columns 127 through 1320.2939 0.2650 0.2347 0.2034 0.1710 0.1378 Columns 133 through 1380.1040 0.0696 0.0349 0.0000 -0.0349 -0.0696 Columns 139 through 144-0.1040 -0.1378 -0.1710 -0.2034 -0.2347 -0.2650 Columns 145 through 150-0.2939 -0.3214 -0.3473 -0.3716 -0.3940 -0.4145 Columns 151 through 156-0.4330 -0.4494 -0.4636 -0.4755 -0.4851 -0.4924 Columns 157 through 162-0.4973 -0.4997 -0.4997 -0.4973 -0.4924 -0.4851 Columns 163 through 168-0.4755 -0.4636 -0.4494 -0.4330 -0.4145 -0.3940 Columns 169 through 174-0.3716 -0.3473 -0.3214 -0.2939 -0.2650 -0.2347 Columns 175 through 180-0.2034 -0.1710 -0.1378 -0.1040 -0.0696 -0.0349 Column 181-0.0000>> plot(t,[y' y1' y2']);>> w=0.1:0.1:2w =Columns 1 through 60.1000 0.2000 0.3000 0.4000 0.5000 0.6000 Columns 7 through 120.7000 0.8000 0.9000 1.0000 1.1000 1.2000 Columns 13 through 181.3000 1.4000 1.5000 1.6000 1.7000 1.8000 Columns 19 through 201.90002.0000>> g1=(1+0.5*w*i)/(1-0.5*w*i)g1 =-1.0296>>g2=(1+0.5*w*i)./(1-0.5*w*i)g2 =Columns 1 through 6-1.5000 -1.2222 -1.1429 -1.1053 -1.0833 -1.0690 Columns 7 through 12-1.0588 -1.0513 -1.0455 -1.0408 -1.0370 -1.0339 Columns 13 through 18-1.0313 -1.0290 -1.0270 -1.0253 -1.0238 -1.0225 Columns 19 through 20-1.0213 -1.0202>>plot(g2)>>xlabel('real g2(w)')>>ylabel('imag g2(w)')>>axis('square')(3)多项式运算1)建立多项式向量>>ap=[1 3 3 1]a p=1 3 3 1>> b=[-1 -2 -3]b =-1 -2 -3>>bp=poly(b)bp =1 6 11 62)练习多项式乘与求根>>p=conv(ap,bp)p =1 9 32 58 57 29 6 >> roots(p)ans =-3.0000-2.0000-1.0003-1.0000 + 0.0003i-1.0000 - 0.0003i-0.99973)练习多项式运算>>a=[1 2 3 4]a =1 2 3 4>> b=[1 -1]b =1-1>>c=a+[zeros(1,length(a)-length(b)) b]c =1 2 4 3>>poly2str(c,'x')ans =x^3 + 2 x^2 + 4 x + 3>> polyvalm(a,3)ans =58三、MATLAB的符号运算1、实验目的(1)学习MATLAB语言的基本符号运算(2)学习MATLAB语言的矩阵符号运算2、实验内容(1)基本符号运算1)符号微分、积分>>syms t>> f1=sin(2*t)f1 =sin(2*t)>> df1=diff(f1)df1 =2*cos(2*t)>> if1=int(f1)if1 =-1/2*cos(2*t)2)泰勒级数展开>>tf1=taylor(f1,8)tf1 =2*t-4/3*t^3+4/15*t^5-8/315*t^73)符号代数方程求解>>syms a b c x>> f=a*x^2+b*x+cf =a*x^2+b*x+c>> ef=solve(f)ef =[ 1/2/a*(-b+(b^2-4*a*c)^(1/2))][ 1/2/a*(-b-(b^2-4*a*c)^(1/2))]4)符号微分方程求解>>f='D2x+2*Dx+10*x=0'f =D2x+2*Dx+10*x=0>> g='Dx(0)=1,x(0)=0'g =Dx(0)=1,x(0)=0>> dfg=dsolve(f,g)dfg =1/3*exp(-t)*sin(3*t)5)积分变换>>syms t>>f1=exp(-2*t)*sin(5*t)>>F1=laplace(f1)F1=5/((s+2)^2+25)>>syms s>>F2=1/(s+2)^2>>f2=ilaplace(F2)>>f2=t*exp(-2*t)>>syms t>>f1=sin(t)>>Fz1=ztrans(f1)Fz1=-z*sin(1)/(2*z*cos(1)-z^2-1)>>syms z>>Fz2=z/(z-2)+z/(z-3)>>fz2=iztrans(Fz2)fz2=2^n+3^n6)计算精度>>g=sym('[pi/2 2;3 exp(1)]')g=[pi/2, 2][ 3,exp(1)]>>g1=vpa(g)g1=[1.570796326794897...,2. ][ 3.,2.718281828459045...] >>digitsDigits=32>>g1=vpa(g,5)g1=[1.5708, 2.][ 3.,2.7183](2)符号矩阵运算1)创建与修改符号矩阵>>G1=sym('[1/(s+1),s/(s+1)/(s+2);1/(s+1)/(s+2),s/(s+2)]') G1 =[ 1/(s+1), s/(s+1)/(s+2)][ 1/(s+1)/(s+2), s/(s+2)]>> G2=subs(G1,G1(2,2),'0')G2 =[ 1/(s+1), s/(s+1)/(s+2)][ 1/(s+1)/(s+2), 0]>> G3=G1(1,1)G3 =1/(s+1)2)符号线性代数>> a=[1 2 3 4];>> inv aans =0.0103>> det aans =97>> eig aans =97>> transpose aans =a3)常规符号运算>>syms s>> d1=1/(s+1);d2=1/(s+2);d=d1*d2d =1/(s+1)/(s+2)>> ad=sym('[s+1 s;0 s+2]');G=d*adG =[ 1/(s+2), s/(s+1)/(s+2)][ 0, 1/(s+1)]>> n1=[1 2 3 4 5];n2=[1 2 3];>> p1=poly2sym(n1);p2=poly2sym(n2);>> p=p1+p2p =x^4+2*x^3+4*x^2+6*x+8>> pn=sym2poly(p)pn =1 2 4 6 8>> a=[0 1;-2 -3];>> gcha=poly2sym(poly(eig(a)))gcha =x^2+3*x+2>> sym sans =s>> mg=s*eye(2)-amg =[ s, -1][ 2, s+3]>> geig=transpose(eig(mg))geig =[ s+1, s+2]>> gdet=det(mg)gdet =s^2+3*s+2>> groot=transpose(solve(gdet))groot =[ -2, -1]>> G=inv(mg)G =[ (s+3)/(s^2+3*s+2), 1/(s^2+3*s+2)][ -2/(s^2+3*s+2), s/(s^2+3*s+2)]>> g11=ilaplace(G(1,1));>> g12=ilaplace(G(1,2));>> g21=ilaplace(G(2,1));>> g22=ilaplace(G(2,2));>> g=[g11 g12;g21 g22]g =[ -exp(-2*t)+2*exp(-t), exp(-t)-exp(-2*t)] [ -2*exp(-t)+2*exp(-2*t), 2*exp(-2*t)-exp(-t)]。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 Matlab 程序设计与M 文件
一、实验目的
1. 掌握Matlab 程序设计常用命令,如,循环、选择、暂停、显示输出、输入变量值等。
2. 掌握Matlab 的M 文件的创建于使用,包括脚本文件和函数文件。
3. 掌握常用的编程技巧。
二、实验内容
1. 输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。
其中90分~100分为A ,80分~89分为B ,79分~79分为C ,60分~69分为D ,60分以下为E 。
要求:
(1) 分别用if 语句和switch 语句实现。
(2) 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
2. 硅谷公司员工的工资计算方法如下:
(1) 工作时数超过120小时者,超过部分加发15%。
(2) 工作时数低于60小时者,扣发700元。
(3) 其余按每小时84元计发。
试编程按输入的工号和该号员工的工时数,计算应发工资。
3. 根据2
222211116123n
π=++++,求π的近似值。
当n 分别取100、1000、10000时,结果是多少?
要求:分别用循环结构和向量运算(使用sum 函数)来实现。
4. 考虑以下迭代公式:
1n n
a x
b x +=+ 其中a 、b 为正的学数。
(1) 编写程序求迭代的结果,迭代的终止条件为|x n+1-x n |≤10-5,迭代初值x
0=1.0,迭代次数不超过500次。
(2) 如果迭代过程收敛于r ,那么r 的准确值是,当(a,b)的值
取(1,1)、(8,3)、(10,0.1)时,分别对迭代结果和准确值进行比较。
5. 已知
12312311021
323
n n n n f n f n f n f f f f n ---==⎧⎪==⎪⎨==⎪⎪=-+>⎩ 求f 1~f 100中:
(1) 最大值、最小值、各数之和。
(2) 正数、零、负数的个数。
6. 若两个连续自然数的乘积减1是素数,则称这两个边疆自然数是亲密数对,该素数是亲密素数。
例如,2×3-1=5,由于5是素数,所以2和3是亲密数,5是亲密素数。
求[2,50]区间内:
(1) 亲密数对的对数。
(2) 与上述亲密数对对应的所有亲密素数之和。
7. 设2411()(2)0.1(3)0.01
f x x x =+-+-+,编写一个MATLAB 函数文件fx.m ,使得调用f(x)时,x 可用矩阵代入,得出的f(x)为同阶矩阵。
8. 一物理系统可用下列方程组来表示:
111211
12
220cos sin 0sin 0cos 000sin 000cos 1a m m a m g m N m N m g θθθθθθ--⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦
从键盘输入m 1、m 2和θ的值,求a 1、a 2、N 1和N 2的值。
其中g 取9.8,输入θ时以角度为单位。
要求:定义一个求解线性方程组AX=B 的函数文件,然后在命令文件中调用该函数文件。