MATLAB数据及其运算
第2章 MATLAB数据及其运算

③也可以采用矩阵元素的序号来引用矩阵元素。矩 阵元素按列编号,先第一列,再第二列,依次类 推。 显然,下标(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) %已知序号,求行 列 还可利用reshape(A,m,n)在矩阵总元素不变的前 提下,将矩阵重排
2、赋值语句
(1) 变量=表达式 (2) 表达式 一般地,运算结果在命令窗口中显示出来。如果在语句的最 后加分号,那么,MATLAB仅仅执行赋值操作,不再显示运 算的结果。 在MATLAB语句后面可以加上注释,注释以%开头,后面 是注释的内容。 例2.1 计算表达式的值,并将结果赋给变量x,然后显示 出结果。 在MATLAB命令窗口输入命令:
linspace(a,b,n)与a:(b-a)/(n-1):b等价。
logspace函数生成从10a到10b之间按对数等分的 n个元素的行向量,n如果省略则默认值为50。
21
2.3.3 矩阵的拆分
1. 矩阵元素
①MATLAB允许用户对一个矩阵的单个元素进行赋 值和操作。例如: A=ones(4);A(3,2)=200 只改变该元素的值,而不影响其他元素的值。 ② 如果给出的行下标或列下标大于原来矩阵的行数 和列数,则MATLAB将自动扩展原来的矩阵,并将 扩展后未赋值得矩阵元素置为0。例如: A(5,6)=10
10
2.2.3 数据的输出格式
MATLAB用十进制数表示一个常数,具体可 采用日常记数法和科学记数法两种表示方法。 在命令窗口中,默认情况下当数值为整数时, 数值计算的结果以整数显示;当数值为实数 时,以小数点后四位的精度近似显示,即以 短(short)格式显示;如果数值超过这一范 围,则以科学计数法显示结果。
MATLAB数据及其运算_习题答案

第2章M A T L A B数据及其运算_习题答案(总3页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第2章 MATLAB数据及其运算习题2一、选择题1.下列可作为MATLAB合法变量名的是()。
D A.合计 B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。
CA.+10 B. C.2e D.2i3.使用语句t=0:7生成的是()个元素的向量。
A A.8 B.7 C.6 D.54.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。
B A.1 B.2 C.3 D.4 5.已知a为3×3矩阵,则a(:,end)是指()。
D A.所有元素 B.第一行元素C.第三行元素 D.第三列元素6.已知a为3×3矩阵,则运行a (1)=[]后()。
A A.a变成行向量 B.a变为2行2列C.a变为3行2列 D.a变为2行3列7.在命令行窗口输入下列命令后,x的值是()。
B>> clear>> x=i*jA.不确定 B.-1 C.1 D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。
D A.34 B.354 C.453 D.439.下列语句中错误的是()。
BA.x==y==3 B.x=y=3C.x=y==3 D.y=3,x=y10.find(1:2:20>15)的结果是()。
CA.19 20 B.17 19C.9 10 D.8 911.输入字符串时,要用()将字符括起来。
CA.[ ] B.{ } C.' ' D." " 12.已知s='显示"hello"',则s的元素个数是()。
A A.9 B.11 C.7 D.1813.eval('sqrt(4)+2')的值是()。
matlab教程(第3讲-数组)

2.1数值表示、变量及表达式 (续)
运算符和表达式
运算
加 减 乘 除 幂
数学表达式
a+b a-b axb a/b或a\b
MATLAB运算符
+ * /或 \ ^
MATLAB表达式
a+b a-b a*b a/b或a\b a^b
第二种方法:使用冒号“:”操作符
〘例2-2〙创建以1~10顺序排列整数为元素的 行向量b。>>b=1:10 b=1 2 3 4 5 6 7 8 9 10
2016/11/22 Application of Matlab Language 10
所有的向量元素必须在操作符“[ ]”之内; 向量元素间用空格或英文的逗点“,”分开。
计算
z
z3
z1=3+4*i, z2=1+2*i, z3=exp(i*pi/6), z=z1*z2/z3 z_real=real(z), z_image=imag(z), z_angle=angle(z), z_length=abs(z),
2016/11/22
Application of Matlab Language
第四种方法:利用函数logspace 列向量的创建
通过实验认识该函数的功能。
使用方括号“[ ]”操作符,使用分号“;”分 割行。
〘例2-5〙键入并执行x= [1; 2; 3] X=1 2 3
使用冒号操作符
〘例2-6〙键入并执行x= (1:3)‟ % “ ‟ ”表示矩阵的转 置
2016/11/22 Application of Matlab Language 13
MATLAB数据及其运算

补:两个多维数组的 点运算。
3. MATLAB常用数学函数
函数使用说明:
(1) 三角函数以弧度为单位计算。 (2) abs函数可以求实数的绝对值、复数的 模、字符串的ASCII码值。 (3) 用于取整的函数有fix、floor、ceil、 round,要注意它们的区别。 (4) rem与mod函数的区别。rem(x,y)和 mod(x,y)要求x,y必须为相同大小的实矩阵 或为标量。
p25
A=[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ]
[1 3 5 11 13 15 ]
A( [1,3],[1 3 5] )
可以利用 一般向量 和 end 运算符来表示矩阵下标, 从而获得子矩阵。end表示某一维的末尾元素下标。
A( [1,end-பைடு நூலகம்],[1 :2:end] ) ?
例2.3 建立5阶方阵A,判断A的元素是否能被3整 除。
A =[24,35,13,22,63;23,39,47,80,80; ... 90,41,80,29,10;45,57,85,62,21;37,19,31,88,76]
P = rem(A,3)==0
其中,rem(A,3)是矩阵A的每个元素除以3的余数 矩阵。此时,0被扩展为与A同维数的零矩阵,P 是进行等于(==)比较的结果矩阵。
A(3,2)=200
采用矩阵元素的序号(Index)来引用矩阵元素。
1 矩阵元素的序号就是相应元素在内存中的排列顺序。在
4
MATLAB中,矩阵元素按列存储,先第一列,再第二列,依 次类推。例如
2 A=[1,2,3 ;
第二章MATLAB数据及其运算

显然,linspace(a,b,n) =a:(b-a)/(n-1):b
17
矩阵元素的引用
方法一:通过下标(subscript)引用矩阵的元素
– 例如 A(3,2)=200
方法二:采用矩阵元素的序号(index)来引用矩阵元素。
例:利用M文件建立MYMAT矩阵
– (1) 启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵: MYMAT=[101,102,103,104,105,106,107,108,109; 201,202,203,204,205,206,207,208,209; 301,302,303,304,305,306,307,308,309];
主要内容 MATLAB 数据的特点 变量及其操作 MATLAB矩阵的表示 MATLAB数据的运算 字符串 结构数据和单元数据
1
MATLAB数据的特点
矩阵是MATLAB最基本、最重要的数据对象 – MATLAB的大部分运算或命令都是在矩阵运算的意义 下执行的
问题: – 单个数据如何用矩阵表示?x=5 – 1*1矩阵 – 向量如何用矩阵表示?a=[1,2,3] – 行向量:1*n矩阵;列向量:n * 1矩阵
A(1,2) = [ ] 出错!
A(1,2) = 0
可以
21
主要内容 MATLAB 数据的特点 变量及其操作 MATLAB矩阵的表示 MATLAB数据的运算 字符串 结构数据和单元数据
22
MATLAB数据的运算
算术运算
– 基本算术运算 » +(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)
MATLAB之(一)数组、矩阵和函数及运算

说明 4位小数
3.14159265358979 15位小数
3.14
2位小数
355/113
最接近的有理数
format short e,t =pi 3.1416e+000
科学计数
format long e ,t =pi 四、函数
3.141592653589793e+000
MATLAB提供了大量的函数,按照起用法分为标量函数、 向量函数和矩阵函数。
14
b= 1 3 5 7
c=6:-3:-6(从6到-6公差为-3的等差数组)
c=
6 3 0 -3 -6 e=[0:2:8,ones(1,3)](等差数组和行向量的拼接)
e=
0 2468111
2数组的运算
数组除作为1×n矩阵(行向量)遵循矩阵运算外,
MATLAB还为数组提供了一些特殊运算。两个数组间的
的最重要特征是按元素进行运算。
2021/4/14
13
1 数组的输入 ⑴可以像1×n矩阵(即行向量)一样输入,如: a=[2,3,4,5] a=
2345
⑵数组常用“:”来方便地生成一些特殊的数组。如:
a=1:5(从1到5公差为1的等差数组)
a=
12345
b=1:2:7(从1到7公差为2的等差数组)
2021/4/14
(5) randn(生成正态分布随机矩阵); U=ones(3)
W=zeros(2,3) V=eye(2,4)
U=
W=
V=
111
000
2021/4/14
000
1000 0100
111
9
111
X=rand(2,3)
X=
第2章--MATLAB数据及其运算-习题答案教学内容

第2章--M A T L A B数据及其运算-习题答案第2章 MATLAB数据及其运算习题2一、选择题1.下列可作为MATLAB合法变量名的是()。
D A.合计 B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。
CA.+10 B.1.2e-5 C.2e D.2i3.使用语句t=0:7生成的是()个元素的向量。
A A.8 B.7 C.6 D.54.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。
B A.1 B.2 C.3 D.45.已知a为3×3矩阵,则a(:,end)是指()。
D A.所有元素 B.第一行元素C.第三行元素 D.第三列元素6.已知a为3×3矩阵,则运行a (1)=[]后()。
A A.a变成行向量 B.a变为2行2列C.a变为3行2列 D.a变为2行3列7.在命令行窗口输入下列命令后,x的值是()。
B >> clear>> x=i*jA.不确定 B.-1 C.1 D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。
D A.34 B.354 C.453 D.439.下列语句中错误的是()。
BA.x==y==3 B.x=y=3C.x=y==3 D.y=3,x=y10.find(1:2:20>15)的结果是()。
CA.19 20 B.17 19C.9 10 D.8 911.输入字符串时,要用()将字符括起来。
C A.[ ] B.{ } C.' ' D." " 12.已知s='显示"hello"',则s的元素个数是()。
A A.9 B.11 C.7 D.1813.eval('sqrt(4)+2')的值是()。
BA.sqrt(4)+2 B.4 C.2 D.2, 214.有3×4的结构矩阵student,每个结构有name(姓名)、scores(分数)两个成员,其中scores是以1×5矩阵表示的5门课的成绩,那么要删除第4个学生的第2门课成绩,应采用的正确命令是()。
第2章 MATLAB数据及其运算.

8 1 d 3 5
(2)利用空矩阵删除矩阵的元素 a=[ ] a的维数为0。 例:a( 2 , : )= [ ]; 8 1 6 得: 3 5 7 a a= 4 9 2 8 1 6 4 9 2
2.3.5
复数(Com part)和虚部(imaginary part)组 成。 虚数单位用i或j来表示。 6+5i = 6+5j
format bank format rat
2.3 MATLAB矩阵的表示
2.3.1 矩阵 MATLAB中最基本的数据结构是矩阵(matrix)。 1*1的矩阵----标量(scalar): [5] 只有一行或一列的矩阵-----向量(vector): [1 3 5 7]
2 4 6 8
2.4 Matlab数据的运算(Operators ) 运算符(Operators )
+ Addition
*
Subtraction
Multiplication
/
\
Division
Left division
^
Power
2.4.1 算术运算 (1)矩阵加减运算: 两个同维矩阵,才能进行加减运算,对应无素相加减。 一个标量与矩阵相加减时,结果为这个标量与矩阵的 每一个元素相加减。 x=[2,-1,0;3 2 -4]; y=ones(2,3); x-y=? [1,-2,-1;2,1,-5] x+1=? [3,0,1;4,3,-3]
在线性代数中,本没有矩阵除法,它是由逆 矩阵引申来的。 MATLAB中,矩阵求逆(Matrix inverse)的函 数为: Y = inv(X) 方程A*X=B的解为:X=inv(A)*B=A\B, A\B称为A左除B,左除时要求两矩阵行数相等。 方程X*A=B的解为:X=B*inv(A)=B/A, A/B称为A右除B,右除时要求两矩阵列数相等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
与复数相关的一些函数
real ( z ) abs ( z ) angle ( z ) conj ( z )
z = a + bi = reiθ
给出复数z的实部a = r cos θ 给出复数z的虚部b = r sin θ 给出复数z的模r = a 2 + b 2 b 给出复数z的相角θ = arctg a 给出复数z的共轭复数z
数值型数据
最常用的数据类型 建立方法:
a=1
建立double型数据a,值为1,转化,比如
b=uint8(a);
a转化为uint8类型(无符号整型,8位)赋值到b中,执行 结果a类型不变
a=uint8(a);
a转化为uint8类型
a=double(a);
a转化为double类型
字符串
建立:
使用单撇号’’括起来的字符序列,比如 str=‘This is a string’;
271.82 显示为 271.8200 2718.2 显示为 2.7182e+003 2.71828182845905 2.7183e+000 2.718281828459046e+000 2.7183 2.71828182845905 4005bf0a8b14576a + 2.72 1457/536
MATLAB数据及其运算
教学目的和要求
通过本节内容的学习,使学生掌握变量 的赋值、变量的管理、数据的输出格式; 掌握几种常用的数据类型及相关的操作 方法。
MATLAB的数据操作对象
MATLAB的基本数据单位是矩阵; 单个标量可以看成是矩阵的特例。
变量
变量命名
字母开头,包括字母、数字、下划线; 区分大小写;MATLAB提供的标准函数名以 及命令名都是小写字母。 不申明,不定义,拿来即用; 变量名长度不超过 63 ( Matlab6.5.1 版本 以上 ) (老版本只能31个) 可以用 namelengthmax 函数查看你正在使用的 matlab版本允许的变量名最多包含多少个字符
format short format long format short e format long e format short g format long g format hex format + format bank format rat
例子 使用不同的数据显示格式显示数字。 在MATLAB命令行中,键入下面的指令:
imag ( z )
实数
在采用IEEE浮点算法的计算机上,实数 的数值范围大致为10-308 ~ 10308 Matlab 中的数默认是双精度实数 (double),表示方法同 C 语言 MATLAB的数值采用习惯的十进制表示, 可以带小数点或负号。例如:
300 9.45 -10.1 1.27e3 0.001 1.2E-3
单元数据
建立
使用{ }括起来建立 a={1,’str’,[11,12;13,14]};
引用
用带有大括号下标的形式引用单元矩阵元素,如 a{1},a{2},a{3}; a{2}(1), a{2}(2), a{2}(3) a{3}(1,2), a{3}(2,2)
赋值
如a{3}(1,2)=5
本节重点总结
清除变量
clear命令
clear 清除matlab工作空间中保存的所有变量 clear a 清除变量a clear x y 清除变量x和y(x和y之间不能用逗号) clear all 清除matlab工作空间中所有的变量、函数和mex文件
内存变量保存
保存数据
save命令
save函数的使用
语法: save文件名 变量名 -append -ascii
字符串与数值的互换
str2num num2str
结构数据
建立
结构体.成员名=表达式
='Way'; student.age=26; student.grade=uint16(1);
建立结构变量student,包括三个成员名
引用
结构变量名.成员名
结构体操作
isstruct函数 %判断一个变量是否为结构体 fieldnames函数 %返回成员名 isfield函数 %判断某一名称是否为结构体的成员名 rmfield函数 %删除某一成员 getfield函数 %
MATLAB的数据类型
数值型
双精度(8字节) 单精度 带符号和无符号整型
字符串 结构体 单元cell 多维矩阵 稀疏矩阵
基本数值类型
数据类型 double single uint8 uint16 uint32 uint64 int8 int16 int32 int64 说 明 双精度数据类型 单精度数据类型 无符号8位整数 无符号16位整数 无符号32位整数 无符号64位整数 有符号8位整数 有符号16位整数 有符号32位整数 有符号64位整数 字节数 8 4 1 2 4 8 1 2 4 8
>> pi ans = 3.1416 >> format long >> pi ans = 3.14159265358979 >> format + >> pi ans = +
内存变量查阅、删除的指令
工作空间中驻留的变量查看
工作空间窗口显示 命令方式:who,whos
who 查阅matlab内存变量的简单信息 matlab whos 查阅matlab内存变量的详细信息
说 明 浮点数相对精度,定义为1.0到最近 浮点数的距离 MATLAB MATLAB能表示的实数的最大绝对值 MATLAB能表示的实数的最小绝对值 圆周率π的近似值3.1415926 复数的虚部数据最小单位 表示正无大,定义为1/0 非数,它产生于0× ∞,0/0,∞/∞ 等运算
realmax realmin pi
数的输出格式
数据输出格式控制
format函数使用 语法:format 格式符 只影响数据输出格式,不影响计算和存储 默认输出格式为short格式
指 format
令
说
明
示
例
默认的数据格式,同 short 格式一致 具有固定的显示格式,保留小数点后四位有效数 字,对于大于 1000 的数值,使用科学计数法表示 具有固定的 15 位有效数字 具有 5 位有效数字的科学计数法表示 具有 15 位有效数字的科学计数法表示 紧凑的显示方法,在 format short 和 format short e 中自动选择数据的显示格式 紧凑的显示方法,在 format long 和 format long e 中自动选择数据的显示格式 使用十六进制的数据形式表示 在使用该格式显示大矩阵时,分别使用正号、负 号或者空格显示矩阵元素中的正数、负数或者 0 使用金融的数据显示方法,小数点后只有两位有 效数字 使用近似的分数表示数值
i,j inf 或 Inf NaN或 nan
复数单位i,j的 说明
复数单位:
i = j = −1
z2=5-6*j
复数的输入: z1=3+4*i
M atlab 中 复 数 运 算 不 需 要 特 殊 处 理 , 可以直接进行,如: z1 + z 2 z1* z 2 z1 ^ 3 , , z1 − z 2 z1 / z 2
字符串操作
获取字符ASCII值
double函数或者abs函数; double(‘a’); %输出字符a的ASCII值
ASCII转化为字符输出
char函数 char(63); %输出ASCII码63代表的字符
字符串
字符串操作
执行字符串内容
eval函数 eval(‘t=1’); %将字符串‘t=1’作为MATLAB语句 执行,即上面语句的执行结果为将1赋值给变量t
变量和语句(命名、赋值)
变量命名 赋值语句 变量的建立、删除、保存等操作命令
数据的输出形式 数据类型及相应的操作方式
数值型 字符型 结构型 单元
赋值语句
变量=表达式 表达式 其中表达式是用运算符将有关运算量连接起 来的式子,其结果是一个矩阵。 前者将表达式的值赋值给=前的变量,后者 将表达式的值赋值给默认变量ans
预定义变量
在MATLAB工作空 常 量 间 中 , 还 驻 留 几 eps 个由系统本身定 义的变量。 预定义变量有特 定的含义,在使 用时,应尽量避 免对这些变量重 新赋值。