第二讲 Matlab语言程序设计
合集下载
《MATLAB基础与编程入门》课件第2章

是一行n列的二维数组(n表示元素的个数),如果需要创 建列向量,即n行一列的二维数组(n表示元素的个数), 则需要使用分号作为元素与元素之间的间隔或者直接使 用转置运算符“'”,参见例子2-6。
例子2-6 创建列向量。 直接输入元素的方法创建列向量 >> A = [1;2;3;4;5;6] A= 1 2 3 4 5 6
例子2-3 使用冒号运算符创建向量。 在命令行窗口中键入:
>> x = 1:0.01:1.1 x=
Columns 1 through 6 1.0000 1.0100 1.0200 1.0300 1.0400 1.0500
Columns 7 through 11 1.0600 1.0700 1.0800 1.0900 1.1000
第二种创建向量的方法可以利用运算符——“:”,参 阅例子2-2。
例子2-2 利用冒号运算符创建向量。 在命令行窗口中键入:
>> x = 1:10
x=
1 2 3 4 5 6 7 8 9 10
>> whos
Name
Size
Bytes Class
x
1x10
80 double array
在例子2-2中使用冒号运算符创建了具有10个元素的向量。 利用冒号运算符创建向量的基本语法如下:
2.2 创 建 向 量
从编程语言的角度上看,向量也就是一维数组。在 MATLAB中创建向量可以使用不同的方法,最直接也最简单的 方法就是逐个输入向量的元素,见例子2-1。
例子2-1 利用逐个输入元素的方法在MATLAB中创建向量。
在命令行窗口中键入:
>> x = [1 3 pi 3+5i]
例子2-6 创建列向量。 直接输入元素的方法创建列向量 >> A = [1;2;3;4;5;6] A= 1 2 3 4 5 6
例子2-3 使用冒号运算符创建向量。 在命令行窗口中键入:
>> x = 1:0.01:1.1 x=
Columns 1 through 6 1.0000 1.0100 1.0200 1.0300 1.0400 1.0500
Columns 7 through 11 1.0600 1.0700 1.0800 1.0900 1.1000
第二种创建向量的方法可以利用运算符——“:”,参 阅例子2-2。
例子2-2 利用冒号运算符创建向量。 在命令行窗口中键入:
>> x = 1:10
x=
1 2 3 4 5 6 7 8 9 10
>> whos
Name
Size
Bytes Class
x
1x10
80 double array
在例子2-2中使用冒号运算符创建了具有10个元素的向量。 利用冒号运算符创建向量的基本语法如下:
2.2 创 建 向 量
从编程语言的角度上看,向量也就是一维数组。在 MATLAB中创建向量可以使用不同的方法,最直接也最简单的 方法就是逐个输入向量的元素,见例子2-1。
例子2-1 利用逐个输入元素的方法在MATLAB中创建向量。
在命令行窗口中键入:
>> x = [1 3 pi 3+5i]
第二讲 MATLAB基础PPT课件

3、MATLAB常用用户文件格式
• M文件:程序文件。文件扩展名为.m。可在File 菜单中创建或打开。也可从历史命令窗口生成。
• MAT文件:数据文件。文件扩展名为.mat。用 于保存工作空间中(内存中)的数据变量。可 用“save”命令生成。
• FIGURE文件:图形文件。文件扩展名为.fig。 可由MATLAB的绘图命令生成,也可在File菜 单中创建或打开。
save — 将全部变量保存到数据文件中 save a b— 将变量a,b保存到数据文件中 save a b-append— 将变量a,b添加到中 clear —— 从内存中删除变量 clear a b —— 从内存中删除变量a,b (clc —— 清屏 ) who —— 显示内存中的变量(只显示变量名) load —— 将变量从 .mat 数据文件中装入内存
Current Directory Browser 窗口
• Workspace Browser(工作空间浏览器窗口)
也是在左上方,可与目录浏览器窗口切换。又称内存浏 览器窗口。用于显示MATLAB工作空间中所有变量的变量名、 数据结构、数据类型、大小和字节数。并可以对变量进行观 察、编辑、提取、保存和图形显示等操作。
Clear Command History % 清除历史命令窗口中的内容
Clear Workspace
% 清除工作空间中的内容
• Desktop: Undock Workspace % 将工作空间窗口从主界面中分离
…ቤተ መጻሕፍቲ ባይዱ
Desktop Layout
% 主界面布局
Command Window % 打开(或关闭)命令窗口
在左上方。可显示当前目录下的M(程序)、 FIG(图形)、 MAT(数据)等文件信息,如文件 类型、文件名、最后修改时间等,并可复制、编辑 和运行M文件以及装载MAT数据文件。选中窗口中 列出的某个文件,单击鼠标右键,即可对其进行打 开、运行、装载等处理和创建、重命名、删除、复 制等常规操作。
第2章 MATLAB 语言程序设计基础

14
3.type — 可显示指定文件的 全部内容
• type myfile.m
• 与dos下的用法完全一样
2014-11-30
系统仿真与MATLAB---广东工业大学自动化学院
15
4.delete — 删除指定文件
• del abc — 删除当前目录下的abc文
件
• del c:\matlab\aaa.m
MATLAB----
2014-11-30
广东工业大学自动化学院
21
• path(path,’c:\mydir’) 将根目录下 的 mydir 临时纳入搜索路径 • 可将你需要的目录永久纳入 matlab搜索路径 打开c:\matlab\matlabrc.m文件
在所有搜索路径后加上 ‘c:\mydir\;’,…
2014-11-30 系统仿真与MATLAB---广东工业大学自动化学院
29
MATLAB 语言的变量名规则
由一个字母引导,后面可以为其他字符 区分大小写 Abc ABc 有效 MYvar12, MY_Var12 和 MyVar12_ 错误的变量名 12MyVar, _MyVar12
其他数据类型
uint8,常用于图像表示和处理,8位 int8( ), int16( ), int32( ),uint16( ), uint32( )
2014-11-30
系统仿真与MATLAB---广东工业大学自动化学院
31
符号型变量数据类型
符号型,sym(A), 常用于公式推导
变量声明
采用变精度函数求值
【例2-1】求出自然对数底 的前300位有效数字
第二章 MATLAB语言的使用与程序设计

命令历史窗口:显示已执行过的命令。在窗口的某一命令上单击鼠标 右键,会弹出菜单,对所选命令进行操作。
当前路径窗口:提供了当前路径文件的操作
演示
MATLAB的搜索路径
搜索路径是一系列文件路径的组合。当程序和命令执行 时, MATLAB 在搜索路径中查找程序或命令运行所需的函数文 件。 MATLAB 在执行搜索时按照规定的顺序。如:在命令窗口 中输入example,MATLAB将按下面的步骤来处理: 1.检查example是不是一个变量,如果是,则返回变量的值;
本章重点:
MATLAB工作环境掌握 主要文件类型及常用命令
矩阵、变量、表达式、常用函数
MATLAB语言的基本语句结构及程序调试方法
一、MATLAB系统简介
MATLAB的主要组成部分
1.MATLAB语言体系:MATLAB 语言是一种以矩阵运算为基础的高级 语言,具有条件控制、函数调用、数据结构、输入输出及面向对象等 程序语言特征,可以进行程序设计。
6 )对矩阵的特殊操作: rot90(a) 将 a 矩阵旋转 90 度、 fliplr(a) 将 a 矩阵的列反序、 flipud(a) 将 a 矩阵的行反序、diag(a) 将向量 a 构 成对角阵( 元素放在主对角线上 )---a 为向量、triu(a) 提取矩阵的上 三角部分、reshape改变矩阵的阶数,按列的顺序重排。
逻辑运算符: 在MATLAB中,逻辑运算符有3种。 & 逻辑与。当运算双方对应元素都为非零时; 结果为1,否则,结果为0。
| 逻辑或。当运算双方对应元素有一个为非零 时;结果为1,否则,结果为0。
~ 结果为0。 逻辑非。当元素的值为 0 时,结果为 1 ,否则,
例: a=[1 0 3;0 –1 6] , b=[-1 0 0;0 5 0.3] ,计算两矩
《MATLAB程序设计教程(第二版)》第2章 MATLAB矩阵及其运算

例2-5 将101~125等25个数填入一个5行5列的表格中,
使其每行每列及对角线的和均为565。 M=100+magic(5)
(2) 范得蒙矩阵
范得蒙(Vandermonde)矩阵最后一列全为1,倒数 第二列为一个指定的向量,其他各列是其后列与
倒数第二列的点乘积。可以用一个指定向量生成
一个范得蒙矩阵。在MATLAB中,函数vander(V) 生成以向量V为基础向量的范得蒙矩阵。例如, A=vander([1;2;3;5])即可得到上述范得蒙矩阵。
对于比较大且比较复杂的矩阵,可以为它专门 建立一个M文件。下面通过一个简单例子来说明
如何利用M文件创建矩阵。
例2-2 利用M文件建立MYMAT矩阵。
(1) 启动有关编辑程序或MATLAB文本编辑器,并 输入待建矩阵:
(2) 把输入的内容以纯文本方式存盘(设文件名为
mymatrix.m)。 (3) 在MATLAB命令窗口中输入mymatrix,即运 行该M文件,就会自动建立一个名为MYMAT的 矩阵,可供以后使用。
是维数为0。
4.改变矩阵的形状
reshape(A,m,n)函数在矩阵总元素保持不变的前提下,
将矩阵A重新排成m×n的二维矩阵。
注意:
在MATLAB中,矩阵元素按列存储,即首先存储矩
阵的第1列元素,然后存储第2列元素,……,一直 到矩阵的最后一列元素。reshape函数只是改变原矩 阵的行数和列数,即改变其逻辑结构,但并不改变 原矩阵元素个数及其存储结构。
load 文件名 [变量名表] [-ascii]
其中,文件名可以带路径,但不需带扩展名.mat,
命令隐含一定对.mat文件进行操作。变量名表中 的变量个数不限,只要内存或文件中存在即可,
第二讲 matlab语言的基本使用方法PPT课件

>> a=1,b=2
a=
1
b=
2
45
>> clear a b
>> a ??? Undefined function
or variable 'a'.
46
第五节 复数
MATLAB的每一个元 素都可以是复数,实数 是复数的特例。
47
z=a+b*i 或
z=a+b*j
48
例: >> a=3+5.2i a= 3 + 5.2i
3、复数运算函数 4、圆整和求余函数
52
sin
sinh
三 asin
角 函
cos
数 cosh
acos
53
tan
三 atan 角 cot 函 acot 数 sec
csc 54
三角函数以弧度为单位计算 例如: sin(1)表示的不是sin1° 而是sin57.28578°
55
exp
指 log
数 log10
>>x=1+2 x= 3
17
一个命令行输入一条命 令,命令行以回车结束。
>> a=2
18
一个命令行也可以输入 若干条命令,各命令之间 以逗号或分号分隔。
>> a=2,b=3; >> a=2;b=3;
19
MATLAB基本算术运算符
幂次方 ^
乘*
除 /或\
加+
减-
20
系统规定,MATLAB的求值次序和 一般的数学求值次序相同,即:
第四节 变量
1.变量的命名规则: (1)变量名必须以英文 字母开头,由字母、数字 和下划线组成,不能包含 空格和标点符号。
第2章__MATLAB程序设计PPT课件

例2-6 某商场对顾客所购买的商品实行打折 销售,标准如下(商品价格用price来表示):
price<200 没有折扣 200≤price<500 3%折扣 500≤price<1000 5%折扣 1000≤price<2500 8%折扣 2500≤price<5000 10%折扣 5000≤price 14%折扣 输入所售商品的价格,求其实际销售价格。
for m=100:999
m1=fix(m/100);
%求m的百位数字
m2=rem(fix(m/10),10); %求m的十位数字
m3=rem(m,10);
%求m的个位数字
if m==m1*m1*m1+m2*m2*m2+m3*m3*m3
disp(m)
end
end
153 370 371 407
例2-9 已知 y=1+1/3+1/5+…,当n=10000时, 求y的值。 y=0; n=10000; for i=1:n y=y+1/(2*i-1); end y
2.3 程序控制结构
2.3.1 顺序结构 1.数据的输入 从键盘输入数据,则可以使用input函数来进 行,该函数的调用格式为:
A=input(提示信息,选项); 其中提示信息为一个字符串,用于提示用户 输入什么样的数据。
如果在input函数调用时采用's'选项,则允许 用户输入一个字符串。例如,想输入一个人 的姓名,可采用命令:
2.3.3 循环结构
1.for语句 for语句的格式为: for 循环变量=表达式1:表达式2:表达式3
循环体语句
end 表达式1:循环变量初值 表达式2:步长,为1时,表达式2可以省略。 表达式3:循环变量终值
第二讲 Matlab语言程序设计

MATLAB 保留常量
常 量 ans pi eps inf NaN i,j lasterr lastwarn 描 述 用于结果的缺省变量名 圆周率 浮点数相对误差限 无穷大,如 1/0 不定量,如 0/0 或 inf/inf i=j= 1 存放最新一次的错误信息 存放最新的警告信息
6
3.1.1 变量、常量与赋值语句结构
31
关系运算与逻辑运算函数
1) find: 寻找逻辑值的向量元素下标 2) all: 逻辑条件全部 3) any: 逻辑条件任何一个 4) exist: 检查某变量是否存在 5) isnan: 检查非数值量 6) finite: 探测无穷大
7) isempty: 探测空
8) isstr: 探测字符串 9) strcmp: 比较字符串
26
主要内容
基本数据类型 基本运算与输入输出 程序流程语句 文件编写与调试 编程技巧
27
3.2.1 代数运算
假定有两个矩阵A和B 矩阵转置 >> B=A’ 矩阵加减运算(维数相同的两个矩阵,或其中之一为标量)
>> A+B
>> A+2
A-B
A-2
矩阵乘法(维数匹配的两个矩阵,或其中之一为标量) • 若A为m×n矩阵,B为n×p矩阵,则C=A*B为m×p矩阵。 矩阵除法 • 两种矩阵除法运算:\和/,分别表示左除和右除。如果A 矩阵是非奇异方阵,则A\B和B/A运算可以实现。
14
3.1.2 矩阵的MATLAB表示
——特殊矩阵
伴随矩阵:
生成伴随矩阵的函数是compan(p),其中p是一个多项式
的系数向量,高次幂系数排在前,低次幂排在后。 例: 求多项式 x 3 - 7 x + 6 的伴随矩阵,可用命令 >> A=[1,0,-7,6]; >> compan(A) ans= 0 -7 6 1 0 0 0 1 0
常 量 ans pi eps inf NaN i,j lasterr lastwarn 描 述 用于结果的缺省变量名 圆周率 浮点数相对误差限 无穷大,如 1/0 不定量,如 0/0 或 inf/inf i=j= 1 存放最新一次的错误信息 存放最新的警告信息
6
3.1.1 变量、常量与赋值语句结构
31
关系运算与逻辑运算函数
1) find: 寻找逻辑值的向量元素下标 2) all: 逻辑条件全部 3) any: 逻辑条件任何一个 4) exist: 检查某变量是否存在 5) isnan: 检查非数值量 6) finite: 探测无穷大
7) isempty: 探测空
8) isstr: 探测字符串 9) strcmp: 比较字符串
26
主要内容
基本数据类型 基本运算与输入输出 程序流程语句 文件编写与调试 编程技巧
27
3.2.1 代数运算
假定有两个矩阵A和B 矩阵转置 >> B=A’ 矩阵加减运算(维数相同的两个矩阵,或其中之一为标量)
>> A+B
>> A+2
A-B
A-2
矩阵乘法(维数匹配的两个矩阵,或其中之一为标量) • 若A为m×n矩阵,B为n×p矩阵,则C=A*B为m×p矩阵。 矩阵除法 • 两种矩阵除法运算:\和/,分别表示左除和右除。如果A 矩阵是非奇异方阵,则A\B和B/A运算可以实现。
14
3.1.2 矩阵的MATLAB表示
——特殊矩阵
伴随矩阵:
生成伴随矩阵的函数是compan(p),其中p是一个多项式
的系数向量,高次幂系数排在前,低次幂排在后。 例: 求多项式 x 3 - 7 x + 6 的伴随矩阵,可用命令 >> A=[1,0,-7,6]; >> compan(A) ans= 0 -7 6 1 0 0 0 1 0