02-MATLAB的基础知识-2
MATLAB科学计算软件入门教程

MATLAB科学计算软件入门教程第一章:MATLAB基础知识MATLAB是一种专业的科学计算软件,具有强大的数学计算和数据分析能力。
在使用MATLAB进行科学计算前,我们需要先了解一些基本知识。
1.1 MATLAB界面打开MATLAB后,我们会看到一个主界面。
主界面中有命令窗口、当前文件夹窗口、工作空间窗口和编辑器窗口等基本功能区域。
1.2 MATLAB变量和数据类型MATLAB中的变量可以用来存储各种类型的数据,如数字、字符串、矩阵等。
常见的数据类型包括:double(双精度浮点数)、char(字符)、logical(逻辑值)等。
1.3 MATLAB基本操作在MATLAB中,可以使用基本的数学运算符进行加、减、乘、除等计算操作。
另外,还可以通过内置函数实现更复杂的数学运算。
例如,sin函数可以计算正弦值,sum函数可以计算矩阵元素的和等。
第二章:MATLAB矩阵和向量操作2.1 创建矩阵和向量在MATLAB中,可以使用方括号来创建矩阵和向量。
例如,使用[1,2;3,4]可以创建一个2x2的矩阵。
2.2 矩阵和向量的加减乘除运算MATLAB提供了丰富的矩阵和向量运算函数,可以进行加法、减法、乘法、除法等运算操作。
例如,可以使用矩阵相乘函数*来计算矩阵的乘法。
2.3 矩阵和向量的索引和切片在MATLAB中,可以使用索引和切片操作来获取矩阵和向量中的特定元素或子集。
例如,使用矩阵名加上行和列的索引可以获取矩阵中指定位置的元素。
第三章:MATLAB数据可视化3.1 绘制二维图形MATLAB提供了丰富的绘图函数,可以绘制二维曲线、散点图、柱状图、等高线图等。
例如,可以使用plot函数来绘制二维曲线。
3.2 绘制三维图形MATLAB还可以绘制三维图形,如三维曲线、三维散点图、三维曲面等。
例如,可以使用plot3函数来绘制三维曲线。
3.3 图像处理与显示MATLAB提供了图像处理和显示的函数,可以加载、编辑和保存图像。
第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基础知识

第2章基础知识本章着重介绍MATLAB的一些基础知识,包括数据类型、基本矩阵操作、运算符和字符串处理函数。
本章是MATLAB编程的基础。
2.1 数据类型MATLAB中定义了很多种数据类型,包括字符、数值、单元、结构、java类、函数句柄等类型,用户还可以自己定义数据类型。
在MATLAB中有15种基本数据类型,每种基本数据类型均以数组/矩阵的形式出现,该矩阵可以是最小的0*0矩阵到任意大小的n维矩阵。
1.数值类型数值类型包含整数、浮点数和复数3种类型。
另外MATLAB还定义了Inf和NaN两个特殊数值。
(1)整数类型MATLAB支持1、2、4和8字节的有符号整数和无符号整数。
这8种数据类型的名称、表示范围、转换函数如表2-1所示,其中转换函数可以把其它数据类型的数值强制转换为对应的整数类型。
尽可能使用字节少的数据类型,这样可以节约存储空间和提高运算速度。
表2-1 整数类型名称范围转换函数名称范围转换函数有符号1字节整数int8() 无符号1字节整数uint8()有符号2字节整数int16() 无符号2字节整数uint16() 有符号4字节整数int32() 无符号4字节整数uint32() 有符号8字节整数int64() 无符号8字节整数uint64()(2)浮点数类型MATLAB有单精度和双精度两种浮点数,其中双精度浮点数为MATLAB默认的数据类型。
这2种数据类型的名称、存储空间、表示范围和转换函数如表2-2所示。
表2-2 浮点数类型名称存储空间表示范围转换函数单精度浮点数4字节single()双精度浮点数8字节double() (3)复数类型复数包含实部和虚部。
在MATLAB中可以用i或j来表示虚部。
例如:在命令窗口中用赋值语句产生复数5+10i,代码如下:A=5+10i例如:在命令窗口用函数complex()产生复数5+10i,具体代码如下:X=5;Y=10;z=complex(x,y)(4)Inf和NaN在MATLAB中用Inf和-Inf分别表示正无穷大和负无穷大。
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中的图形绘制功能不仅限于静态图形,还可用于生成动态图形。
第二章matlab02数值运算功能2

2.4.3矩阵的关系和逻辑运算 矩阵的关系和逻辑运算
1.矩阵的关系运算符:<, >, <=, >=, = =, ~= 矩阵的关系运算符: 矩阵的关系运算符 • 矩阵之间的每个元素进行比较,运算结果 矩阵之间的每个元素进行比较, 为与原矩阵大小一样的由0 为与原矩阵大小一样的由0和1组成的矩阵 注意:1=<a<=2错误 注意: 错误 例: 1<=a<=2正确 = 正确
• •
§2.4 矩阵的运算
矩阵的数学运算 矩阵的点(数组 运算 矩阵的点 数组)运算 数组 矩阵的关系和逻辑运算
2.4.1矩阵的数学运算 矩阵的数学运算
矩阵运算符 含义 A’ 矩阵转置 A+B 矩阵相加 A-B 矩阵相减 A*B 矩阵相乘 A/B 矩阵相除(右除) 矩阵相除(右除) B\A 矩阵相除(左除) 矩阵相除(左除) A^n A阵的 n次幂 阵的 次幂
x X = y z
10 B = 5 −1
要解上述的联立方程式, 要解上述的联立方程式,可利用矩阵左除 \ 做运 时要求A、 的行数相等 相等。 算,即:X=A\B, 左除时要求 、B的行数相等。 , 左除时要求
如果将原方程式改写成 X*A=B,且令 X, A 和 B , 分别为
MATLAB编程基础与语法规范

MATLAB编程基础与语法规范IntroductionMATLAB是一种广泛应用于科学和工程领域的高级计算机语言和环境。
它具有强大的数值计算能力和图形可视化功能,因此被广泛用于数据分析、数值模拟、图像处理等应用。
本文将介绍MATLAB编程的基础知识和语法规范,帮助读者快速上手和编写高效、可读性强的MATLAB代码。
一、MATLAB基础知识1. 安装与启动MATLAB首先,我们需要下载并安装MATLAB软件。
安装完成后,直接双击图标即可启动MATLAB。
在MATLAB命令行窗口中,我们可以输入MATLAB代码并执行,得到相应的结果。
2. 变量和数据类型在MATLAB中,可以使用变量来存储数据。
MATLAB支持多种数据类型,比如整数(int)、浮点数(double)、字符(char)、逻辑值(logical)等。
在使用变量之前,需要先为其指定一个合适的数据类型,并为其赋值。
3. 数组和矩阵操作数组和矩阵是MATLAB中最常用的数据结构。
MATLAB提供了丰富的矩阵操作函数,比如创建矩阵、矩阵的加减乘除运算、矩阵转置等。
在使用矩阵操作函数时,需要注意矩阵的维度和尺寸是否匹配。
4. 条件语句和循环语句条件语句和循环语句是编程中常用的控制结构。
MATLAB提供了if语句、switch语句和for循环、while循环等语句来实现条件判断和循环执行。
在使用这些语句时,需要注意条件表达式的书写和循环次数的控制。
二、MATLAB语法规范1. 注释在编写MATLAB代码时,注释是非常重要的。
它们可以帮助他人理解代码的用途和实现方式。
MATLAB支持两种注释方式:行注释和块注释。
行注释以符号“%”开头,块注释以符号“%{”开始,以“%}”结束。
合理的注释可以提高代码的可读性和可维护性。
2. 标识符命名在命名MATLAB变量和函数时,需要遵循一定的规范。
标识符可以包含字母、数字和下划线,但不能以数字开头。
此外,不推荐使用MATLAB的保留字作为标识符。
MATLAB编程及应用 李辉 PPT课件 第2章 MATLAB基本计算和基础知识

2.2.2 系统预定义变量
MATLAB系统提供了一些用户不能清除的特殊变量,
即系统预定义变量。
MATALB系统预定义变量及其含义
预定义变量名
含义
ans pi eps nan或NAN inf i或j
运算结果默认变量名 圆周率 浮点数的精度,也是系统运算时确定的极小值 非数,如0/0 无穷大,如1/0 虚数标志,i=j=sqrt(-1)
1.0000 + 2.0000i >> b=3+4*j b=
3.0000 + 4.0000i
2.3.2 逻辑类型
MATLAB本身并没有专门提供逻辑类型,而借用整型来描
述逻辑类型数据。MATLAB规定,逻辑数据真(true)为1、
逻辑数据假(false)为0。
>> 2<3 ans =
logical 1 >> 2>3 ans = logical 0
>> sin(pi/3) ans =
0.8660
➢ 复数的计算:MATLAB还具有超越计算器的功能, 它认识复数,能够进行复数的计算。
>> (2+3i)+(4+5i) ans =
6.0000 + 8.0000i
Байду номын сангаас
2.2 变量
变量是指在程序执行过程中其值可以变化的量。
变量
用户自定义变量 系统预定义变量
2.3 数据类型
MATLAB数据类型
数值类型 逻辑类型 字符串类型 单元类型 结构类型
2.3.1 数值类型
数值类型分类方法
根据数据存 储空间和方 式分类
根据数据结 构分类
MATLAB基础知识

一、1、数学建模基础知识及常用命令一、界面窗口介绍:1 命令窗口(command window),窗口中输入命令,回车实现计算或绘图功能。
2 工作空间窗口(work space)运行matlab命令时所产生的变量都被加入到工作空间,该窗口可以显示命令窗口中已输入的变量的名称,数值等。
3 命令历史窗口(command history)显示所有执行过的命令,选定某个命令时可以双击或按F9执行。
4 当前目录窗口(Current folder)显示当下目录下的文件信息。
二、常用运算1、算术运算符加 + 减 - 乘 * 左除 / 右除 \ 乘方 ^注意:在普通的数值运算中,左除为我们常用的除法形式,左除右除结果比较像逆运算,如1/2 和1\2结果互为倒数,但在矩阵的运算中,结果完全不一样,类似于左乘和右乘结果一般会不一样。
运算的优先级:从左到右,幂运算最高优先级,乘除法具有相同次优先级,加减法具有相同的低优先级,括号可以用来改变优先次序。
大家可以进行几个普通计算(练习10分钟)1、325+47⨯÷ 2、4 59+986-2.7+55-1033.5+20⨯()29()2、数据显示格式默认情况下,matlab显示小数点后4位小数,可以利用format命令改变显示格式(一般写在要改变的数值的命令前):format short 小数点后4位format long 小数点后15位format bank 小数点后2位(以上为三个常用的)format rat 最接近的有理数如以 为例:>> pi=>> format long>> pi>> format rat>> pians =355/113>> format bank>> pians =>> format short>> pians =三、matlab变量1、变量赋值形式变量=表达式(数值)或表达式(数值)其中,“=”为赋值符号,将右边表达式的值赋给左边变量(上面左的含义),当不指定输出变量时,matlab将表达式的值赋给临时变量ans(右的含义)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
29
4.1结构体的创建
4.1.1直接使用赋值语句创建
= ‘zhang'; pat.billing = 127.00; pat.test = [79 75 73; 180 178 177.5; 220 210 205]; pat whos pat = name: ‘zhang' billing: 127 test: [3x3 double] Name pat Size 1x1 Bytes Class 468 struct array
9
2.2 矩阵的点运算 点乘,点除,点乘方(,./,.\,.^) ab —— a,b两数组必须有相同的行 和列两数组相应元素相乘。 a=[1 2 3;4 5 6;7 8 9]; b=[2 4 6;1 3 5;7 9 10]; a.*b ans = 2 8 18 4 15 30 49 72 90
A(:,:,2) A(:,:,1) 9 6 2 5
28
§2.2 MATLAB的基础知识
4.结构体和元胞数组 结构体和元胞数组是两种较复杂的数据类型,都可 以存储多组不同类型的数据。结构体和C语言的类 似,可以通过字段存储多个不同类型的数据。
PAT Name ----- zhang
Billing ----- 127.00
5 0 4
25
3.2 使用内联函数创建
ones(d1,d2,d3...) 生成d1*d2*d3的多维全1数组 ones(size(A)) 生成与数组A同样尺寸的全1数组 zeros(d1,d2,d3...) 生成d1*d2*d3的多维全0数组 zeros(size(A)) 生成与数组A同样尺寸的全0数组 rand(d1,d2,d3...) 生成d1*d2*d3的多维数组,数 组元素服从【0,1】均匀分布 rand(size(A)) 生成与数组A同样尺寸的多维数组, 数组元素服从【0,1】均匀分布
23
§2.2 MATLAB的基础知识
3. 多维矩阵及其操作
多维矩阵的创建 3.1通过指定索引把二维矩阵扩展为多维矩阵
3.2使用内联函数创建
3.3用CAT函数进行链接创建,可以将预先创 建好的矩阵按照某一维度链接起来。
24
§2.2 MATLAB的基础知识
3.1 通过指定索引把二维矩阵扩展为多维矩阵
11
矩阵乘方(.^) — 元素对元素的幂 例: a=[1 2 3];b=[4 5 6]; z=a.^2 z = 1.00 4.00 9.00 z=a.^b z = 1.00 32.00 729.00
12
2.3矩阵乘()运算 规则:
• A矩阵的列数必须等于B矩阵的行数 • 标量可与任何矩阵相乘。
8
2、矩阵运算 2.1 矩阵加、减(+,-)运算
规则:
相加、减的两矩阵必须有相同的行和列,两矩 阵对应元素相加减。 允许参与运算的两矩阵之一是标量。标量与矩 阵的所有元素分别进行加减操作。
>> a=[1 2 3;4 5 6;7 8 9]; >> b=[2 4 6;1 3 5;7 9 10]; >> a+b ans = 3 6 9 5 8 11 14 17 19
4
§2.2 MATLAB的基础知识
1. 矩阵及其操作 2)矩阵的属性
矩阵大小是了解矩阵最常用的属性,是指在每一个方向上 具有的元素个数。 1. Var = size(A) 将矩阵A的行列尺寸以一个行向量的形 式返回给Var,Var=[m n], 或[a, b]=size(A) 2. Length(A) 可以返回一位数组的元素个数 A=[1 2 3 4 5] 》length(A) ans=5 》C=[1:5;2:6] C=1 2 3 4 5 2 3 4 5 6 >> size(C); length(C) ans = 2 5 ans = 5
10
a./b=b.\a
a.\b=b./a
—— 给出a,b对应元素间的商
a./b=b.\a — 都是b的元素被a的对应元素除a/b
a.\b=b./a — 都是a的元素被b的对应元素除b/a
例: a=[1 2 3];b=[4 5 6]; c1=a.\b; c2=b./a
c1 = 4.0000 c2 = 4.0000 2.5000 2.5000 2.0000 2.0000
控制系统仿真
-基于MATLAB语言
主讲教师:张磊 中国海洋大学 工程学院
2013-10-10
1
本节内容 本节介绍matlab语言的基础知识,主要包括: 矩阵及其操作(创建矩阵、矩阵的属性和操作) 矩阵及数组的简单运算(加减乘点运算) 多维矩阵及其操作 结构体和元胞数组的用法 字符串的创建
7
1. 矩阵及其操作 4)矩阵操作 简单运算
矩阵的常规运算:矩阵间的加、减、乘、乘方运算。 加减法需要参与运算的矩阵必须具有相同的尺寸。 乘法要求第一数组的列等于第二数组的行。 》A+B 》B-A 》A*C 矩阵的点运算:对两个尺寸相同的矩阵A和B对应元素进行 乘、除或乘方运算。 》A.*B 》A./B 》A.^n
例:创建一个二维矩阵 命令: A=[1 2 3;2 5 6;1 4 5] B=[1:5;linspace(3,10,5);3 5 2 6 4] C=[[1:3]' [linspace(2,3,3)]' [3 5 6]'] 结果: A= 1 2 3 2 5 6 1 4 5 B = 1.0000 2.0000 3.0000 4.0000 5.0000 3.0000 4.7500 6.5000 8.2500 10.0000 3.0000 5.0000 2.0000 6.0000 4.0000 C= 1.0000 2.0000 3.0000 2.0000 2.5000 5.0000 3.0000 3.0000 6.0000
19
2.6 矩阵的一些特殊操作
• 矩阵的抽取 •
diag:抽取主对角线; tril: 抽取主下三角; triu:抽取主上三角 矩阵的扩展
>> diag(b) >> tril(b) ans = 1 2 3 0 5 6 0 0 9 0 0 0
ans =
1 5 9
20
矩阵的修改 直接修改 可用键找到所要修改的矩阵,用键移
0.4565 0.0185 0.8214 0.4057 0.9355 0.9169
27
3.3 用CAT函数进行链接创建
例: A = cat(3, [9 2; 6 5], [7 1; 8 4]);
%在页面方向连接上两个新建立的二维 数组创建三维数组
A(:,:,1) = 9 2 6 5 A(:,:,2) = 7 1 8 4
26
3.2 使用内联函数创建
例:随机生成3*3的三维数组
>> A=rand(3,3,2) A(:,:,1) = 0.9501 0.4860 0.2311 0.8913 0.6068 0.7621 A(:,:,2) = 0.4447 0.9218 0.6154 0.7382 0.7919 0.1763
18
2.6 矩阵的一些特殊操作
• 矩阵的变向
rot90:旋转; b =1 4 2 5 3 6
>> rot90(b) ans = 10 11 12 7 8 9 4 5 6 1 2 3
fliplr:上翻; flipud:下翻 7 10 8 11 9 12
>> flipud(b)
ans = 3 6 2 5 1 4 9 8 7 12 11 10
2
§2.2 MATLAB的基础知识
1. 矩阵及其操作 1)矩阵的创建
MATLAB中使用方括号、逗号和分号创建 》A=[1 2 3 4] A=1 2 3 4 》B=[1; 2; 3; 4] B= 1 2 3 4 Var = Start : Step : Stop Var = linspace(Start, Stop, n) 产生一 个有n个元素的一维向量,第一个元素是 Start最后一个是Stop,n个元素为等差数 列 》A=1:4 A=1 2 3 4 》B=1:2:4 B=1 3 》C=linspace(1,4,5) C=1.0000 1.7500 2.5000 3.2500 3 4.0000
14
2.5 矩阵的其它运算
• inv(A) —— 矩阵求逆
• det(A) —— 行列式的值 • eig(A) —— 矩阵的特征值 • diag(A) —— 对角矩阵 • A’ —— 矩阵转置 • sqrt(A) —— 矩阵开方
15
关系运算
关系符号 对应函数 意义
a<b a<=b a>b a>=b a==b a~=b
6
1. 矩阵及其操作 4)矩阵操作
矩阵的保存和装载:在许多实际应用中矩阵多是较庞大的, 操作步骤多,经常不能在短期内完成。需要对矩阵进行 保存和装载。 1. Save <filename> <var1> <var2> … <varn> 将工作区的变量保存为.mat的二进制文件,其中 filename为文件名,var是变量名 2. Load <filename> <var1> <var2> … <varn> 将文件filename中保存的内容装载到工作区中,变量名 分别为var1和var2 >> save exp1 A B C
动到要修改的矩阵元素上即可修改。
指令修改 可以用A(,)= 来修改。
21
例如 a=[1 2 0;3 0 5;7 8 9] a =1 2 0 3 0 5 可以用函数subs修改, 7 8 9 a(3,3)=0 还可用find函数修改。 a =1 2 0 3 0 5 7 8 0