第2讲 MATLAB基本语法
MATLAB编程基础第2讲--数值数组、字符、元胞与结构数组
函数运算
三角函数与双曲函数 x=0:pi/4:pi y1=sin(x) y2=sinh(x) plot(x,y1,’r-d’,x,y2,’b-.’) 指数函数 exp log10 pow2 log log2 sqrt 复数函数 abs conj real angle imag 圆整函数和求余函数 ceil向正无穷圆整 floor向负无穷圆整 rem求余数 mod模除求余数 矩阵变换函数 x=[1 2 3;4 5 6;7 8 9] y1=rot90(x) %矩阵逆时针90度翻转 y2=diag(x) %产生或提取对角阵 y3=fliplr(x) %矩阵左右翻转 y4=flipud(x) %矩阵上下翻转 其他函数 y5=mean(x) y6=sum(x) y7=max(x) y8=max(max(x))
15
2.多行字符串 应保证每行字符串的长度相同 每行字符串的长度相同,否则补足空 每行字符串的长度相同 格 B=[’This is a’;’This is a dog’] Any problem? Not same size,在第一行加入四个空格 第一行加入四个空格 B=[’This is a ’;’This is a dog’] ok!!!
4
5
6
3
变量及数组输入
5.矩阵方式输入 矩阵方式输入 a=[1,2,3;4,5,6;7,8,0] %矩阵输入 (a为3阶方阵) 矩阵输入 为 阶方阵) 阶方阵 b=[366;804;351] %列矩阵输入 列矩阵输入 det(a) %方阵行列式 方阵行列式 inv(a) %方阵的逆 方阵的逆 x=a\b %ax=b方程组的解 方程组的解 y=inv(a)*b %与x相同 与 相同 disp([a,b,x]) %显示矩阵 显示矩阵
第2讲MATLAB变量和数据操作
第2讲MATLAB变量和数据操作
在MATLAB中,变量是用于存储和处理数据的命名对象。在使用MATLAB进行数据操作时,首先需要定义和分配变量,并对其进行操作。
1.变量的定义和分配:
在MATLAB中,可以使用赋值语句将数据分配给变量。例如,可以使
用以下语句将3赋给变量x:
x=3
这意味着将3分配给变量x,以便以后可以使用x来引用这个值。
2.向量和矩阵:
在MATLAB中,可以使用向量和矩阵来存储和操作多个数据项。向量
是一维数组,而矩阵是二维数组。可以通过以下方式创建向量和矩阵:-向量:可以使用方括号[]将多个元素放在一起,以逗号分隔。例如,可以使用以下语句创建一个向量:
v=[1,2,3,4]
v=
1234
-矩阵:可以使用分号;将多个行放在一起,以逗号分隔。例如,可以
使用以下语句创建一个2行3列的矩阵:
A=[1,2,3;4,5,6]
A=
123
456
3.数据类型:
在MATLAB中,变量可以具有不同的数据类型,包括数值类型(如整数、浮点数)、字符类型和布尔类型。可以使用以下方式指定变量的数据
类型:
-数值类型:可以使用整数和浮点数来表示数值。例如,可以使用以
下语句创建一个整数变量:
n = int8(3)
n=
-字符类型:可以使用单引号''将字符放在一起。例如,可以使用以
下语句创建一个字符变量:
c='a'
c=
'a'
-布尔类型:可以使用逻辑运算符(如>、<、==等)来比较变量的值,并将结果分配给逻辑变量。例如,可以使用以下语句创建一个逻辑变量:logic = (3 > 2)
logic =
MATLAB课件-第二讲
含义说明 相应元素相加 相应元素相减 矩阵乘法 相应元素相乘 矩阵幂运算 相应元素进行幂运算 矩阵左除或右除 A的元素被B的对应元素除
【例1】数组的加减法
>>a=zeros(2, 3); >>a(:)=1:6; >>b=a+2.5
b=
3.5000 5.5000 7.5000 4.5000 6.5000 8.5000
46
size函数返回变量的大小,即 变量数组的行列数
length函数返回变量数组的 最大维数
>>le=length(a)
le =
6
>>b=a’ >>length(b) 结果是?
2.6 数组的算术运算
MATLAB数组运算符列表
运算
运算符
加
+
减
-
乘
*
点乘
.*
幂
^
点幂
.^
左除或右除
\或/
左点除或右点除 .\或./
a_2 =
1 3 20 7
10 4 6 30
>> a_2(2,1)=100
%双下标方式寻访并修改
a_2 =
1357 100 4 6 8 >>a_2(:,[2 3])=ones(2) a_2 =
1117 100 1 1 8
MATLAB的基本语法
2020/5/29
第3章 基本使用方法
20
4 矩阵的提取与变换(表2-1)
>>a=eye(5) >> a(2,:) >> a(:,3) >>reshape(a,1,25) >>fliplr(a) >>flipud(a)
2020/5/29
第3章 基本使用方法
21
实验任务
• 实验名称:MATLAB的变量、矩阵运算 • 实验任务: 1 练习矩阵赋值及其运算(+,-,*,/,\,矩
2020/5/29
第3章 基本使用方法
4
向量赋值
生成向量最简单的方法就是在命令窗口中按一定 格式直接输入。输入的格式要求是,向量元素用 “[ ]”括起来,元素之间用空格、逗号或者分号相 隔。
需要注意的是,用它们相隔生成的向量形式是不 相同的:用空格或逗号生成行向量;用分号生成 列向量。
2020/5/29
X^Y能成立吗?
Z=X./Y , Z=X.^Y
X^2能成立吗?
Z=X.^2, Z=2.^[X Y] 2^[X Y]能成立吗?
2020/5/29
结论:非方阵不能按整体做乘幂运算
第3章 基本使用方法
25
例:当D=[1 4 7; 8 5 2;3 6 0], 比较D^3,D.^3和3.^D
MATLAB语言课件 第2讲 MATLAB语言的数值运算共47页
2.1.6 M 文件 为代替在 MATLAB 提示符下输入的 MATLAB 命令语句,
可以把这些命令写入一个文本文件,每当用户输入文件名和它的 自变量时,命令语句就由 MATLAB 执行,当文件中最后一个命 令被执行后, MATLAB 能再从终端读取命令,这样的文件就叫 M 文件。 1、M 文件的类型
3628800
3、条件选择语句if 根据不同逻辑表达式的值来判断程序在执行过程中需要执 行那些语句 调用格式:
if 逻辑表达式 命令语句体
end 程序在执行过程中,首先判断逻辑表达式的值,若为真, 则执行命令语句体中所有语句,否则,跳过命令语句体, 执行结束语句之后的语句 if语句可以通过嵌套的方式使用,但不同的 if 语句之间不 能互相交叉
变量的定义 Matlab使用变量前不需专门语句 定义变量的数据类型,根据语句执行结果自动指 定变量的数据类型。
a=3; A=[1 2 3;4 5 6] f1=‘this is a string’; 2 基本语句结构:变量名列表=表达式
c=a*b 2.1.2 数据类型
共有6种数据类型:双精度型(double)、 字符型(char)、稀疏型(sparse)、存储型 (storage)、细胞型(cell)和结构型(struct)
对于数值矩阵,当元素为0时,逻辑上为假;当元素为非
0时,逻辑上为真。
matlab-第2讲
函数使用说明: (1) 三角函数以弧度为单位计算。 (2) abs函数可以求实数的绝对值、复数的模、字符串的ASCII 码值. (3) 用于取整的函数有fix、floor、ceil、round,要注意它们的 区别。
• • • •
fix():向0方向靠拢取整 floor():向左取整,即向负无穷方向取整 ceil():返回大于等于指定表达式的最小整数,即向正无穷方向取整 round ():四舍五入 rem(x,y)=x-y.*fix(x./y) mod(x,y) )=x-y.*floor(x./y) rem(x,y)和mod(x,y)要求x,y必须为相同大 小的实矩阵或为标量。
第2讲 MATLAB矩阵及其运算
2.1 变量和数据操作 2.2 MATLAB矩阵 2.3 MATLAB运算
2.1 变量和数据操作
2.1.1 变量与赋值
1.变量命名 变量名是以字母开头,后接字母、数字或下划线的字符序 列,最多63个字符。在MATLAB中,变量名区分字母的 大小写。 注意: MATLAB提供的标准函数名以及命令名必须小写。
clear命令用于删除 Workspace中的变量。(预定义变量不 能被删除) who和whos这两个命令用于显示在Workspace中已经驻留 的变量名清单。 who命令只显示出驻留变量的名称,whos在给出变量名的 同时,还给出它们的大小、所占字节数及数据类型等信息。
Matlab的基本语法和常用函数
Matlab的基本语法和常用函数
Matlab是一种非常强大且流行的数值计算软件,被广泛应用于科学研究、工程
设计和数据分析等领域。在本文中,我们将介绍Matlab的基本语法和常用函数,
以帮助初学者快速上手并掌握此工具的基本使用方法。
一、Matlab的基本语法
1. 变量和赋值:在Matlab中,可以使用任何有效的字符作为变量名。要创建
一个变量并赋值,只需使用等号(=)即可。例如,将整数值10赋给变量a,可以
使用以下语句:
a = 10
2. 数值运算:Matlab支持基本的数值运算,如加法、减法、乘法和除法。例如,要计算两个变量a和b的和,可以使用加法运算符(+):
c = a + b
3. 矩阵操作:Matlab是一种强大的矩阵计算工具,支持矩阵的创建、加减乘除
运算以及转置等操作。例如,要创建一个2x2的矩阵,并将其赋给变量A,可以使用以下语句:
A = [1 2; 3 4]
4. 条件语句:Matlab提供了条件语句用于根据不同的条件执行不同的操作。常
用的条件语句包括if语句和switch语句。例如,要根据某个变量的值执行不同的
操作,可以使用if语句:
if a > 0
disp('a is positive')
else
disp('a is negative or zero')
end
5. 循环语句:Matlab支持多种类型的循环语句,如for循环、while循环和do-while循环。例如,要计算1到10的累加和,可以使用for循环:
sum = 0;
for i = 1:10
sum = sum + i;
(完整版)MATLAB基本语法
在MATLAB^,变量和常量的标识符最长允许19个字符,标识符中第一个字符必须是英文
字母。MATLAB^分大小写,默认状态下,A和a被认为是两个不同的字符。(case sensitive )
一、数组和矩阵
(一)数组的赋值
数组是指一组实数或复数排成的长方阵列。它可以是一维的“行”或“列”,可以是二维的“矩形”,也可以是三维的甚至更高的维数。在MATLAB中的变量和常量都代表数组,
赋值语句的一般形式为
变量=表达式(或数)
如键入a=[1 2 3 ; 4 5 6 ;7 8 9] 则将显示结果:
a=
1 2 3
4 5 6
7 8 9
数组放置在[]中;数组元素用空格或逗号“,”分隔;数组行用分号“;”或“回车” 隔离。
(二)复数
MATLAB中的每一个元素都可以是复数,实数是复数的特例。复数的虚部用i或j表示。
复数的赋值形式有两种:
z=[1+1i ,2+2i ;3+3i ,4+4i]
z=[1 ,2 ;3,4]+[1 ,2 ;3,4]*i
得z=1.000+1.000i 2.000+2.000i
3.000+3.000i
4.000+4.000i
以上两式结果相同。注意,在第二式中“*”不能省略。
在复数运算中,有几个运算符是常用的。运算符表示把矩阵作共轭转置,即把矩阵的行列互换,同时把各元素的虚部反号。函数conj表示只把各元素的虚部反号,即只取
共轭。若想求转置而不要共轭,就把conj和“’”结合起来完成。例如键入
w=z ' ,u=conj(z) , v=conj(z) '
可得w=1.000-1.000i 3.000-3.000i
MATLAB编程及应用 李辉 PPT课件 第2章 MATLAB基本计算和基础知识
length('你好,MATLAB!') ans =
10
2.3.4 单元类型
单元类型是MATLAB中比较特殊的一种数据类型,其本质 也是数组。
一般数组:所有数组元素只能是同一种数据类型 单元数组:可以把不同的数据类型组合在一起,从而形
成一种比较复杂的数组。
2.3.4 单元类型
2.3.1 数值类型
因为系统默认的数据类型是双精度浮点型,所以在将变量 设置为整数时,需要进行转换。
函数 floor ceil round fix
将双精度浮点型转化为整数的转化函数
运算法则 向下取整
向上取整
取最接近的整数,若小数部分是 0.5,则向绝对值大的方向取整
例子
floor(1.4)=1,floor(3.5)=3,floor(3.5)=-4 ceil(1.4)=2,ceil(3.5)=4,ceil(-3.5)=3
MATLAB编程及应用
第2章
MATLAB基本计算和基础知识
2.1 基本计算入门实例
➢ 使用MATLAB进行数学基本计算就像用计算器一样 方便、简单;
➢ 在命令行窗口的命令行提示符后键入算式, MATLAB就会把计算结果显示出来。
>> 1+2+3+4+5+6 ans = 21 >> 1/2 ans =
matlab 语法大全
end
条件执行结束
第 2 章 MATLAB的基本语法
for语句 2.3.4 for语句
for语句也是循环语句,但与while语句不同的是,它循环执行一组语句的执行次数是 确定。其关键字包括for、end、break等。调用的基本格式如下: for index=初值:增量:终值 语句组A end 功能:把语句组A(亦称为循环体)反复执行N次。循环次数N为: N=1+(终值-初值)/增量 在每次执行时程序中的index的值按“增量”增加。 注意: 注意: (1)For循环不能用For循环内重新赋值循环变量n来终止。 (2)在For循环内接受任何有效的MATLAB数组。 (3) for循环可按需要嵌套。与其它的编程语言类似,for语句可以嵌套使用。 (4) 当有一个等效的数组方法来解给定的问题时,应避免用For循环。 (5) 为了提高处理的速度,在For循环(While循环)被执行之前,应预先分配数组。
第 2 章 MATLAB的基本语法
2.2.2 关系操作符
关系运算是指两个元素之间数值的比较。MATLAB所提供的关系操作符如表所示。
关系比较结果只有两种可能,即1或0。1表示关系式这“真”,即关系式正确;0表 示该关系为“假”,即它不成立。
2.2.3 逻辑操作符
通常逻辑变量只能取0(假)和1(真)两个值。逻辑量的基本运算除“与(&)”、 “或(|)”和“非(~)”外,有时也包括“异或(xor)”,不过“异或”可以用3种基本运 算组合而成。两个逻辑量经过这4种逻辑运算后的输出仍然是逻辑量。
matlab语法
matlab语法
MATLAB是一种强大而又灵活的计算机语言,最初由美国的研究机构开发而成,并已得到广泛应用。在科学、工程、金融和医学等领域应用广泛。MATLAB语法相对来说比较容易学习,本文将分步骤介绍MATLAB语法的相关内容。
1. 基础数学运算
MATLAB最基础的数学运算包括加法、减法、乘法、除法和求幂,可以使用如下的操作符实现:
加法: +
减法: -
乘法: *
除法: /
求幂: ^
例如,要计算3的4次幂,可以输入3^4,计算结果会显示在MATLAB命令窗口中。
2. 变量和数据类型
在MATLAB中,可以使用变量来存储数值和其他数据类型。变量名可以是字母、数字或下划线,以字母开头。MATLAB支持的数据类型包括数值、字符和逻辑值。
数值类型包括整数和浮点数,例如:
整数:5
浮点数:3.14
字符类型用单引号括起来表示,例如:
字符:'Hello World!'
逻辑类型包括true和false。
3. 条件语句
在MATLAB中,可以使用条件语句来根据条件执行不同的代码块。常见的条件语句包括if语句和switch语句。
if语句根据一个条件判断执行哪些代码块,例如:
if x > 0
disp('x is positive')
elseif x == 0
disp('x is zero')
else
disp('x is negative')
end
switch语句根据一个变量的值执行不同的代码块,例如:
switch x
case 1
disp('x is equal to 1')
case 2
disp('x is equal to 2')
第2讲 MATLAB初步
例2-4 建立随机矩阵: (1) 在区间[20,50]内均匀分布的5阶随机矩阵。 (2) 均值为0.6、方差为0.1的5阶正态分布随机矩阵。 命令如下: x=20+(50-20)*rand(5) y=0.6+sqrt(0.1)*randn(5) 此外,常用的函数还有reshape(A,m,n),它在矩 阵总元素保持不变的前提下,将矩阵A重新排成 m×n的二维矩阵。
(3) 希尔伯特矩阵 在MATLAB中,生成希尔伯特矩阵的函数 是hilb(n)。 使用一般方法求逆会因为原始数据的微小 扰动而产生不可靠的计算结果。MATLAB 中,有一个专门求希尔伯特矩阵的逆的函 数invhilb(n),其功能是求n阶的希尔伯特矩 阵的逆矩阵。
例2-6 求4阶希尔伯特矩阵及其逆矩阵。 命令如下: format rat %以有理形式输出 H=hilb(4) H=invhilb(4)
例2-7 求(x+y)5的展开式。 在MATLAB命令窗口,输入命令: pascal(6) 矩阵次对角线上的元素1,5,10,10,5,1即为展 开式的系数。
2.3 MATLAB运算 2.3.1算术运算 1.基本算术运算 MATLAB的基本算术运算有:+(加)、 -(减)、*(乘)、/(右除)、\(左除)、^(乘方)。 注意,运算是在矩阵意义下进行的,单个 数据的算术运算只是一种特例。
2.1.4 MATLAB常用数学函数 MATLAB提供了许多数学函数,函数的自 变量规定为矩阵变量,运算法则是将函数 逐项作用于矩阵的元素上,因而运算的结 果是一个与自变量同维数的矩阵。 函数使用说明: (1) 三角函数以弧度为单位计算。 (2) abs函数可以求实数的绝对值、复数的模、 字符串的ASCII码值。 (3) 用于取整的函数有fix、floor、ceil、 round,要注意它们的区别。 (4) rem与mod函数的区别。rem(x,y)和 mod(x,y)要求x,y必须为相同大小的实矩阵 或为标量。
MATLAB教程--第2讲数值数组及运算
函数名 sin cos tan asin acos atan sinh cosh tanh asinh acosh atanh sqrt log log10 log2
功能 正弦函数 余弦函数 正切函数 反正弦函数 反余弦函数 反正切函数 双曲正弦函数 双曲余弦函数 双曲正切函数 反双曲正弦函数 反双曲余弦函数 反双曲正切函数 平方根 自然对数e为底 常用对数 以2为底的对数
’ —— 矩阵转置 sqrt —— 矩阵开方
矩阵的特征值和特征向量
行列式det(A-λI)是关于A的n次多项式, det(A-λI) =0是A的特征方程(n次方程),它的根就是A的特征值, 每一个特征值对应无穷多个特征向量。 T=eig(A) 求出矩阵的特征值构成列向量T [V,D]=eig(A) 先作相似变换,再求出A的特征值,构成对 角阵D.求出A的特征向量构成V的列向量 [V,D]=eig(A,’nobalance’) 直接求出A的特征值和特征向量
矩阵的条件数与病态矩阵
矩阵的条件数等于矩阵的范数与其逆矩 阵范数的乘积 cond(A)=‖A‖‖ A-1‖ cond(A) >> 1 叫病态矩阵 cond(A)接近1矩阵性能好
矩阵的范数—— 1-2-∞
A=[1 2 3 ;4 -5 6;7 -8 9] c=cond(A) c= 39.7036 c1=cond(A,1) c1 = 57.0000 c2=cond(A,2) c2 = 39.7036 c3=cond(A,inf) c3 = 72.0000
第二讲 MATLAB基本操作
三、矩阵及其运算
(四)矩阵的基本数值运算
(1)矩阵与常数的四则运算(同向量与数的四则运算) 矩阵与常数的四则运算(同向量与数的四则运算) 矩阵与常数的四则运算是指矩阵各元素与常 数之间的四则运算。 数之间的四则运算。 例如: 例如 a=[1,2,3;4,5,6;7,8,9]; 求: c=a+2; d=a-2; e=a*2; f=a/2;
例如: 例如:a, b,c,ab,a1,a_b1等等 等等
一、MATLAB的数据类型 的数据类型
(一)常量和变量
3、常量和变量的运算: 常量和变量的运算: MATLAB关于常量和变量的运算与 关于常量和变量的运算与C MATLAB关于常量和变量的运算与C语言基本相同 包括加、 乘方与开方等, 包括加、减、乘、除、乘方与开方等,符号分别为 +”、 /”、 ^”、 “+”、“-”、“*”、“/”、“^”、“sqrt()” 例如: 例如:a=2,b=4, , 求a+b=? ? a-b=? ? a*b=? ? a/b=? ? a^b=? ? sqrt(b)=?
三、矩阵及其运算
(四)矩阵的基本数值运算
(2)矩阵之间的四则运算 是一个m× 阶矩阵 阶矩阵, 是一 (ii)矩阵与矩阵乘法:若A是一个 ×s阶矩阵,B是一 )矩阵与矩阵乘法: 是一个 阶矩阵, 与矩阵B的乘积是 个s×n阶矩阵,那么规定矩阵 与矩阵 的乘积是 × 阶矩阵 那么规定矩阵A与矩阵 一个m×n矩阵,运算符为“ * ”。 一个 × 矩阵,运算符为“ 矩阵 只有当第一个矩阵(左矩阵) 注:只有当第一个矩阵(左矩阵)的列数等于第二 个矩阵(有矩阵)的行数时, 个矩阵(有矩阵)的行数时,两个矩阵的乘积 才有意义。 才有意义。 例如: 例如 a=[1,4,6;9,8,7;2,5,4], b=[2,3;0,5;3,8], 求 c=a*b;
matlab基本语法
MATLAB简介
MATLAB(MATrix LABoratory,即矩阵实验室)是MathWork公司推出的一套高效率的数值计算和可视化软件。MATLAB是当今科学界最具影响力、也是最具活力的软件,它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。
MATLAB语言之所以如此受人推崇是因为它有如下这些优点:
1.编程简单使用方便
MATLAB的基本数据单元是既不需要指定维数、也不需要说明数据类型的矩阵,而且数学表达式和运算规则与通常的习惯相同。因此,在MATLAB环境下,数组的操作与数的操作一样简单。MATLAB的矩阵和向量操作功能是其他语言无法比拟的。
2.函数库可任意扩充
由于MATLAB语言库函数与用户文件的形式相同,所以用户文件可以像库函数一样随意调用。所以用户可根据自己的需要任意扩充函数库。
3.语言简单内涵丰富
MATLAB语言中最重要的成分是函数,其一般形式为:
Function [a,b,c…]=fun(d,e,f…)
其中,fun是自定义的函数名,只要不与库函数名相重,并且符合字符串的书写规则即可。这里的函数既可以是数学上的函数,也可以是程序块或子程序,内涵十分丰富。每个函数建立一个同名的M文件,如上述函数的文件名为fun.m。这种文件简单、短小、高效,并且便于调试。
4.简便的绘图功能
MATLAB具有二维和三维绘图功能,使用方法十分简便。而且用户可以根据需要在坐标图上加标题。坐标轴标记。文本注释及栅格等,也可一指定图线形式(如实线、虚线等)和颜色,也可以在同一张图上画不同函数的曲线,对于曲面图还可以画出等高线。
第2章 MATLAB的基本语法(1)
2.2.5 内存变量的管理 1. 内存变量的显示与删除 • who和whos这两个命令用于显示在MATLAB工 作空间中已经驻留的变量名清单。
• clear命令用于删除MATLAB工作空间中的变量。 • 注意,预定义变量不能被删除。
2. 工作空间浏览器 (1) 工作空间浏览器的启动 (2) 工作空间浏览器的操作
在MATLAB语句后面可以加上注释,注释以 %开头,后面是注释的内容。
矩阵的值放在“[ ]” 中,同一行元素之间以“,” 或空格分开; 句尾用“, ”或回车,此时显示 结果;若不希望显示结果以“;”号结尾再回车。
a=[1 2 3;4 5 6;7 8 9] a=
123 456 789
x=[-1.3 sqrt(3) (1+2+3)/5*4] x=
MATLAB中所有的运算符和函数对复数 有效
f=sqrt(1+2i) f=
1.2720 + 0.7862i
>> f*f ans =
1.0000 + 2.0000i
变量检查
在调试程序时,要检查工作空间中的 变量及其阶数
变量检查用who命令
who
Your variables are:
a ans b c f x z
预设的计算结果的变量名 内建的π值 ∞值,无限大 () 无法定义一个数目 () 虚数单位i=j=√-1 函数输入参数个数 函数输出参数个数 最大的正实数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
功能:矩阵和阵列的算术运算 格式:
A+B A-B A*B A/B A./B A\B A^P A.^B A'
A.*B A.\B A.'
1. A+B 与 A-B
功能:两矩阵对应元素相加减 条件:阶数必须相同
>> A=[1 2 3;4 5 6]; >> B=[1+1i,2+2i,3+3i;4+4i,5+5i,6+6i]; >> C=A+B C= 2.0000 + 1.0000i 4.0000 + 2.0000i 6.0000 + 3.0000i 8.0000 + 4.0000i 10.0000 + 5.0000i 12.0000 + 6.0000i >> D=A-2 D= -1 2 0 3 1 4
线性间隔划分
5.MATLAB内部变量和常数
变量名
ans i,j pi eps realmax realmin Inf,inf NaN,nan
说明
MATLAB系统默认的赋值变量 虚数单位 圆周率的近似值 浮点相对精度 最大的正浮点数 最小的正浮点数 无穷大(如1/0的结果) 非数值,不定值(如0/0, inf/inf等)
数据格式:双精度格式(对应64位二进制数)
2.1.2 矩阵及其元素的赋值
赋值语句的一般形式: 变量=表达式(或数)
>> s=[1 2 3]
1.赋值要求:
输入一个行矢量
s= 1 2 3
矩阵元素列入方 括号中; 同一行中各元素 之间以“,”或空格 分开; 行与行之间以“;” 隔开。
3×3矩阵输入
>> a=[1 2 3;4 5 6;7 8 9] >>a(3,2) ans=8
a=
3×3矩阵 1 4 7 2 5 8 3 6 9
a(3,2):a变量的第3行第2列元素, >> a(4,4)=2.3 不是表示3行2列6个元素
a= 4×4矩阵
1.0000 4.0000 7.0000 0 >> size(a)
ans =4 4
2.0000 5.0000 8.0000 0
3.0000 6.0000 9.0000 0
0 0 0 2.3000
3.赋值技巧
冒号给全行元素赋值
>> a(5,:)=[2 1 5 5]
a= 1.0000 4.0000 7.0000 0 2.0000 行 3 6 2.0000 3.0000 0 5.0000 6.0000 0 8.0000 9.0000 0 0 0 2.3000 0 1.0000 5.0000 5.0000 列 如何给全列的元素赋值呢? 比如,让左边的a变成: a= 1 2 3 0 2 7 8 9 0 1
>> clear i >> z=[1,3;5,7]+[2,4;6,8]*i z= 1.0000 + 2.0000i 3.0000 + 4.0000i 5.0000 + 6.0000i 7.0000 + 8.0000i
7.变量检查
若变量已经定义,则可以按如下方法查询: >> a a= 1 7 2 8 3 9 2 1 2 1
6.复数的赋值方式
复数赋值: >> c=3+2.5i c= 3.0000 + 2.5000i
复数矩阵赋值:
>> z=[1+2i,3+4i; 5+6i,7+8i]
>> z=[1 3; 5 7]+ [2 4; 6 8]*i
z= 1.0000 + 2.0000i 3.0000 + 4.0000i 5.0000 + 6.0000i 7.0000 + 8.0000i
|(or)
~(not) xor
或:至少有一个为真,结果为真;
非:操作数为真,结果为假;操作数为假,结果 为真; 异或:操作相同时,为真。
2.2.3 逻辑运算符运用示例
>> A=1:9 A= 1 2
对A赋值 3 4 5 6 7 8 9 找出A>4的位置 0 1 1 1 1 1 对(A>4)结果取非
>> tf=A>4 tf = 0 0 0 >> tf=~(A>4) tf = 1 1 1
>> A=[1 2 3;4 5 6], B=[2 1;3 4;5 6] A= 1 4 B= 2 3 5
2 5 1 4 6
3 6
>> C=A*B C= 23 27 53 60
条件: A与B行、列数相同,或其中 之一为标量。
条件:A的列数与B的行数相等。
3. B/A 与 A\C
功能:矩阵右除与左除
右除 B/A=B*inv(A) 左除 A\C=inv(A)*C
2.0000
2.2.2 关系运算符
关系操作符
<
小于
>
大于
<=
>=
==
等于
~=
不等于
功能说明
小于或等于 大于或等于
作用:比较两个同样大小的数组,或比较一个数组和一个标 量的大小。 结果:“1”——“真”——成立 “0”——“假”——不成立
>> A=1:9,B=10-A A= 1 2 3 4 B= 9 8 7 6 >> tf=A>4 tf = 0 0 0
4.特殊矩阵与数组
>> x=rand(1,5) x= 0.4660 0.4186 (0,1)均匀分布随机矩阵 0.8462 0.5252 0.2026
>> y=randn(5,1) y= -0.1199 -0.0653 0.4853 -0.5955 -0.1497
正态分布随机矩阵
>> y=linspace(1,10,4) y= 1 4 7 10
1.1000
4. A./B 与A.\B
功能:矩阵元素右除,左除。 条件:A,B行、列数相同,或其中之一为 标量。
A./B --- A(i,j)/B(i,j) A.\B --- B(i,j)/ A(i,j)
>> A=[1 2 3;4 5 6]; >> B=[1+1i,2+2i,3+3i;4+4i,5+5i,6+6i]; >> A./B ans = 0.5000 - 0.5000i 0.5000 - 0.5000i 0.5000 - 0.5000i 0.5000 - 0.5000i 0.5000 - 0.5000i 0.5000 - 0.5000i >> A.\B ans = 1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i 1.0000 + 1.0000i
>> A=[3 1;2 4],B=[4 5],C=[3;4] A= 3 1 2 4 B= 4 5 C= 3 4 >> B/A ans = 0.6000
>> inv(A) ans =
0.4000 -0.1000 -0.2000 0.3000 >> B*inv(A) ans = 0.6000 1.1000 >> A\C ans = 0.8000 0.6000
>> whos a Name Size
Bytes
Class
a 2x5 80 double array Grand total is 10 elements using 80 bytes
若变量没有定义,则出现下列显示: >> y ??? Undefined function or variable 'y'.
>> w=[1 2 3;4 5 6;7 8 9] w= 1 4 7 2 5 8 3 6 9
2.1.2 矩阵及其元素的赋值
赋值语句的一般形式: 变量=表达式(或数)
>> w=[1*3; (1+2); sqrt(4)] 表达式赋值 w=
3 3 2
不显示结果
>> c=5;
2.变量元素的标注:‘()’的 使用
5. A^p与 A.^B
功能:矩阵幂与矩阵元素幂。
>> B=[1 2;3 4] B= 1 2 3 4 >> B^2 ans = 7 10 15 22 >> A=[1,2,3;4,5,6],B=[6 2 3;2 2 1] A= 1 2 3 4 5 6 B= 6 2 2 2 >> A.^B ans = 1 16 3 1
4 27 25 6
条件:A,B必须行、列数相同, 或其一为标量。
6. A'与A.'
功能:共轭转置与非共轭转置。
>> B=[1+1i,2+2i,3+3i ; 4+4i,5+5i,6+6i]; >> B' ans = 1.0000 - 1.0000i 4.0000 - 4.0000i 2.0000 - 2.0000i 5.0000 - 5.0000i 3.0000 - 3.0000i 6.0000 - 6.0000i >> B.' ans = 1.0000 + 1.0000i 4.0000 + 4.0000i 2.0000 + 2.0000i 5.0000 + 5.0000i 3.0000 + 3.0000i 6.0000 + 6.0000i
2.2 运算符与数学表达
MATLAB中包含有:
算术运算符 关系运算符 逻辑运算符 优先顺序: 算术运算符、关系运算符、逻辑运算符
2.2.1 算数运算符
+
* / \ ^ ‘
加法
减法 乘法 除法 左除法 指数 复共轭转置
%
.* ./ .\ .^ .' :
注释符号
元素对元素乘法 元素对元素除法 元素对元素左除法 元素对元素指数 非共轭阵列转置 冒号操作符
>> s=a([1 2],[2 3]) 取出特定的行、列 s= 2 5
>> a([2,4,5],:)= [ ] 空矩阵的运用
a=
1 7 2 8 3 9 0 0
4.特殊矩阵与数组
单位矩阵
>> A=eye(3) A= 1 0 0 0 1 0 0 0 1 >> a =[1 2 3 0; 7 8 9 0]; 产生3×3×2的“1”矩阵 >> A=ones(3,3) A= 1 1 1 1 1 1 1 1 1
7.冒号“:”运算符
格 式 j:k j:k j:i:k j:i:k 功 能 等同于[j,j+1,„,k] 当 j>k 时为空 等同于[j,j+i,j+2i,„,k] 当 i>0 且 j>k,或者 i<0 且 j<k 时为空
>> k=1:10 k= 1 2 3 4 5 6 7 8 9 10 >> x=1:0.2:2 x= 1.0000 1.2000 1.4000 1.6000 1.8000 >> x=3:-0.5:2 x= 3.0000 2.5000 2.0000
>> A=eye(size(a)) A= 1 0 0 0 0 1 0 0
0 0
产生2×3的零矩 阵
>> Z=zeros(2,3) Z= 0 0 0 0 0 0
>> A=ones(3,3,2) A(:,:,1) = 1 1 1 1 1 1 1 1 1 A(:,:,2) = 1 1 1 1 1 1 1 1 1
1
0
0
0
0
0
找出A>2且A<6的位置
>> tf=(A>2)&(A<6) tf = 0 0 1 1 1
0
0
0
0
2.2.5 数学表达式的MATLAB描述
2. A*B与A.*B
功能:矩阵相乘; 矩阵对应元素相乘
>> A=[1 2 3;4 5 6 ]; >> B=[1+1i,2+2i,3+3i;4+4i,5+5i,6+6i]; >> A.*B ans =
1.0000 + 1.0000i 4.0000 + 4.0000i 9.0000 + 9.0000i 16.0000 +16.0000i 25.0000 +25.0000i 36.0000 +36.0000i
第2讲
MATLAB的基本语法
2.1 变量及其赋值
2.2 运算符与数学表达
Fra Baidu bibliotek
2.1.1 标识符与数据格式
标识符:标志变量名,常量名,函数名,文件 名的字符串总称。
ans、eps、pi、Inf、NaN等为常量名。 变量名的命名:字符可为英文字母、数字、下划线 等,但是首字符必须是英文字母。 标准函数名以及命令名用小写字母。
6.复数的赋值方式
注意:
>> z=[1 3;5 7]+[2 4;6 8]i ??? z=[1,3;5,7]+[2,4;6,8]i Error: Missing operator, comma, or semicolon.
>> i=2; >> z=[1 3;5 7]+[2 4;6 8] *i z= 5 11 17 23
5 5
6 4
7 3
8 2
9 1
0
1
1
1
1
1
>> A>2 ans = 0 0 1 1 1 1 1 1 1
>> tf=B-(A>2) tf = 9 8 6 5 >> tf=(A==B) tf = 0 0 0
4
3
2
1
0
0
1
0
0
0
0
2.2.3 逻辑运算符
逻辑运算符 &(and) 功能描述 与:操作都为真时,结果为真;