《MATLAB语言及其应用》教案

时间:2019-05-15 02:00:15下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《《MATLAB语言及其应用》教案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《《MATLAB语言及其应用》教案》。

第一篇:《MATLAB语言及其应用》教案

MATLAB语言及其应用

任课教师:罗靖宇

任课班级:09通信(1)(2)

教材:MATLAB程序设计与应用(第二版)

作 者:刘卫国主编 出版社:高等教育出版社

内容:

书籍简介:本书以MATLAB 7.0版为蓝本介绍MATLAB功能与应用强调理论和实践相结合贴近读者需要注重讲清有关数学方法和算法原理前提下介绍MATLAB功能;注重和有关学科领域结合,突出应用书中有许多应用实例些实例既是对MATLAB重点和难点诠释又可以更好地帮助读者应用MATLAB来解决实际问题具有很强代表性。

全书分为基础篇应用篇和实验篇基础篇包括MATLAB系统环境MATLAB数据及其运算MATLAB矩阵分析与处理 MATLAB程序设计MATLAB图MATLAB数值计算MATIAB符号计算应用篇包括MATLAB图形用户界面设计MATLAB Notebook使用MATLAB Simulink 仿真软件MATLAB外部程序接口技术MATLAB应用实验篇和教学内容相配合包括15实验以帮助读者更好地上机操作。本书可作为高等学校理工科各专业大学生或研究生学习教材也可供广大科技工作者参考。

第1章 MATLAB系统环境

1.1 MATLAB概貌

1.1.1 MATLAB 发展

1.1.2 MATLAB 主要功能

1.1.3 MATLAB功能演示

1.2 MATLAB环境 准备

1.2.1 MATLAB 安装

1.2.2 MATLAB 启动与退出

1.3 MATLAB操作界面

1.3.1 主窗口

1.3.2 命令窗口

1.3.3 工作空间窗口

1.3.4 当前目录窗口和搜索路径

1.3.5 命令历史记录窗口

1.3.6 Stalt菜单

1.4 MATLAB帮助系统

1.4.1 帮助命令

1.4.2 帮助窗口

1.4.3 演示系统

第2章 MATLAB数据及其运算

2.1 MATLAB数据 特点

2.2 变量及其操作

2.2.1 变量与赋值

2.2.2 变量 管理

2.2.3 数据 输出格式

2.3 MATLAB矩阵 表示

2.3.1 矩阵 建立

2.3.2 冒号表达式

2.3.3 矩阵 拆分

2.4 MATLAB数据 运算

2.4.1 算术运算

2.4.2 关系运算

2.4.3 逻辑运算

2.5 字符串

2.6 结构数据和单元数据

2.6.1 结构数据

2.6.2 单元数据

第3章 MATLAB矩阵分析与处理

3.1 特殊矩阵

3.1.1 通用 特殊矩阵

3.1.2 用 专门学科 特殊矩阵

3.2 矩阵结构变换

3.2.1 对角阵与三角阵

3.2.2 矩阵 转置与旋转

3.3 矩阵求逆与线性方程组求解

3.3.1 矩阵 逆与伪逆

3.3.2 用矩阵求逆方法求解线性方程组

3.4 矩阵求值

3.4.1 方阵 行列式值

3.4.2 矩阵 秩与迹

3.4.3 向量和矩阵 范数

3.4.4 矩阵 条件数

3.5 矩阵 特征值与特征向量

3.6 矩阵 超越函数 第4章 MATLAB程序设计

4.1 M文件

4.1.1 M文件 分类

4.1.2 M文件 建立与打开

4.2 程序控制结构

顺序结构、选择结构、循环结构 4.3 函数文件 4.4 程序调试

第5章 MATLAB绘图

5.1 二维图形

I

5.2 三维图形

5.3 三维图形的精细处理

5.4 隐函数绘图

5.5 底层绘图操作

5.6 光照与材质

5.7 图像显示与动画

第6章 MATLAB数值计算

6.1 数据处理与多项式计算

6.2 数值微积分

6.3 离散傅里叶变换

6.4 线性方程组求解

6.5 非线性方程与最优化问题求解

6.6 常微分方程的数值求解

6.7 稀疏矩阵

第7章 MATLAB符号计算

7.1 符号计算基础

7.2 符号函数及其应用

7.3 符号积分

7.4 级数

7.5 符号方程求解 应用篇

第8章 MATLAB图形用户界面设计

8.1 菜单设计

8.2 对话框设计

8.3 可视化图形用户界面设计

第9章 MATLABNotebook 使用

9.1 NOTEBook的安装于启动

9.2 单元的定义与执行

9.3 输出格式控制

第10章 MATLABSimlllink仿真软件

10.1 Simlllink操作基础

10.2 系统仿真模型

10.3 系统的仿真

10.4 使用命令操作对系统进行仿真

10.5 子系统及其封装技术

10.6 S函数的设计与应用

第11章 MATLAB外部程序接口技术

11.1 MATLAB的数据接口

11.2 MATLAB编译器

11.3 MATLAB计算引擎

11.4 MEX动态链接函数接口

第12章 MATLAB 应用

12.1 MATLAB在电路分析中的应用

12.2 MATLAB在控制系统分析中的应用

12.3 MATLAB在数学建模中的应用

12.4 MATLAB在力学及工程结构分析中的应用

12.5 MATLAB在优化设计中的应用 实验篇

实验要求

实验

MATLAB运算基础

实验二 MATLAB矩阵分析与处理

实验三 选择结构程序设计

实验四 循环结构程序设计

实验五 函数文件

实验六 高层绘图操作

实验七 低层绘图操作

实验八 数据处理与多项式计算

实验九 数值微积分与方程数值求解

实验十 符号计算基础与符号微积分

实验十

级数与方程符号求解

实验十二 菜单与对话框设计

实验十三 Simulink 应用

实验十四 外部程序接口

实验十五 综合实验

II

第1章

MATLAB系统环境

本章重点:发展、功能、操作界面、帮助 课时安排:2课时 内容安排:

1、概述:MATLAB 发展、MATLAB 主要功能(1)发展

MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成。那是20世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的UMIST,瑞典的LUND和SIMNON,德国的KEDDC)纷纷淘汰,而改以MATLAB为平台加以重建。在时间进入20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。到九十年代初期,在国际上30几个数学类科技应用软件中,MATLAB在数值计算方面独占鳌头,而Mathematica和Maple则分居符号计算软件的前两名。Mathcad因其提供计算、图形、文字处理的统一环境而深受中学生欢迎。MathWorks公司于1993年推出MATLAB4.0版本,从此告别DOS版。4.x版在继承和发展其原有的数值计算和图形可视能力的同时,出现了以下几个重要变化:(1)推出了SIMULINK。这是一个交互式操作的动态系统建模、仿真、分析集成环境。它的出现使人们有可能考虑许多以前不得不做简化假设的非线性因素、随机因素,从而大大提高了人们对非线性、随机动态系统的认知能力。(2)开发了与外部进行直接数据交换的组件,打通了MATLAB进行实时数据分析、处理和硬件开发的道路。(3)推出了符号计算工具包。1993年MathWorks公司从加拿大滑铁卢大学购得Maple的使用权,以Maple为“引擎”开发了Symbolic Math Toolbox 1.0。MathWorks公司此举加快结束了国际上数值计算、符号计算孰优孰劣的长期争论,促成了两种计算的互补发展新时代。(4)构作了Notebook。MathWorks公司瞄准应用范围最广的Word,运用DDE和OLE,实现了MATLAB与Word的无缝连接,从而为专业科技工作者创造了融科学计算、图形可视、文字处理于一体的高水准环境。1997年仲春,MATLAB5.0版问世,紧接着是5.1、5.2,以及和1999年春的5.3版。与 4.x相比,现今的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。(关于MATLAB5.x的特点下节将作更详细的介绍。)诚然,到1999年底,Mathematica也已经升到4.0版,它特别加强了以前欠缺的大规模数据处理能力。Mathcad 也赶在2000年到来之前推出了Mathcad 2000,它购买了Maple内核和库的部分使用权,打通了与MATLAB的接口,从而把其数学计算能力提高到专业层次。但是,就影响而言,至今仍然没有一个别的计算软件可与MATLAB匹敌。在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。这几乎成了九十年代教科书与旧版书籍的区别性标志。在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。

在设计研究单位和工业部门,MATLAB被认作进行高效研究、开发的首选软件工具。如美国National Instruments公司信号测量、分析软件LabVIEW,Cadence公司信号和通信分析设计软件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB为主要支撑。又如HP公司的VXI硬件,TM公司的DSP,Gage公司的各种硬卡、仪器等都接受MATLAB的支持。(2)主要功能:计算、图形、程序、工具

2、MATLAB环境:准备、MATLAB 安装、MATLAB 启动与退出 虚拟光驱

3种启动方式:菜单方式、到安装路劲下双击MATLAB.exe运行方式、桌面快捷方式、3种退出方式:菜单、关闭窗口、命令quit或exit

3、MATLAB操作界面:主窗口、命令窗口、工作空间窗口、当前目录窗口和搜索路径、命令历史记录窗口、Start菜单

4、MATLAB帮助系统:帮助命令help、lookfor命令、帮助窗口、演示系统

5、MATLAB功能演示

例1-1 绘制正弦曲线和余弦曲线。x=[0:0.5:360]*pi/180;plot(x,sin(x),x,cos(x));例1-2 求方程 3x4+7x3 +9x2-23=0的全部根。

p=[3,7,9,0,-23];

%建立多项式系数向量 x=roots(p)

%求根 例1-3 求积分

例1-4 1[xln(1x)]dx0

quad('x.*log(1+x)',0,1)求解线性方程组。

2x13x2x348x13x22x32即:aXb 45xx9x17231a=[2,-3,1;8,3,2;45,1,-9];b=[4;2;17];x=inv(a)*b 第2章 MATLAB数据及其运算

本章重点:变量、格式、矩阵、运算、字符串 课时安排:4课时 内容安排:

1、MATLAB数据的特点

(1)矩阵是MATLAB最基本、最重要的数据对象。

例如: 1357

2345(2)向量可以看成是仅有一行或一列的矩阵。

例如:[1 2 3],[28 3 9](3)单个数据(标量)可以看成是矩阵的特例。单个数据看着也看着矩阵。例如:10=[10](4)数据类型

MATLAB定义了15种数据类型:

Char,float,double,int8,int16,int32,int64,uint8,uint16,uint32,uint64,cell,structure,java类,函数句柄,用户定义类型

一般情况下,矩阵的每个元素必须具有相同的数据类型,在实际应用中,有时需要将不同类型的数据构成矩阵的元素,也就是结构体(Structure)和元胞(Cell)数据类型。

'LIYANG'22'M''LIYANG'22'M''WANG'31'W','WANG'31'W'

'TANG'18'M''TANG18'M'

2、变量及其操作 2.1变量命名:

以字母开头(不是数字、汉字开头)后接字母、数字、下划线的最多63个字符,区分大小写。

2.2 变量赋值操作(1)变量=表达式 例如:a=123;b=‟ok‟

(2)表达式;%把表达式值赋值给预定义变量ans 例如:123456 7sin(30)例如:将写成MATLAB表达式

log(5)e0.3ln(5cos(3))将写成MATLAB表达式 312tg(20)(3)预定义变量:ans,eps,pi,i,j,inf,Inf,NaN,nan,nargin,nargout,realmax,realmin,lasterr,lastwarn

例如:2+6i,3+pi(4)变量管理:内存变量的显示与删除,who,whos,clear.(5)工作空间浏览器

(6)变量编辑器:(7)内存变量文件:

save 文件名

[变量名表] [-append][-ascii]

load 文件名

[变量名表] [-ascii] 2.3 数据输出格式:

采用十进制数表示一个常数,可用日常记数法和科学记数法,format format short format long format short e format long e format rat format hex format compact format loose

3、MATLAB矩阵表示

矩阵:n×m的数据存储空间

向量:单行或单列的矩阵 标量:1×1的矩阵

数组:矩阵是数组的特例,矩阵是二维数组,向量是一维数组。

空矩阵:[]表示无任何元素 3.1矩阵建立 1.直接输入法

矩阵元素应用方括号([])括住

每行内的元素间用逗号(,)或空格隔开 行与行之间用分号(;)或回车键隔开; 元素可以是数值或表达式。例如:a=[2,3;5,6;8,9] cB=[4,2+3i;5i,6i] xp=[2 3;4 5] 复数矩阵

2.利用M文件建立矩阵

(1)启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵.(2)把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。

(3)load 文件名,就会自动建立一个名为MYMAT的矩阵,可供以后使用。3.建立大矩阵

大矩阵可由方括号中的小矩阵建立起来。例如

A=[1 2 3;4 5 6;7 8 9];

C=[A,eye(size(A));ones(size(A)),A]

4.冒号表达式:

(1)使用冒号表达式生成向量 冒号表达式的一般格式:

e1:e2:e3 其中e1为初始值,e2为步长,e3为终止值。冒号表达式可产生一个由e1开始到e3 4 结束,以步长e2自增的行向量。

在冒号表达式中如果省略e2不写,则步长为1。当e2省略或e2>0,e1>e3;e2<0, e1

linspace(a,b,n)%生成线性等分向量

logspace(a,b,n)%生成对数等分向量 说明:

a、b、n三个参数分别表示开始值、结束值和元素个数; linspace函数生成从a到b之间线性分布的n个元素的行向量,n如果省略则默认值为100; linspace(a,b,n)与a:(b-a)/(n-1):b等价。

logspace函数生成从10a到10b之间按对数等分的n个元素的行向量,n如果省略则默认值为50。

3.2矩阵的拆分: 1.矩阵元素访问

MATLAB允许用户对一个矩阵的单个元素进行赋值和操作。而不影响其它元素的值。例如

A=ones(4);A(3,2)=200 只改变该元素的值,而不影响其他元素的值。如果给出的行下标或列下标大于原来矩阵的行数和列数,则MATLAB将自动扩展原来的矩阵,并将扩展后未赋值得矩阵元素置为0 A(4,6)=10 也可以采用矩阵元素的序号来引用矩阵元素。矩阵元素按列编号,先第一列,再第二列,依次类推。A(6)显然,下标(subscrip)与序号(index)是一一对应的。以m×n矩阵A为例,矩阵元素A(i,j)的序号为

(j-1)*m+i。其相互转换关系也可利用sub2ind和ind2sub函数求得 sub2ind(size(A),2,3)[c,d]=ind2sub(size(A),6)2.利用冒号获得子矩阵

①A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。

②A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。

A=[1,2,3,4,5;11,12,13,14,15;21,22,23,24,25;31,32,33,34,35];A(2:3,4:5)A(2:3,1:2:5)此外,还可利用一般向量和end运算符等来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。

A=[1,2,3,4,5;11,12,13,14,15;21,22,23,24,25;31,32,33,34,35];A(end,:)%取A最后一行元素

A([1,4],3:end)%取A第1、4行中第3列到最后一列元素

3.利用空矩阵删除矩阵元素

在MATLAB中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。

注意:X=[]与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间,只是维数为0。

将某些元素从矩阵中删除,采用将其置为空矩阵的方法就是一种有效的方法。

A=[1,2,3,4,5;11,12,13,14,15;21,22,23,24,25;31,32,33,34,35];A(:,[2,4])=[]%删除A的第2列和第4列元素 4 矩阵合并

矩阵的合并就是把两个以上的矩阵连接起来得到一个新矩阵,“[]”符号可以作为矩阵合并操作符,命令格式如下: c=[a b]

%将矩阵a和b水平方向合并为c c=[a;b] %将矩阵a和b垂直方向合并为c

5、MATLAB数据运算: 算术运算:+,-,*,/,^ 点运算:.*,./,.,MATLAB常用函数:sin,asin,cos,acos,tan,atan,sqrt,log,abs,rem,exp,mod,round,gcd,fix 关系运算(返回真1或假0):<,<=,>,>=,==,!= 逻辑运算((返回真1或假0)):&,|,~ 位运算:bitand,bitor,bitxor,bitshift 关系与逻辑运算函数:all,any,exit,find,isempty,issparse,xor

6、字符串:

创建:s=‟please‟

字符串函数:setstr,mat2str,int2str,num2str,str2num,strcat,strcmp

7、结构数据和单元数据:

结构数据:建立、引用、修改、结构函数 单元(cell)数据:建立、引用、函数第3章 MATLAB矩阵分析与处理

本章重点:特殊矩阵、矩阵变换、矩阵求值 课时安排:4课时 内容安排:

1.特殊矩阵的建立

1.1通用特殊矩阵:zeros,ones,eye,rand,randn 几个产生特殊矩阵的函数:

zeros 产生全0矩阵(零矩阵)

ones 产生全1矩阵(么矩阵)eye

产生单位矩阵

rand 产生0~1间均匀分布的随机矩阵 randn 产生0~1间正态分布的随机矩阵

这几个函数的调用格式相似,下面以产生零矩阵的zeros函数为例进行说明。其调用格式是:

zeros(m)

产生m×m零矩阵

zeros(m,n)

产生m×n零矩阵。

zeros(size(A))

产生与矩阵A同样大小的零矩阵 相关的函数有:

size(A)

返回包含2个元素的向量,分别是A的行数、列数

length(A)给出行数和列数中的较大者,即

length(A)=max(size(A));

ndims(A)给出A的维数。

reshape(A,m,n)它在矩阵总元素保持不变的前提下,将矩阵A重新排成m×n的二维矩阵。

例2.3 分别建立3×3、3×2和与矩阵A同样大小的零矩阵。(1)建立一个3×3零矩阵:zeros(3)(2)建立一个3×2零矩阵:zeros(3,2)(3)建立与矩阵A同样大小零矩阵:zeros(size(A))(4)将矩阵xv重新排成2×5、5×2矩阵 xv=[23,34,65,67,54,38,78,76,32,56];

ym=reshape(xv,2,5)

newym=reshape(xv,5,2)

1.2专门学科特殊矩阵:magic,vander,hilb,toeplitz,compan,pascal magic矩阵的每行、每列、及两条对角线的元素之和都相等。用法:magic(n)vander矩阵的最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘。用法:vander(n)Hilb矩阵的每个元素是hij1,用法:hilb(n)

ij1toeplitz矩阵除第一行和第一列外,其他每个元素都与其相邻左上角的元素相同。用法:toeplitz(x,y)或者(x),这里x和y都为向量,生成以x为第一列,y为第一行的toeplitz矩阵 伴随矩阵compan:设多项式p(x)anxan1xnn1a1xa0,则多项式的伴随矩阵 7 an1an1为:A000an2an0100an3an100000a0an0000 00010a1an

Pascal矩阵就是杨辉三角形矩阵,第1行和第1列都为1,其余元素为其相邻的右面和上面元素之和。

2、矩阵结构变换: 2.1 矩阵转置:B=A‟ 2.2 方阵行列式

det(x):计算方阵行列式 2.3 矩阵秩

rank(x):求矩阵的秩 2.4 矩阵的逆矩阵

inv(x)求矩阵的逆矩阵 2.5 矩阵的特征值与特征向量

[v,d]=eig(x):求矩阵的特征向量v和特征值d 2.6 产生对角阵

diag(x):产生矩阵x的对角阵 2.7 矩阵的正交阵表示

[q,r]=qr(x)2.8 产生上三角矩阵与下三角矩阵

triu(x)和tril(x):分别产生x的上、下三角矩阵,其

余元素补0 3.数组翻转

常用数组翻转函数 :flipud(x)、fliplr(x)、flipdim(x,dim)、rot90(x,k)

4、矩阵求逆与线性方程组求解:

(1)矩阵逆inv(A):用于矩阵A的秩为满秩的方阵A。

伪逆pinv(A):对于不为满秩的矩阵A,不存在逆矩阵,但可以一个与A的转置矩阵A‟同型的矩阵B,使得:

A.B.A=A和B.A.B=B 此时称矩阵B为矩阵A的伪逆,也称广义逆矩阵:B=pinv(A)(2)用矩阵求逆方法求解线性方程组:

5、迹:trace(A)矩阵对角线元素之和,也等于矩阵的特征值之和。

6、矩阵范数:norm

用以度量矩阵或向量在某种意义下的长度。设向量V(v1,v2,,vn),则范数:(1)1-范数:||V||1n|vi|

i

1norm(V,1)(2)2-范数:||V||2nv2i

i1norm(V,2)或norm(V)(3)∞-范数:||V||max1in{|vi|} norm(V,inf)

7、矩阵条件数:cond(A)

8、矩阵超越函数

Sqrtm,logm,expm,funm

第4章 MATLAB程序设计

本章重点:M文件、选择程序设计、循环程序设计、M函数设计 课时安排:4课时 内容安排: 4.1 M文件

1. M文件分类

M程序文件(命令文件):无输入参数、无返回参数 M函数文件:有输入参数,有返回值 2. M文件 建立与打开(1)在matlab编辑器中(2)在其他编辑器:记事本 3.M文件的运行 4.注解:% 4.2 程序控制结构 1.顺序结构

(1)数据输入:

A=input(„提示信息‟,选项)(2)输入输出:

disp(输出项)(3)程序暂停: pause(延迟秒数)(4)程序强行中止:Ctrl+C键

例题:输入系数,求并显示一元二次方程ax2bxc0的根 2.选择程序设计(1)if语言

if语句与end组成一个复合命令 条件满足则执行语句,格式: if 条件

语句组 end 例如:if(fix(x)==x)

disp(x);

end(2)双分支语句if else if 条件

语句组1 else

语句组2 end 例如:输入x计算函数y值:

ycos(x1)/(x10),x10xxlnx,x10

(3)多分支if语句 格式: if 条件1

语句组1 elseif 条件2

语句组2

elseif 条件m

语句组m else

语句组n end 例如:从键盘输入,判断输入的是否为大写字母、小写字母、数字还是其他字符。(4)switch语句

根据不同的取值,分别执行不同的语句。格式: switch 表达式

case 表达式1 语句组1 case 表达式2 语句组2 …

case 表达式m 语句组m otherwise

case 表达式n 语句组n end 当表达式的值等于表达式1时,则执行语句组1;当表达式的值等于表达式2时,则执行语句组2;…,当表达式的值等于表达式m时,则执行语句组m;当表达式的值不等于case所列的所有表达式时,则执行语句组n。

例如:输入百分数,根据成绩判断优、良、中、及格、不及格等次

(6)try语句

用于判断执行语句是否存在逻辑错误(非语法错误,如除法的除数为零),格式: try

语句组1 catch

语句组2 end 先试探执行语句1,若存在错误,则执行语句2;若不存在错误则只执行语句1而不执行语句2.错误信息赋给保留的lasterr变量 循环程序设计(1)for语句 格式1:

for 循环变量=表达式1:步长:表达式3 循环体语句 end 2例题:根据611221321n2,求的值,n分别取100,1000,10000.格式2:

for 循环变量=矩阵

循环体语句 end 将矩阵的每列赋给循环变量。(3)while语句 格式: while 条件

循环体 end 例题:

(4)break和continue语句 例题

(5)循环嵌套 例题

4.3 M函数 1.M函数格式

function 输出参数=函数名(输入参数1,输入参数2,…)注释部分 函数体语句 例题

2.return语句 3.函数调用 一般函数调用 递归函数调用

4、函数参数的可调性

5、全局变量 global 变量名 4.4 程序调试

第5章 MATLAB绘图

本章重点:掌握绘制二维和三维图形的常用函数,掌握绘制图形的辅助操作 课时安排:4课时 内容安排: 5.1 二维绘图

1.绘制单根二维曲线

plot函数的基本调用格式为:plot(x,y)

其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。2.绘制多根二维曲线

plot函数的输入参数是矩阵形式

含多个输入参数的plot函数,调用格式为:plot(x1,y1,x2,y2,…,xn,yn)具有两个纵坐标标度的图形,调用格式为: plotyy(x1,y1,x2,y2)图形保持:hold on/off 3.设置曲线样式

要设置曲线样式可以在plot函数中加绘图选项,其调用格式为:

plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)4.图形标注与坐标控制。

有关图形标注函数的调用格式为: title(图形名称)xlabel(x轴说明)ylabel(y轴说明)text(x,y,图形说明)legend(图例1,图例2,…)

axis函数坐标标注函数调用格式为: axis([xmin xmax ymin ymax zmin zmax])axis函数功能丰富,常用的格式还有: axis equal:纵、横坐标轴采用等长刻度。

axis square:产生正方形坐标系(缺省为矩形)。axis auto:使用缺省设置。axis off:取消坐标轴。axis on:显示坐标轴。5.其它二维图形

polar函数用来绘制极坐标图,其调用格式为: polar(theta,rho,选项)二维统计分析图形很多,常见的有条形图、阶梯图、杆图和填充图等,所采用的函数分别是: bar(x,y,选项)stairs(x,y,选项)stem(x,y,选项)fill(x1,y1,选项1,x2,y2,选项2,…)5.2 三维绘图 1.三维曲线

调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)2.三维曲面

surf函数和mesh函数的调用格式为: mesh(x,y,z,c)surf(x,y,z,c)3.其它三维图形

[x,y,z]=sphere(n)

%球体

[x,y,z]= cylinder(R,n)%圆柱体 bar3函数绘制三维条形图

stem3函数绘制离散序列数据的三维杆图 pie3函数绘制三维饼图 5.3 三维绘图的精细处理 1.视点处理

函数view,其调用格式为: view(az,el)2.色彩处理

向量元素在[0,1]范围取值,3个元素分别表示红、绿、蓝3种颜色的相对亮度,称为RGB三元组。色图是m×3 的数值矩阵,它的每一行是RGB三元组。三维表面图形的着色,surf函数用缺省的着色方式对网格片着色。除此之外,还可以用shading命令来改变着色方式。3.图形裁剪处理

例5-25 绘制三维曲面图,并进行插值着色处理,裁掉图中x和y都小于0部分。程序如下:

[x,y]=meshgrid(-5:0.1:5);z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4);surf(x,y,z);shading interp;pause

%程序暂停 i=find(x<=0&y<=0);z1=z;z1(i)=NaN;surf(x,y,z1);shading interp;为了展示裁剪效果,第一个曲面绘制完成后暂停,然后显示裁剪后的曲面。5.4 隐函数绘图

ezplot函数绘制隐函数图形 5.5 低层绘图 5.6 图像和动画

第6章 MATLAB数值计算 本章重点:

课时安排:4课时 内容安排:

第7章 MATLAB符号计算 本章重点:

课时安排:2课时 内容安排:

第8章MATLAB图形用户界面本章重点:

课时安排:2课时 内容安排:

第10章Simulink

本章重点:

课时安排:6课时 内容安排:

第二篇:《Matlab语言》实验四

实验

四、Matlab的程序设计

(一)实验目的

1.掌握利用if语句实现选择结构的方法。

2.掌握利用switch语句实现多分支选择结构的方法。3.掌握利用for语句实现循环结构的方法。4.掌握利用while语句实现循环结构的方法。5.掌握Matlab函数的编写及调试方法。

(二)实验环境

1.计算机

2.MATLAB7.0集成环境

(三)实验内容

1、编写一个函数,计算下面函数的值,给出标量x的值,调用该函数后,返回y的值。function y=myfun1(x)sinx,y(x)x,x6,x00x3x3

选择一些数据测试你编写的函数。function [y]=myfun1(x)if x<=0

y=sin(x);elseif x>0&x<=3 y=x;elseif x>3 y=-x+6;End 结果: >> x=5;>> [y]=myfun1(x)y = 1

2、编写一个函数求向量x中元素的平均值、最大值、最小值、均方根值。

function [m_x,max_x,min_x,rms_x]=myfun2(x)方均根值(Root Mean Square)的计算公式为:

rms1NNi1xi2

用下面数据测试你写的函数:

function [m_x,max_x,min_x,rms_x]=myfun2(x)%求平均值

sum_x=sum(x);%向量元素求和

[m,n]=size(x);%最好用n=length(x);m_x=sum_x/n;

%求最大值 采用逐个比较方式 if x(1)>x(2)max_x=x(1);else

max_x=x(2);end for k=3:n

if max_x

else

max_x=max_x;%可省略

end end

%求最小值

if x(1)

min_x=x(2);end

for k=3:n

if min_x>x(k)

min_x=x(k);

else

min_x=min_x;%可省略

end end

%求均方根值 sum_x2=0;for k=1:n

sum_x2=sum_x2+x(k).^2;rms_x=sqrt(sum_x2/n);end m_x;max_x;

min_x;

rms_x;%按照函数值行(1)x=sin(0:0.01:6*pi)运行结果:>> x=sin(0:0.01:6*pi);>> [m_x,max_x,min_x,rms_x]=myfun2(x)m_x =-1.1256e-007 max_x = 1.0000 min_x =-1.0000 rms_x = 0.7071(2)x=rand(1,200),得到的x为200个(0,1)之间均匀分布的随机数。>> x=rand(1,200);>> [m_x,max_x,min_x,rms_x]=myfun2(x)m_x = 0.5231 max_x = 0.9994 min_x = 0.0056 rms_x = 0.5869

3、编写求解方程axbxc0的根的函数(这个方程不一定为一元二次方程,因a、b、c的不同取值而定),这里应根据a、b、c的不同取值分别处理,有输入参数提示,当a0,b0,c~0时应提示“为恒不等式!”。并输入几组典型值加以检验。2M文件: disp('关于方程ax^2+bx+c=0')a=input('请输入系数a=');b=input(' b=');c=input(' c=');if a==0&&b==0

if c==0

disp('解为全体实数');

else

disp('为恒不等式!');

end else P=[a,b,c];

x=roots(P)end

disp('关于方程ax^2+bx+c=0')a=input('请输入系数a=');b=input(' b=');c=input(' c=');if a==0&&b==0

if c==0

disp('解为全体实数');

else

disp('为恒不等式!');

end else P=[a,b,c];x=roots(P)end

工作空间测试: 关于方程ax^2+bx+c=0 请输入系数a=2 b=4 c=6 x =-1.0000 + 1.4142i-1.0000-1.4142i

4、输入一个百分制成绩,要求输出成绩等级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)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

g=input('请输入成绩');

if g<0||g>100

disp('错误,输入的成绩应为0~100间的数')

else

g=fix(g/10);

switch g

case {10}

disp('A+');

case {9} disp('A');

case {8} disp('B');

case {7}

disp('C');

case {6}

disp('D')

otherwise

disp('E');

end5、利用for循环语句编写计算n!的函数程序,取n分别为-89、0、3、5、10验证其正确性(输入n为负数时输出出错信息)。n=input('请输入n=');

if n<0

disp('错误,n取值必须为正数');

else y=1;

for i=1:n y=y*i;

end

disp('n!=');disp(y)

测试: 请输入n=6 n!= 720

6、Fibonacci数组的元素满足Fibonacci规则:现要求该数组中第一个大于10000的元素。

a(1)=1;a(2)=1;

k=3;

a(k)=a(k-1)+a(k-2);

while a(k)<10000 k=k+1;

a(k)=a(k-1)+a(k-2);

测试: >> ak=a(k)ak =

ak2akak1,(k1,2,);且a1a21。10946 

27、根据6112122132......1n,求的近似值。

2要求:(1)分别采用for循环结构以及向量法来编程实现,比较两种方法程序运行时间;(2)当n分别取100、1000、10000时,结果是多少? n=[100 1000 10000];

for j=1:3 y=0;k=n(j);

for i=1:k y=y+1/i/i;

end

pai=sqrt(6*y);disp('n=');

disp(n(j));

disp('π的近似值为');

disp(pai);结果: n= 100 π的近似值为 3.1321 n= 1000 π的近似值为 3.1406 n= 10000 π的近似值为 3.1415

(四)实验要求

1、熟练操作MATLAB7.0运行环境;

2、自主编写程序,必要时参考相关资料;

3、实验前应写出程序大致框架或完整的程序代码;

4、完成实验报告。

(五)实验报告要求

见实验一。

思考题

1、M文件分为哪两类?这两类M文件的区别是什么? 答:分为命令文件和函数文件

1)函数文件一般都要带参数 , 都要有返回结果 , 而命令文件没有参数与返回结果 2)函数文件的变量是局部变量 , 运行期间有效 , 运行完毕就自动被清除 , 而命令文件的变量是全局变量 , 执

行完毕后仍被保存在内存中

3)函数文件要定义函数名 , 且保存该函数文件的文件名必须是函数名.m。M 函数文件可以有多个因变量和多

个自变量 , 当有多个因变量时用[ ] 括起来。

2、有一分数序列:

1, 3, 5, 8, 1321

22358, 13, 编写一段程序,求前16项的和。

a=2.0;b=1.0;c=a/b;

for 1:16 {b=a;a=a+b;

d=(a+b)/a;c=c+d;}

 

第三篇:Matlab应用课程设计

课程设计名称:Matlab应用课程设计

课程设计题目:题目(如:Matlab运算与受控源电阻电路分析)

初始条件:

1.Matlab7.0以上版本软件;

2.课程设计辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应用”、线性代

数及相关书籍等;

3.先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类相关课程等。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

1.课程设计时间:1.5周,分散;

2.课程设计内容:根据指导老师给定的7套题目,按规定选择其中1套完成;

3.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设

计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表等),并对实验结果进行分析和总结。具体设计要求包括:

① 初步了解Matlab、熟悉Matlab界面、进行简单操作;

② MATLAB的数值计算:创建矩阵、矩阵运算、多项式运算、线性方程组、数值统计;

③ 基本绘图函数:plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形标注、简单

颜色设定等;

④ 使用文本编辑器编辑m文件,函数调用;

⑤ 能完成简单的电路Matlab编程分析;

⑥ 按要求参加课程设计实验演示和答辩等。

4.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括:

① 目录;

② 与设计题目相关的理论分析、归纳和总结;

③ 与设计内容相关的原理分析、建模、推导、可行性分析;

④ 程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结;

⑤ 课程设计的心得体会(至少500字);

⑥ 参考文献(不少于5篇);

⑦ 其它必要内容等。

时间安排:1.5周(分散进行)

指导老师:电信1104李景松祝立华

电信1105祝立华阙大顺

电信1106阙大顺李景松

第四篇:语言应用

1、下面是某青年给某杂志社编辑写的一封信,其中有用词不当、语言啰嗦的毛病,请找出毛病并加以改正。

××编辑:

您好!

我经常拜读你社出版的杂志,受益匪浅。于是我在百忙之中,写了自己的一孔之见。今寄去我的拙作,恳望您抽出时间用您的生花妙笔对我的作品加以斧正。如获指点,我定敬谢不敏。

此致

敬礼

2、下面是某校准备张贴在校门口的一份通知,其中有三处表达不当,请指出并修改。

各位来宾、各位校友:

① 今天是我校建校50周年的大喜日子,②感谢大家能在百忙

中莅临参加。③为了校庆活动的顺利进行,④各位务必先到

接待处签名,⑤然后领取纪念

册。⑥10点钟到礼堂参加庆祝

大会。⑦会后欢迎您在母校参

观。

××中学校庆会务组

×月×日

参考答案:删去“参加”,删去“务必”。“母校”改为“学校”。

3、大学毕业生王晓明想到一所中学应聘,得知这所学校的校长曾是自己父亲的学生,于是就写了封求职信寄给校长。下面是求职信的主要内容,其中有五处不当,请找出并加以修改。欣闻您曾是令尊的高

足,故冒昧打扰,请您在百忙中抽点时间看完我这封求职信以及随信惠寄的个人简历。到敝校求职,是我长久以来的夙愿。我想我绝对能胜任教学工作,并将在工作中回报您以惊喜。

参考答案:(1)将“令尊”改为“家

父”。

(2)将“惠寄”改为“敬寄”或“寄送”。

(3)将“敝校”改为“贵校”。

(4)将“夙愿”改为“愿望”或删去“长久以来”。

(5)删去“绝对”。

4、下面是某学生递交的一份检讨书,其中有多个语病,请找出四处不当之个并修改。

检讨书

尊敬的老师:

(1)您的批评教育,使我深刻地认识到了自己的问题。(2)一直以来,我一贯

第五篇:《Matlab语言》期末考试试题样例

一、填空题:(每空2分)大约20空

(注:写出完成要求所需的命令语句或题目给定语句执行后输出的结果)

1.Matlab中用来表示不确定值的变量是 NaN ;默认变量i表示 虚数单位。

2.Matlab中符号

;(分号)可以使命令行不显示运行的结果,表示该行为注释行的符号为 %(百分号)。

3.Matlab将工作空间所有变量保存在默认目录下的命令是

Save。(命令复习)

4.骰子会掷出1到6的随机数字,用函数rand和取整函数(Important)模拟骰子某次投掷出的数字的命令为 ceil(6*rand),模拟两个骰子某次投掷的数字组合之和情况的命令为。

5.生成一个含有10个元素的行向量x,其元素在[-1,1]之间均匀分布的的命令为 x=2*rand(1,10)-1,使用向量x的后5个元素作为对角线元素生成对角阵A的命令为 A=diag(x(end-4:end)),将A的主对角线下方的元素(不含主对角线)全部填充为2014的命令为 B=ones(5);2014*B-triu(B)+A

16.为函数x10tat2分布定义内联函数命令是,定2义匿名函数的命令是

7.在循环结构中使用 break 语句可以终止当前循环。8.Matlab用于绘制统计直方图的命令是 hist ;用于绘制y轴为对数坐标的单对数坐标图的命令为 semilog。

二、解答题:大约七道题目

1.在[0,2]区间上绘制如下图所示的sin(x)与sin(x2)的曲线,并如图为图像添加标题以及为坐标轴添加标注。

Figure of sin(x)and sin(x2)10.50-0.5-10246MagnitudeAngle

2.绘制上面曲面的图形(提示:该曲面由上下两部分组成:)

z2x22y2, x[2,2], y[1,1]

3.创建命令式的M文件计算圆形的面积S,提示用户输入圆形的半径r,并输出圆形的面积。(注意输入输出都要对用户添加一定的提示语)%Function Circle

4.请利用matlab的符号工具箱做下面的运算,并写出相应的命令。(1)求极限Llimx0(1x)e;(2)求积分:x1x0sinx2dx; xSyms x;f=((1+x)^(1/x)-exp(1)/x;limit(f,x,0)

下载《MATLAB语言及其应用》教案word格式文档
下载《MATLAB语言及其应用》教案.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    Matlab在控制工程中的应用

    Matlab在控制工程中的应用 摘要: 简要介绍MATLAB软件及其控制系统工具箱的功能,并通过具体实例说明MATLAB软件在《机械控制工程基础》课程教学中的优越性,从多方面探讨在教学过......

    Matlab 与线性代数教案

    Matlab 与线性代数 一、 Matlab 入门: 1. 启动、退出、运行: 2. 窗口介绍: 3. 基本符号: =:赋值符号 [ ]:数组定义符号 , 区分列 函数参数分隔符 ; 区分行 取消运行显示 % 注释标......

    MATLAB仿真技术实验教案

    《MATLAB仿真技术》 实验教案 实验一 实验名称:熟悉Matlab交互工作界面 一、实验目的 1、熟悉Matlab各种工作界面的操作要旨 2、掌握Matlab的基本操作命令 二、实验步骤 1、......

    MATLAB实验教案5篇

    实验一离散系统的时域分析和复频域分析 1.实验目的 (1)掌握在时域求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)通过实验判断系统稳定性 (4)掌握利用Z变换对系统进行复频......

    MATLAB在电磁场教学中的应用

    MATLAB在电磁场课程中的应用 摘要:电磁场课程理论性强,概念抽象,需要较强的多维空间想象能力和逻辑思维能力,不能直观的进行观察和研究,难以很好地掌握。文中简要介绍了MATLAB语......

    《MATLAB及应用》课程教学改革探讨论文

    课程是指学校学生所应学习的学科总和及其进程与安排课程。下面是小编为你带来的《MATLAB及应用》课程教学改革探讨论文 ,欢迎阅读。摘要:面对质量工程建设,《MATLAB及应用》......

    Matlab学习心得系列——001. 先从C语言谈起

    Matlab学习系列 ——先从C语言谈起 前言 Matlab作为最强大的数学建模软件非常有必要系统的学习一下,目前我大概算是【粗略地懂些Matlab,很多语法需要现用现查】的水平,所......

    MATLAB原理应用实验报告第三章(符号运算)[5篇]

    《MATLAB原理及应用》实验报告 的符号运算 第三章 MATLAB一.实验目的 1、掌握符号对象的命名方法 2、掌握符号表达式的基本运算 3、掌握符号级数的求法 二.实验设备 计算机、M......