第二章Matlab基础知识
第二章 MATLAB基础
3 )向量是一个数学量,一般高级语言中也未引入, 它可视为矩阵的特例。从MATLAB的工作区可以查 看到:一个 n 维的行向量是一个 1 × n 阶的矩阵,而 一个n维的列向量则当成n×1阶的矩阵。 如A=[1 2 3 4]就是一个4维的行向量。也可看成是 一个一维数组,还要看成是一个1×4阶的矩阵。
3
数据类型转换函 数 uint8 uint16 uint32 uint64 int8 int16 int32 int64
说 明 无符号8位整数 无符号16位整数 无符号32位整数 无符号64位整数 有符号8位整数 有符号16位整数 有符号32位整数 有符号64位整数
字节数 1 2 4 8 1 2 4 8
22
【例 2.8】变量赋值 >> a=3.14 a= 3.1400 >> class(a) %函数class用来是判断变量数据类 型的 ans = double %变量a是双精度的浮点型数据
23
>> a='hello!' hello! >> class(a) ans = char
%变量a重新赋值
13
>> whos Name Size a 1x1 x 1x1 y 1x1 z 1x1
Bytes Class Attributes 16 double complex 4 int32 4 int32 8 int32 complex
14
2.2MATLAB的常量及变量
2.2.1常量 常量是程序语句中取不变值的那些量。如表达式 y=0.314*x,其中就包含一个0.314这样的数值常数,它 便是一个数值常量。而在另一表达式s='Hello'中,单引 号内的英文字符串“Hello”则是一个字符串常量。
matlab第2章
2. MATLAB变量的显示
任何MATLAB语句的执行结果都可以在屏幕上显示,同时赋值
给指定的变量。没有指定变量பைடு நூலகம்,赋值给默认变量名ans,数据
的显示格式由format命令控制。
Format只影响结果的显示,不影响计算与存储。
MATLAB以双字长浮点数(双精度)执行所有的运算。
22
2.4.1.2 字符串
a在前面未赋值时,非法命令。
19
1. 变量命名规则 (1)变量名区分字母的大小写,A与a表示不同的变量。 (2)变量名必须以英文字母开头,之后可以使用字母、数字、下画线, 但不能使用空格和标点符号。 (3)变量名长度不能超过31个字符,超过部分将被忽略
(4)某些常量也可以作为变量使用。
如 i 在MATLAB中表示虚数单位,但也可以作为变量使用。
5
3.Debug主菜单项 (1)Open M-Files when Debugging:调试时打开M文件 (2)Step:单步调试程序
(3)Step In:单步调试进入子程序
(4)Step Out:单步调试从子程序跳出 (5)Continue:程序执行到下一断点 (6)Clear Breakpoints in All Files:清除所有打开文件中的断点 (7)Stop if Errors/Warnings:在程序出错或报警处停止往下执行
8
5.Window主菜单项 (1)Close All documents:关闭所有文档 (2)0 Command Window:选定命令窗口为当前活动窗口 (3)1 Command History:选定历史命令窗口为当前活动窗口 (4)2 Current Directory:选定当前路径窗口为当前活动窗口
第2章 MATLAB的基础知识
a=[1 2 1;2 2 1;2 1 2]; b=[1;2;3]; a/b %矩阵右除
运行程序,得到结果:
??? Error using ==> mrdivide Matrix dimensions must agree.
重新输入语句
a\b
%矩阵左除 ans = 1.0000 -0.3333 0.6667
运行程序,得到结果:
c= 0 0 1 1 1 0
说明 对于复数运算,“= =”与“~ =”运算,既比较实部, 又比较虚部。而其他运算仅比较实部。关系运算同样也可用于 常量与矩阵的比较,在这种情况下,该常量与矩阵的每一个元 素进行比较,其结果是一个与矩阵同维数的0、1矩阵。
逻辑操作符
逻辑操作符 说 明 相对应函数
-0.1667 0 0
(3)矩阵特征值运算
矩阵条件数cond( ) 矩阵的秩rank() 矩阵特征值eig ( )
矩阵范数norm( ) 矩阵的迹trace ( ) 矩阵奇异值svd ( )
例2-7 分别计算矩阵a的有关特征参数。输入以下 MATLAB语句
a=[1 2 3;4 5 6;7 8 0] [cond(a),norm(a),rank(a)]
2.MATLAB工作环境
图形窗口“Figure”
M文件窗口
3.MATLAB的M文件
所谓M文件,就是用户把要实现的命令写在一个 以.m为扩展名的文件中
M文件有两种格式(统称为M文件) 函数式M文件 程序式M文件 程序式M文件用于把很多需要在命令窗口输入的命 令放在一起,就是命令的简单叠加 函数式M文件用于把重复的程序段封装成函数供用 户调用。
&
|
逻辑与
逻辑或
and(a,b)
第二章_MATLAB语言基础_第1节-赵亦欣
第2章 MATLAB语言基础
【例2.8】 表达式语句。 >> sqrt(2)*exp(-1*3) ans = 0.0704 >> 8*3+6/4 ans = 25.5000
表达式语句 运算结果 执行下一条 表达式语句 后,结果将 被刷新
第2章 MATLAB语言基础
第2章 MATLAB语言基础
2.1 基础知识
2.1.3 变量和语句
变量名区分字母大小写;不超过31个字 符,31个以后的字符将被忽略,字符之间不 能有空格;必须以字母打头,之后可以是任意 字母、数字或下画线;不允许使用标点符号。
第2章 MATLAB语言基础
MATLAB的一条命令行就是一条语句,
格式与书写数学表达式相近。 在命令窗输入语句,该语句可被解释运 行并给出运行结果。
第2章 MATLAB语言基础
(1)永久变量不能用clear命令清除; (2)永久变量不响应Who, Whos命令; (3)永久变量可以等于表2-1中的值; (4)被赋值的永久变量,在clear命令清除内 存或命令窗关闭再打开后,将被设为默认值;
(5)允许被0除。
第2章 MATLAB语言基础
2.1 基础知识
第2章 MATLAB语言基础
【例2.11】复数矩阵的生成及运算。 >> A=[1 2; 3 4]+[5 6; 7 8]*I % 复数矩阵的输入。 分别由实部矩阵和虚部矩阵组合而成 A= 1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 7.0000i 4.0000 + 8.0000i >> B=[1+2i 3+4i; 5+6i 7+8i] % 复数矩阵的输入。 直接由复数构成矩阵 B= 1.0000 + 2.0000i 3.0000 + 4.0000i 5.0000 + 6.0000i 7.0000 + 8.0000i >> C=A*B % 复数矩阵相乘。 复数矩阵乘法, 1.0e+002表 示标量100,矩阵运算中,存在直 C= 角坐标和极坐标之间的转换 1.0e+002 * -0.3500 + 0.4900i -0.5100 + 0.7700i -0.3900 + 0.7700i -0.5500 + 1.2100i
MATLAB基础知识及常用功能介绍
MATLAB基础知识及常用功能介绍第一章:MATLAB简介及安装MATLAB是一种强大且广泛应用的数值计算软件,它提供了许多用于科学计算和工程设计的功能。
MATLAB是矩阵实验室(Matrix Laboratory)的缩写,其主要特点是在操作矩阵和各种数学函数上非常高效。
要安装MATLAB,只需下载安装程序然后按照提示进行安装即可。
第二章:MATLAB基本操作在MATLAB中,可以使用各种命令来进行基本的数学运算,例如加减乘除、幂运算等。
此外,还可以定义变量、矩阵和向量,并进行复杂的数学运算。
提示:使用分号可以取消输出结果。
第三章:MATLAB脚本和函数脚本是一系列MATLAB命令的集合,可以保存并重复执行。
函数是一段具有输入和输出的可执行代码块,可以通过函数名和输入参数来调用。
编写脚本和函数有助于提高代码的可读性和可重复性。
第四章:MATLAB图形化界面MATLAB提供了图形化界面(GUI)工具箱,用于创建交互式应用程序和图形用户界面。
利用GUI工具箱,可以通过拖拽和放置的方式创建界面,并通过设置属性和回调函数实现交互功能。
第五章:MATLAB数据可视化MATLAB拥有丰富的数据可视化功能,可以将数据以各种图表形式呈现出来,如散点图、柱状图、曲线图等。
此外,还可以对图表进行自定义设置,如添加图例、调整轴范围、添加标题等。
第六章:MATLAB图像处理MATLAB提供了强大的图像处理工具箱,可以用于图像的滤波、锐化、模糊、边缘检测等操作。
此外,还可以进行图像的变换和特征提取,用于图像识别和分析。
第七章:MATLAB信号处理MATLAB信号处理工具箱提供了一系列用于处理、分析和合成信号的函数和工具。
可以进行信号滤波、频谱分析、时域分析等操作。
此外,还可以进行数字滤波器设计和滤波器实现。
第八章:MATLAB数学建模MATLAB是数学建模的重要工具,可以用于建立各种数学模型并进行仿真和优化。
可以利用MATLAB解方程、求解微分方程、进行符号计算等,用于解决各种实际问题。
第二章 matlab基础知识
rand(m)
rand(m,n)
生成m阶[0,1]区间均匀分布的随机阵
生成m行n列[0,1]区间均匀分布的随机阵
一、MATLAB的数据类型
矩阵元素的引用
格式 X(m,:) X(:,n) X(m,n1:n2)
说明 表示矩阵中第m行的元素 表示矩阵中第n列的元素 表示矩阵中第m行中第n1至n2个元素
一、MATLAB的数据类型
矩阵元素的修改
格式 D=[A;B C] A(:,n)=[ ] A(m,:)=[ ] A(m,n)=a A(m,:)=[a b …] A(:,n)=[a b …] 说明 A为原矩阵,B、C中包含要扩充的元素,D为扩充后的矩阵 删除A的n列 删除A的m行 分别表示对A的第m行第n列的元素赋值 对A的第m行赋值 对A的第n列赋值
冒号法:x=s1:n:s2,表示创建一个从s1开始到s2结束,数据
元素的增量为n的向量,n=1时可以简写为x=s1:s2 (例2.10)
一、MATLAB的数据类型
3、向量
向量的生成
利用MATLAB函数生成
linspace(s1,s2,n),表示创建一个从s1开始到s2结束, 包含n 个数据元素的向量(例2.11) linspace(s1,s2),表示创建一个从s1开始到s2结束, 包含100个 数据元素的向量 logspace (s1,s2,n)表示创建一个从10s1开始到10s2结束, 包 含n个数据元素的向量(例2.12) logspace (s1,s2)表示创建一个从10s1开始到10s2结束, 包含50 个数据元素的向量
MATLAB基础知识及使用方法
MATLAB基础知识及使用方法第一章:MATLAB简介与环境介绍1.1 MATLAB概述MATLAB是一种高级编程语言和数值计算环境,广泛应用于科学计算、工程设计、数据分析和算法开发等领域。
它提供了强大的数值计算工具和图形绘制功能,并有丰富的库函数和工具箱可供使用。
1.2 MATLAB环境介绍MATLAB的主要界面包括命令窗口、编辑器、工作区和命令历史等。
命令窗口用于交互式执行命令和脚本,编辑器用于编写和编辑脚本文件,工作区用于显示和管理变量,命令历史用于查看和管理执行过的命令。
第二章:MATLAB基本语法2.1 变量和数据类型在MATLAB中,变量可以通过简单的赋值来创建,并且不需要事先声明变量类型。
常见的数据类型包括数值类型(整数、浮点数)、字符类型和逻辑类型(布尔型)等。
MATLAB还提供了复数类型和矩阵类型,具有丰富的数值计算功能。
2.2 运算符和表达式MATLAB支持常见的数学运算符,如加减乘除、取余和乘方等。
此外,还提供了矩阵运算符和逻辑运算符,方便处理矩阵和逻辑表达式。
表达式可以由变量、常数和运算符组合而成,并且支持函数调用。
2.3 控制流程MATLAB提供了条件语句(if-else)、循环语句(for、while)和函数等控制流程结构,以实现不同的程序逻辑。
条件语句根据条件的真假执行不同的代码块,循环语句重复执行一段代码块,函数封装了一段可重复使用的代码。
第三章:MATLAB图形绘制3.1 二维图形绘制MATLAB提供了丰富的函数和工具箱,以绘制各种二维图形,如线图、散点图、柱状图和饼图等。
用户可以自定义图形样式、坐标轴刻度、图例和注释等,以满足不同的数据可视化需求。
3.2 三维图形绘制除了二维图形外,MATLAB还支持绘制三维图形,如曲面图和体积图等。
通过调整视角、设置颜色映射和光照效果,用户可以更直观地表达三维数据的特征和分布情况。
3.3 动态图形绘制MATLAB中的图形绘制功能不仅限于静态图形,还可用于生成动态图形。
MATLAB基础教程第2章
第二章 数组、矩阵及其运算
2.1 数组的创建和寻访
例2-2 一维数组的生成与访问
命令:X=rand(1,5) 命令:X(3) 命令:X([1 2 5]) 命令:X(1:3) 命令:X(3:end) 命令:X(3:-1:1) 命令:X(find(X>0.5)) 命令:X([1 2 3 4 4 3 2 1])
第二章 数组、矩阵及其运算
2.2 矩阵的运算
例2-6 矩阵的乘法(接着上面的例子) A*B 3*A
注意:矩阵相乘时要求A的列数等于B的行数
第二章 数组、矩阵及其运算
2.2 矩阵的运算
A/B(矩阵右除)表示的是方程X*B=A的解 A\B(矩阵左除)表示的是方程A*X=B的解
例2-7 矩阵的除法( 见教材P.23)
第二章 数组、矩阵及其运算
2.3 数组的运算
1、数组的基本运算
例2-8 ( 见教材P.25)
第二章 数组、矩阵及其运算
2.3 数组的运算
数组运算和矩阵运算指令对照表
数组运算 指令 A.’ A=s A+s,A-s s.*A s./A,A.\s A.^n A+B,A-B A.*B A./B B.\A 含义 非共轭转置,相当于conj(A’) 把标量s赋给A中每个元素 标量s分别于A的元素之和(差) 标量s分别于A的元素之积 S分别被A的元素除 A的每个元素自乘n次 对应元素相加(减) 对应元素相加(乘) A的元素被B的对应元素相除 (与上相同) A^n A+B,A-B A*B A /B B\A 方阵A自乘n次 矩阵和(差) 同内维矩阵相乘 A右除B A左除B S*A 标量s分别于A的元素之积 A’ 指令 共轭转置 矩阵运算 含义
第二章 数组、矩阵及其运算
MATLAB基础知识
历史指令窗 (Conmand History)
仿真技术
第二章 MATLAB基础
MATLAB7.0的操作桌面略有不同,其交互界面目录可点击桌面左下角 的[Start]弹出。
仿真技术
第二章 MATLAB基础
2.2.2 指令窗口(Command Window)
在指令窗口内执行的MATLAB主要操作有: 运行函数和输入变量 控制输入和输出 执行程序,包括M文件和外部程序 保存一段日志 打开或关闭其他应用窗口 各应用窗口的参数选择
仿真技术
第二章 MATLAB基础
2.3.2 指令窗操作
1.
运行函数和键入变量
在命令窗口的提示符“>>”下 ,可以直接输入变量。
例如要创建一个3 ×3矩阵,只须在命令窗口中输入: >>A = [1, 2, 3; 4, 5, 6; 7, 8, 10] 回车后,命令窗口出现: A= 1 2 3 4 5 6 7 8 10
Backspace 删去光标左边的字符
→
在当前行中右移光标
PageUp
前寻式翻阅当前窗中的 内容
Home 使光标移到当前行的首端
PageDown 后寻式翻阅当前窗中的 内容
【说明】利用以上操作可对指令窗中已输入的指令进行编辑。另外还 可结合历史指令窗完成指令的编辑。
仿真技术
第二章 MATLAB基础
仿真技术
第二章 MATLAB基础
2.4 m文件的编写与调试
2.4.2 m文件编写和运行
选中M文件编辑器下拉菜单项【 Debug:Run】,即可执行该文件。 如果文件有错误,则会停在出错的指令行上,并在指令窗中指出错 误的类型,和出错的位置。
第2章_MATLAB的基本操作
浮点数包括单精度(4个字节)和双精度(8个字 节),默认为双精度。
single :将其它类型的数据转换成单精度浮点数。 double :将其它类型的数据转换成双精度浮点数。
浮点数与其它类型数据运算表
operand single double int/uint char logical X single single single single single double single double int/uint double double
MATLAB数据类型
例:
MATLAB数据类型
细胞变量的定义
可以通过以下两种方式定义一个细胞变量:
用赋值语句直接定义; 由 cell 函数预先分配存储空间,然后对细
胞的每个元素逐个赋值。
MATLAB数据类型
MATLAB数据类型
细胞变量可以嵌套定义
MATLAB数据类型
细胞变量的元素的引用
MATLAB数据类型
str2num:将字符数组转换为
数值数组
abs,double,char按照 ASCII码 转换; num2str,int2str,mat2str,str2num 直接转换。
MATLAB数据类型
字符串的连接
水平连接:strcat 或 中括号中用逗号连接
在中括号中直接水平连 接,结果中包括原字符 串结尾处的空格。 用 strcat 连接,结果 中忽略原字符串结尾处 的空格。
把数字直接转换为字符 串,每个数字为一个独 立的字符串。
把数字取整后转换为字 符串,注意和 num2str 的区别。
把矩阵转换为一个字符 串,方括号、分号和空 格都是其元素。
MATLAB数据类型
第二章 MATLAB基础知识
2.2 数组及其运算
例 ascii_a=double(a) %将字符转换为相应的双精度值 ascii_a = Columns 1 through 13 84 104 105 115 32 105 115 32 97 110 32 101 120 Columns 14 through 19 97 109 112 108 101 46 例 char(ascii_a) %将双精度值转换为字符 ans = This is an example. 例 w=find(a>=‘a’&a<=‘z’); %查找所有小写字母的位置 ascii_a(w)=ascii_a(w)-32; %将小写字母ascii值转换为大写 char(ascii_a) %将双精度值转换为字符 ans = THIS IS AN EXAMPLE.
2.2 数组及其运算
2.2.2 数组的运算
运算 加 运算符 + 表达式 a+b
减 乘 除 幂 点乘 点除 点幂
*
/或\ ^ .* ./或.\ .^
a-b a*b
a/b或a\b a^b a .* b a ./ b或a.\b a.^b
2.2 数组及其运算
例 a=3 14 7 1 4 9 3 6 10 b=2 8 3 2 10 0 11 2 7 a+b ans= 5 22 10 3 14 9 14 8 17
2.2 数组及其运算
高维数组的创建
直接通过“全下标”元素赋值方式创建高维数组; 由若干个同样大小的低维数组组合成高维数组; 由函数ones、zeros、rand、randn直接创建标准
高维数组;
借助cat、repmat、reshape等函数构造高维数组。
Am
第2章MATLAB的基本语法课件
handmard
Handmard矩 rosser 阵
hankel hilb invhilb
Hankel矩阵 toeplize Hilbert矩阵 vander
Hilbert逆矩 wilkinson 阵
魔方矩阵
Pascal矩阵
经典的对称 特征值测试 矩阵 Toeplize矩阵
Vanderm阵
此外,常用的函数还有reshape(A,m,n),它在 矩阵总元素保持不变的前提下,将矩阵A重新 排成m×n的二维矩阵。
4. 建立大矩阵 大矩阵可由方括号中的小矩阵建立起来。 例如
A=[1 2 3;4 5 6;7 8 9]; C=[A,eye(size(A)); ones(size(A)),A]
C=
3. 内存变量文件 ❖利用MAT文件(.mat)可以把当前MATLAB
工作空间中的一些有用变量长久地保留下 来。
❖MAT文件的生成和装入由save和load命令 来完成。常用格式为:
save 文件名 [变量名表] [-append][-ascii]
load 文件名 [变量名表] [-ascii]
2.3 MATLAB矩阵
• 数据输出时用户可以用format命令设置或改 变 数 据 输 出 格 式 。 format 命 令 的 格 式 为 : format 格式符
• 注意,format命令只影响数据输出格式,而 不影响数据的计算和存储。
2.2.4 预定义变量
在MATLAB工作空间中,还驻留几个由 系统本身定义的变量。它们有特定的含 义,在使用时,应尽量避免对这些变量 重新赋值。
❖ 变量的元素用圆括号“( )”中的数字 (下标)表示。一维矩阵(数组)中的
元素用一个下标表示;二维矩阵用两个 下标表示,以逗号分开
MATLAB第二章
function [egg1,egg2,chicken1]=myegg(n)
% egg1 隔1天的蛋个数 % egg2 隔2天的蛋个数 % chicken1 过n天后母鸡个数 if n==1
egg1=1; egg2=0; chicken1=1; elseif n==2 egg1=1; egg2=1; chicken1=1;
27
>> x=0:0.1:2*pi; >> y=sin(x); >> plot(x,y) >> plot(x,y,‘ro’) %默认是蓝色曲线 >> x=[0 1 2 5];y=[4 -2 1 2]; >> plot(x,y) >> fplot(‘x^2+4*x+1’,[-15 15]) %函数用字符串表示
1 -8 4 9 -4 5 7 -9 >> fun=@myfun5 %例28中的函数 fun =
@myfun5 >> y=fun(A) %直接调用 y=
1 -13 16 81 -5 25 49 -15 >> y=feval(fun,A) %利用feval y=
1 -13 16 81 -5 25 49 -15
1 4 9 16 5 10 15 20
2024/7/5
第二章 MATLAB编程与作图
24
>> k=5;
>> ff=@(x)x^2+2*x+k %可以使用空间中的变量k
ff =
@(x)x^2+2*x+k
>> ff(5)
ans =
40
>> A=[1 2 ;3 4]
第二章 matlab基础知识
logspace 的基本语法
X=logspace(X1,X2,n) 该函数创建的向量第一个元素值为10X1,而最后一个元素的数值为10X2,
n为向量的元素个数,元素彼此之间的间隔按照对数空间的间隔设置 若在表达式中忽略参数n,则系统默认地将向量设置为50个元素
2.4 Matlab数据
2016/12/29 数据类型 矩阵的概念 一维数组变量的创建 二维数组变量的创建 数组元素的标识与寻访 字符串 多维矩阵 元胞 Application of Matlab Language 结构
8
2.4.1. MATLAB数据类型
数据的记述 Matlab的数只采用习惯的十进制表示,可 以带小数点和负号;其缺省的数据类型为双 精度浮点型(double)。 例如:3 -10 0.001 1.3e10 1.256e-6 其他数据类型 此外,MATLAB还提供了各种有符号、无 符号整型数据,具体参见教材表2.2。
语言。可见学习掌握这一工具的重要性。
2016/12/29
Application of Matlab Language
3
2.2 MATLAB的主要功能
功能强大
数值运算优势 符号运算优势(Maple) 强大的2D、3D数据可视化功能 许多具有算法自适应能力的功能函数
2016/12/29
10
2.4.2. 数组(array)的概念
数组的分类
一维数组,也称为向量(vector) 。
行向量(row vector)、列向量(column vector)。
二维数组(矩阵matrix)。 多维数组。 有效矩阵:每行元素的个数必须相同,每 列元素的个数也必须相同。
MATLAB实用教程第二章
1.矩阵的合并
矩阵的合并就是把两个或者两个以上的矩阵 连接成一个新矩阵矩阵构造符 可用于构造矩阵并 可以作为一个矩阵合并操作符 ➢ 表达式C=A B在水平方向合并矩阵A和B; ➢ 表达式C=A;B在竖直方向合并矩阵A和B
具有相同行数的两个矩阵合并为一个新矩阵
12 34 56 3×2
1.访问单个元素
2.线性引用元素
➢ 对于矩阵A线性引用元素的格式为 Ak通常这样的引用用于行向量或列 向量但也可用于二维矩阵
➢ MATLAB按列优先排列的一个长列向量格 式线性引用元素来存储矩阵元素
3.访问多个元素
操作符:可以用来表示矩阵的多个元 素若A是二维矩阵其主要用法如下: ➢ A:: 返回矩阵A的所有元素 ➢ Ai: 返回矩阵A第i行的所有元素
3.用满矩阵和稀疏矩阵存储方式分别构造下述矩 阵:
4.采用向量构造符得到向量159…41 5.按水平和竖直方向分别合并下述两个矩阵:
6. 分别删除第5题两个结果的第2行 7. 分别将第5题两个结果的第2行最后3列的数值
改为11 12 13 8. 分别查看第5题两个结果的各方向长度 9. 分别判断pi是否为字符串和浮点数 10.分别将第5题两个结果均转换为29的矩阵 11.计算第5题矩阵A的转秩 12.分别计算第5题矩阵A和B的A+B、A.* B和
行运算; ➢ 不同优先级的运算符采用先进行优先高的
运算
运算符的优先等级表
由表中可以看到括号的优先级别最高因此可 以用括号来改变默认的优先等级
2.4 字符串处理函数
2.4.1 字符串的构造 2.4.2 字符串的比较 2.4.3 字符串的查找和替换 2.4.4 字符串与数值间的转换
第2章 MATLAB基础知识
27
第2章
MATLAB基础知识
• 2.2字符串和符号矩阵
符号运算是对方程或代数式中的数学符号进行 的运算操作,运算结果是数学表达式而不是数 值。
MATLAB开发了Symbolic Math Toolbox,可
以进行代数式的因式分解、展开和化简,函数
的幂级数展开,求微积分以及微分方程组的解
析解等多种运算。
7
第2章
MATLAB基础知识
• 例 >> a2=[15,21,27,93,101];
• • • • • • • • • • • • >> a1=[15;21;27;93;101]; >> a1 a1 = 15 21 27 93 101 >> a2 a2 = 15 21 27 93 101 >>
8
第2章
• E=
• • •
11 21 31
12 13 22 23 32 33
13
第2章
MATLAB基础知识
• • • • • • •
(3)小矩阵联接生成大矩阵 A=[1 2;3 4]; A1=A+5 A2=A+10 A3=A1+10 G=[A A1;A2 A3] 用4个2*2矩阵生成一个4*4矩阵
14
第2章
17
第2章
MATLAB基础知识
• • • • • • • • • • •
例2-11 p35 解:在matlab命令窗口中输入 >> clear a=[1 3 -2;-1 2 4;502 497 -490]; b=[9 5 8;1 1 2;3 2 1]; a1=det(a) b1=det(b) 回车得到 a1 = 4588 b1 = -10
第2章 MATLAB应用基础-1
14
• 相反,char函数可以把ASCII码矩阵转换为字符 重新调整矩阵的行数、 串矩阵。 列数、维数
• 例如 显示一个3行32列的ASCII 字符变量串: ascii = char(reshape(32:127,32,3)') 输出结果为 表示转置 ascii = !"#$%&'()*+,-./0123456789:;<=> ? @ABCDEFGHIJKLMNOPQRSTUV WXYZ[\]^_ 'abcdefghijklmnopqrstuvwxyz{|}~
矩阵是MATLAB最基本、最重要的数据对 象,MATLAB的大部分运算或命令都是在矩 阵运算的意义下执行的,而且这种运算定义 在复数域上。向量和单个数据都可以作为矩 阵的特例来处理。 数值数据:双精度型、单精度数、带符号整 数和无符号整数、复数 字符数据。 结构体(Structure)和单元(Cell)数据类型。 稀疏矩阵(Sparse)。 逻辑型数据。在MATLAB中,以数值1(非零 )表示‚真‛,以数值0表示‚假‛。用 logical()函数将任何非零的数值转换为true, 将数值0转换为false
含义 字符串变小写 将字符串转换成数值 字符串连接,同[] 字符串比较 字符串变大写
19
讲在结构和单元矩阵之前:矩阵的建立
1.直接输入法 最简单的建立矩阵的方法是采用矩阵构造符‚[]”从 键盘直接输入矩阵的元素。 • 构造1×n矩阵(行向量)时,可以将各元素依次 放入矩阵构造符[]内,并且以空格或者逗号分隔; • 构造m×n矩阵时,每行如上处理,并且行与行之 间用分号分隔。 例:a=1;b=2;c=3; x=[5 b c;a*b,a+c,c/b] 2.利用M文件建立矩阵 对于比较大且比较复杂的矩阵,可以为它专门建立 一个M文件。
第二章Matlab基础知识
第2章 MATLAB编程基础
(3) [File>New>Model]:建立一个SIMULINK模型文件,
实现SIMULINK仿真模型的建模、仿真、调试、保存等处理 功能,保存时文件名后缀为 .mdl。 这三种文件是MATLAB/SIMULINK最重要的文件类型, 在后面章节中将详细论述。 2. 工具栏 这里仅介绍SIMULINK中特有的工具图标,其它图标与 大部分常用软件开发环境下的图标基本一致。
2.1 MATLAB的工作环境
2.1.1 MATLAB程序主界面 安装完MATLAB 7.0软件并重新启动计算机后,在 Windows桌面上将出现MATLAB的软件图标 。鼠标双 击该图标,就可进入MATLAB的工作环境,显示默认的程
序主界面,如图2-1所示。
第2章 MATLAB编程基础
① 菜单; ② 工具栏;
第2章 MATLAB编程基础
MATLAB提供的主要内置基本矩阵函数如表2-4所示。
表2-4 MATLAB内置基本矩阵函数
函 数 功 产生 n 行 m 列的全 1 矩阵 产生 n 行 m 列的全 0 矩阵 产生 n 行 m 列的在[0,1]区间均匀分布的随机矩阵 产生 n 行 m 列的正态分布的随机矩阵 产生 n × n 维的单位矩阵 能
第2章 MATLAB编程基础
图2-3 当前路径浏览器窗口
第2章 MATLAB编程基础
5. 工作空间浏览器
当MATLAB启动后,系统自动在内存中开辟一块存储 区用于存储用户在MATLAB命令窗口中定义的变量、运算 结果和有关数据,此内存空间称为MATLAB的工作空间 (workspace)。工作空间在MATLAB刚启动时为空,用户退 出MATLAB后,工作空间的内容将不再保留。 点击图2-1所示MATLAB程序主界面左上窗口中的 “Workspace”属性页,激活工作空间浏览器,如图2-4所示。 在此窗口中可以对工作空间进行管理。
matlab第二章
ceil(1.8)=2
4)round四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=2;round(1.3)=1;round(1.52)=2。
MATLAB 中的变量不需要事先定义,在 遇到新的变量名时,MATLAB会自动建立该变 量并分配存储空间。当遇到已存在的变量时, MATLAB会更新其内容,如有必要会重新分配
存储空间。
下一页
变量名由字母、数字和下划线构成, 并且必须以字母开头,最长为31个字符。 MATLAB能区分大小写字母,变量A和a是
例如: if a>1
disp('a>1')
elseif a==1
disp('a=1')
else disp('a<1') end 上一页 返回
3、逻辑函数
MATLAB提供了许多测试用的逻辑函数,
主要有all、any、find、exist、is*等。
返回
all函数
利用all函数可以测定矩阵每列所有
元素是否非零。若该列所有元素非零,则
利用重复函数repmat可以将小矩阵以
重复的形式产生大矩阵。
例如: f=repmat(a,2,3)
3、矩阵缩小 将大矩阵变成小矩阵的方法有两种: 抽取法和删除法。 (1)抽取法是指从大的矩阵中抽取中 的一部分,从而构成新的矩阵。例如: a=[1:4; 5:8; 9:12; 13:16] b=a(2:3, 3:4) c=a([1 4],[1 3]) d=a([2 4],[1 3])
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章 MATLAB编程基础
:进入 SIMULINK 仿真环境界面,作用相当于在 MATLAB 的命令窗口中输入 simulink 命令并按回车键。 :进入 MATLAB 的联机帮助环境界面,允许用户进 行帮助文档阅读、根据关键词的帮助查询、查看演示范例。 :可进行 MATLAB 当前工 作目录的设置,点击 进入当前工作目录选择界面。
第2章 MATLAB编程基础
【例2.3】通过调用size( )函数求取矩阵维数。
解:
图2-7 例2.3输入语句及返回结果
第2章 MATLAB编程基础
2.2.3 矩阵及其元素的表示
如前所述,MATLAB的起源即“矩阵实验室”,矩阵 是MATLAB进行数据处理的基本变量单元。因此,掌握矩 阵的表示方法是进行MATLAB编程和应用的基础。 1. 矩阵的表示 在输入过程中必须遵循以下规则: (1) 必须使用方括号[ ]包括矩阵的所有元素; (2) 矩阵不同的行之间必须用分号或回车符隔开; (3) 矩阵同一行的各元素之间必须用逗号或空格隔开。
第2章 MATLAB编程基础
图2-5 命令历史浏览器窗口
第2章 MATLAB编程基础
2.1.2 文本编辑窗口
MATLAB编程有两种工作方式:一种称为行命令方式, 就是在工作窗口中一行一行地输入程序,计算机每次对一行 命令做出反应,因此也称为交互式的指令行操作方式;另一 种工作方式为M文件编程工作方式。编写和修改M文件就要 用到文本编辑窗口。 表2-2列出了这两种工作方式的简单比较。
第2章 MATLAB编程基础
3. 命令窗口
命令窗口位于图2-1所示MATLAB程序主界面的最右边, 是用户与MATLAB人机交互的主要环境。在提示符“>>”后 键入MATLAB命令并回车确认,该命令窗口中将立即显示 执行结果。 表2-1所示为命令窗口中的常用指令,对用户的操作非 常有用。
第2章 MATLAB编程基础
第2章 MATLAB编程基础 表2-3 MATLAB的系统保留变量
变量名 i和j pi ans inf eps NaN lasterr lastwarn 虚数单位( 1 的解) 圆周率( π ) 存放最近一次无赋值变量语句的预算结果 无穷大( ,即 0 为除数时的结果) 机器的浮点运算误差限 (若某变量的绝对值小于 eps,则为 0) 不定式(0/0 或 inf/inf 的结果) 存放最后一次的错误信息 存放最新的警告信息 默 认 值
第2章 MATLAB编程基础
MATLAB提供的主要内置基本矩阵函数如表2-4所示。
表2-4 MATLAB内置基本矩阵函数
函 数 功 产生 n 行 m 列的全 1 矩阵 产生 n 行 m 列的全 0 矩阵 产生 n 行 m 列的在[0,1]区间均匀分布的随机矩阵 产生 n 行 m 列的正态分布的随机矩阵 产生 n × n 维的单位矩阵 能
第2章 MATLAB编程基础
2. 矩阵元素的表示和赋值 矩阵的元素是通过“( )”中的数字(行、列的标号) 来标识的,其行号和列号称为该元素的下标。矩阵元素 可以通过其下标来引用,A(i, j)即表示矩阵 A 第 i 行第 j 列的元素。二维矩阵用两个下标数并以逗号隔开,一维 矩阵(即向量或数组)用一个下标数表示。
③ 命令窗口;
④ 当前路径浏 览器;
⑤ 工作空间浏
览器; ⑥ 命令历史浏 览器。
图2-1 MATLAB 7.0的程序主界面
第2章 MATLAB编程基础
1. 菜单
菜单功能与其它通用软件开发环境基本一致,可进行文 件、编辑、调试、窗口和帮助等各主体功能菜单操作。这里 仅介绍与MATLAB学习密切相关的文件类型的相关内容。 (1) [File>New>M-File]:进入文本编辑窗界面,建立一 个文本文件,实现MATLAB命令文件的输入、编辑、调试、 保存等处理功能,保存时文件后缀名为 .m。 (2) [File>New>Figure]:进入图形窗界面,建立一个图 形文件,实现MATLAB图形文件的显示、编辑、保存等处 理功能,保存时文件名后缀为 .fig。
第2章 MATLAB编程基础
2.2.1 变量
变量是保存数据信息的一种最基本的数据类型。变量的 命名应遵循如下规则: (1) 变量名必须以字母开头; (2) 变量名可以由字母、数字和下划线混合组成; (3) 变量名区分字母大小写; (4) MATLAB保留了一些具有特定意义的默认变量(见 表2-3),用户编程时可以直接使用,并尽量避免另外自定义。
第2章 MATLAB编程基础
2.2 MATLAB语言的基本元素
MATLAB语言提供了丰富的数据类型,如实数、复数、 向量、矩阵、字符串、多维数组、结构体、类和对象等,还 提供了丰富的内置功能函数。这些功能使得MATLAB的编 程功能非常强大。
本节介绍变量和矩阵这两种最基本且常用的数据类型以
及赋值语句的基本形式。
第2章 MATLAB编程基础
2. 矩阵的运算函数
表2-7 常用的矩阵运算函数
函 数 功 能 d = size(A) [m,n] = size(A) A' inv(A) length(A) sum(A) 将矩阵 A 的行数和列数赋值给变向量 d 将矩阵 A 的行数和列数分别赋值给变量 m 和 n 计算矩阵 A 的转置矩阵 计算矩阵 A 的逆矩阵 计算矩阵 A 的长度(列数) 若 A 为向量,则计算 A 所有元素之和;若 A 为矩阵,则产生一行向量, 其元素分别为矩阵 A 各列元素之和 若 A 为向量,则求出 A 所有元素的最大值;若 A 为矩阵,则产生一行向 量,其元素分别为矩TLAB的工作环境
2.1.1 MATLAB程序主界面 安装完MATLAB 7.0软件并重新启动计算机后,在 Windows桌面上将出现MATLAB的软件图标 。鼠标双 击该图标,就可进入MATLAB的工作环境,显示默认的程
序主界面,如图2-1所示。
第2章 MATLAB编程基础
① 菜单; ② 工具栏;
ones(n,m) zeros(n,m) rand(n,m) randn(n,m) eye(n)
第2章 MATLAB编程基础
MATLAB还提供了一个便利且高效的表达式来给等步
长(均匀等分)的行向量赋值,即冒号表达式。冒号表达式的 基本调用格式为 V = m : p : n 其中,m、n为标量,分别代表向量的起始值和终止值,p 代 表向量元素之间步长值。 在MATLAB命令窗口中输入语句V = 0 : 0.2 : 1并回车 确认。
第2章 MATLAB编程基础
表2-2 MATLAB编程两种工作方式比较
比较项 工作 过程 优点 缺点 适用 情况 交互式的指令行操作方式 用户在工作窗口中按 MATLAB 语法规 则输入命令行后回车确认,系统将执行 该命令并给出运算结果 简便易行,交互性强 当要解决的问题变得复杂后,输入、 编辑和调试困难 非常适合于对简单问题的数学演算、 结果分析及测试 M 文件编程工作方式 当用户在工作窗口中输入 M 文件名并回车确认后, 系统将自动搜索该文件。若该文件存在,则系统将按 M 文件中语句所规定的计算任务以解释方式逐一执 行语句并返回运算结果 输入、编辑和调试、保存简便 需要在文本编辑器下编辑并保存文件, 过程较复杂 非常适合于大型或复杂问题的解决
第2章 MATLAB编程基础
图2-3 当前路径浏览器窗口
第2章 MATLAB编程基础
5. 工作空间浏览器
当MATLAB启动后,系统自动在内存中开辟一块存储 区用于存储用户在MATLAB命令窗口中定义的变量、运算 结果和有关数据,此内存空间称为MATLAB的工作空间 (workspace)。工作空间在MATLAB刚启动时为空,用户退 出MATLAB后,工作空间的内容将不再保留。 点击图2-1所示MATLAB程序主界面左上窗口中的 “Workspace”属性页,激活工作空间浏览器,如图2-4所示。 在此窗口中可以对工作空间进行管理。
第2章 MATLAB编程基础
第2章 MATLAB编程基础
2.1 MATLAB的工作环境 2.2 MATLAB语言的基本元素
2.3 矩阵的MATLAB运算
2.4 MATLAB的程序流程控制 2.5 M文件的编写
2.6 MATLAB的图形绘制
2.7 MATLAB编程仿真与应用 习题
第2章 MATLAB编程基础
应用最广泛。根据不同的应用目的,矩阵的代数运算又包含
两种重要的运算形式:按矩阵整体进行运算的矩阵运算、按 矩阵单个元素进行运算的元素群运算。
第2章 MATLAB编程基础
2.3.1 矩阵的代数运算
1. 矩阵的算术运算 表2-5 MATLAB矩阵的算术运算符及其说明
运算符 + - * \ / ^ 名称 加 减 矩阵乘 矩阵左除 矩阵右除 矩阵乘方 指令示例 A+B A-B A*B A\B A/B A^B 说 明 若 A、B 为同维矩阵,则表示 A 与 B 对应元素相加;若其中一个 矩阵为标量,则表示另一矩阵的所有元素加上该标量 若 A、B 为同维矩阵,则表示 A 与 B 对应元素相减;若其中一个 矩阵为标量,则表示另一矩阵的所有元素减去该标量 矩阵 A 与 B 相乘, A 和 B 均可为向量或标量, 但 A 和 B 的维数必 须符合矩阵乘法的定义 方程 A*X = B 的解 X 方程 X*A = B 的解 X 当 A、B 均为标量时,表示 A 的 B 次方幂;当 A 为方阵,B 为正 整数时,表示矩阵 A 的 B 次乘积;当 A、B 均为矩阵时,无定义
表2-1 命令窗口中的常用指令
命令或键名 clear clear a b c home clc pack ↑ ↓ 功 清除当前工作空间中的全部变量 清除当前工作空间中的指定变量 a、b、c 清除命令窗口中所有内容并将光标移动到左上角 擦除工作窗口中所显示的所有内容 整理内存碎片以扩大内存空间 前寻式调出已输入过的命令行 后寻式调出已输入过的命令行 能