matlab第二章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
b、乘方与开方,矩阵必须为方阵
c、点运算 d、常用数学函数
第四节 数据运算
2、关系运算
判断语句 提供6种关系运算符,<,<=,>,>=,= =,~=
3、逻辑运算
与,或,非 y1 = (y>=0).*y;
例2.4 在[0,3π]区间,求y=sinx的值,要求: 1、消去负半波,即(π,2π)区间内的函数值设为零 2、 (π/3,2 π/3)和(7π/3,8 π/3)区间内取值均为
2.3 MATLAB矩阵的表示
c) 矩阵的重组 1)冒号重组 A=[1 2;3 4]; A(:)
2) reshape的使用
2.3 MATLAB矩阵的表示
c) 矩阵的重组 2) reshape(A,m,n) m为行数,n为列数 A = [1 2 3;3 4 5]; B = reshape(A,6,1) B = reshape(A,3,2) B = A(:)
其它字符串处理函数以及其含义
strcat
用于字符串的连接
num2str 将数值转换为字符串
Int2str 将整数转换为字符串
strcmp 用于字符串的比较
P=strcat(‘sichuan’,’university’)
P =[‘sichuan’,university’];
法一、x = 0:pi/100:3*pi; y = sin(x); y1 = (y>=0).*y;
法三、y1 = y; y1(y1<=0) = 0;
思考:采用法三的方式,解答要求2
2.4.3关系与逻辑运算函数
all 若向量的所有元素非零,则结果为1 any 若向量中任何一个元素非零,则结果为1 exist 判断变量(文件)是否存在 find 找到矩阵中特定元素的位置和值
sin(π/3)。 法一、x = 0:pi/100:3*pi;
y = sin(x); y1 = (x<pi|x>2*pi).*y; q = (x>pi/3&x<2*pi/3)|(x>7*pi/3&x<8*pi/3); qn = ~q; y2 = q*sin(pi/3) + qn.*y1;
例2.4 在[0,3π]区间,求y=sinx的值,要求: 1、消去负半波,即(π,2π)区间内的函数值设为零 2、 (π/3,2 π/3)和(7π/3,8 π/3)区间内取值均为
2.3 MATLAB矩阵的表示
d) 子矩阵的获取 利用冒号表达式 A为m*n维矩阵,A(:,j)表示第j列, A(:,j:j+k)表示第j列到j+k列 A(i:i+k,j:j+k)表示第i~i+k行和第j~j+k列 例:A = [1 2 3; 2 3 4];
B = A(:,1);
B = A(:,1:2);
定义不同的存储格式(ASCII、V4等)
( 2)SAVE('filename','var1','var2')
2.2.3
数据的输出格式
如果结果为整数,则显示没有小数;如果 结果不是整数,则输出形式有: format short:短格式(5位定点数)
99.1253 format long:长格式(15位定点数
第二节 变量及其操作 2.2.2、变量的管理
(1)变量的显示与删除 who,whos,clear,
(2)变量的存储和载入 save,load
内存变量的显示与删除
第一种调用方式: who:显示当前工作空间中所有变量的一个简
单列表 whos:则列出变量的大小、数据格式等详细信
息 clear :清除工作空间中所有的变量 第二种调用方式 whos 变量名:则列出指定变量的详细信息 clear 变量名:清除指定的变量 第三种调用方式, whos 变量名*:则列出一类变量的详细信息
第二节 变量及其操作
2.2.1 变量与赋值
(1)变量的命名: 字母开头、区分大小写、变量名不超过
31位、不能有中文(包括文件名)。尤其注 意命令时,变量名不与已有的M文件、内 建函数名称等重名。 例:A,a, Myphoto,m来自百度文库photo…
第二节 变量及其操作
2.2.1 变量与赋值
(2)赋值语句:两种格式 a)变量=表达式 b)表达式
[a,b] = meshgrid(ones(5),ones(5)); [a,b] = meshgrid(ones(5,5,5),ones(5,5,5));等等
b、linspace_产生一维矩阵
2.3 MATLAB矩阵的表示
2.矩阵的拆分 • 矩阵元素的访问 • 矩阵的扩充 •矩阵的重组/重构 •获取子矩阵 •矩阵元素的删除
可产生任意维矩阵 产生一维矩阵: a = ones(1,n)或a=ones(n,1);
(5)matlab的特殊命令
a、 网格矩阵(meshgrid)_产生二维矩阵 [A,B]=meshgrid(a,b)
[A,B]=meshgrid(a,a)等价于[A,B]=meshgrid(a)
输入a和b不受限制,只能参数二维矩阵。 例,[a,b] = meshgrid(ones(1,5),ones(1,5));
sin(π/3)。 法一、x = 0:pi/100:3*pi;
y = sin(x); y1 = (y>=0).*y; p = sin(pi/3); y2 = (y>=p)*p + (y<p).*y1;
例2.4 在[0,3π]区间,求y=sinx的值,要求:
1、消去负半波,即(π,2π)区间内的函数值设为零 2、 (π/3,2 π/3)和(7π/3,8 π/3)区间内取值均为sin(π/3)。
第二种,没有将表达式的值赋给一个指定的变 量,因此系统默认将该值赋给ans。
分号’;’ 的作用。 注释的表示方法。%
第二节 变量及其操作
2.2.1 变量与赋值
(3)预定义变量。 如ans 计算结果的默认值
eps 机器零阈值 i, j 虚数单位 pi 圆周率的近似值 inf, Inf,NaN, nargin nargout 函数输入输出参数个数 等
P=strcat(‘sichuan’,’university’,num2str(2009))
变量的存储和载入
(1)save filename variables 将变量列表variables所列出的变量保存到磁盘文
件filename中 Variables所表示的变量列表中,不能用逗号,各
个不同的变量之间只能用空格来分隔。 未列出variables时,表示将当前工作空间中所有
变量都保持到磁盘文件中。 缺省的磁盘文件扩展名为“.mat”,可以使用“-”
(2)M文件输入法
(3)冒号表达式
用线性等间距生成向量矩阵(start:step:end) 》a=[1:2:10]
a=
13579
其中start为起始值,step为步长,end为 终止值。当步长为1时可省略step参数; 另外step也可以取负数。
用linspace产生向量 linspace(a,b,n)
(1)直接输入法_命令行输入
》a=1; b=2; c=3; 》x=[5 b c; a*b a+c c/b] x=
5.000 2.000 3.000 2.000 4.000 1.500
》y=[2,4, 5 3 6 8] y=
245 368
矩阵生成不但可以使用纯数字(含复数),也可以 使用变量(或者说采用一个表达式)。矩阵的元素 直接排列在方括号内,行与行之间用分号隔开,每 行内的元素使用空格或逗号隔开。大的矩阵可以用 分行输入,回车键代表分号。
能否用linspace产生 a=[1:2:10]的结果
(4)函数法
调用特殊函数产生矩阵。注意事项: 生成矩阵的维数, 所调用函数的输入参数。
函数法(特殊矩阵)(ones,zeros, rand, randn等) A = ones(n);或A = ones(m,n) A = ones(5)与A=ones(5,5)等价;
2.3 MATLAB矩阵的表示
e) 矩阵元素的删除 利用空矩阵删除矩阵的元素 例:A = [1 2 3; 2 3 4]; A(:,[2 3]) =[]; A(:,2) = []; A(1,1)=[];
2.3 MATLAB矩阵的表示
两个常用的命令 length和size 例:A = [1 2 3 2 3 4];
length(A)
A = [1 2 3; 2 3 4];
size(A) size(A,1) size(A,2) size(A,3)
第四节 数据运算 1、算术运算
a、基本算术运算——加、减、乘和除: 1)进行矩阵加减时,参与运算的矩阵必须同维。 2)A/B时,A、B列数必须相同。A\B时, A、B行数 必须相同。 3)矩阵的左乘与右乘不同。(A*B 不等于 B*A) 4)矩阵的左除与右除不同。(A/B不等于 A\B)
1.矩阵的建立 2.矩阵的拆分_矩阵尺寸的变化 3.矩阵元素的删除
2.3 MATLAB矩阵的表示
1、矩阵的建立
(1)直接输入法[…]。注意元素间隔和行间隔。 (2) 由文件生成 (3)冒号法(1×N)。注意元素的个数问题。 (4)函数法(特殊矩阵)(ones,zeros,rand等) A = ones(5);或A=ones(5,5); (5)网格矩阵(meshgrid) [A,B]=meshgrid(a,b)或 [A,B]=meshgrid(a) ,或A = linspace(x1,x2,N)。 (6) 稀疏矩阵(sparse spdiags)
第二章 MATLAB数据及其运算
2.1 数据特点
(1)矩阵是MATLAB最基本、最重要的数据对象,一列 (一行)矩阵——向量
矩阵的每个元素必须具有相同数据类型
数值数据:double(双精度),single(单精度),int8, int16,int32,uint8,int6,unit32,
字符数据:char,strings (2)struct(结构体),cell(单元),稀疏矩阵(sparse)
2.4.3关系与逻辑运算函数
exist 判断变量(文件)是否存在 exist(‘名称‘,’属性‘) exist(‘a’,’var’);
2.4.3关系与逻辑运算函数
find 找到矩阵中特定元素的位置和值
二维
2.4.3关系与逻辑运算函数
find 找到矩阵中特定元素的位置和值
一维
2.5 字符串_matlab中作为行向量
Ch = ‘ABab123decwbop’; rech = Ch(end:-1:1) sortch = sort(Ch)
ans = 123ABabbcdeopw k1=find(Ch>=‘a’&Ch<=‘z’); Ch(k)=ch(k)-(‘a’-’A’);
eval的功能是把字符串的内容作为对应的matlab语 句来执行
99.12345678900000 format short e:短格式e方式
9.9123e+001 format long e:长格式e方式
9.912345678900000e+001 format bank:2位十进制 99.12 format hex:十六进制格式
2.3 MATLAB矩阵的表示
单引号的运用 xm = ‘sichuan university’; ch = [‘abcdf’;’123456’]; ch[1,1] ans = a
字符串是以ASCII码形式存储的。abs和double都可以 用来获取字符串矩阵所对应的ASCII码数值矩阵。反 之,可以用char函数将ASCII码矩阵转换为字符串
2.5 字符串
扩充与删除 A =[‘a’ ‘b’; ‘c’ ‘d’]; A(1,3) = ‘f’; A(:,1) = [];
2.5 字符串
• 矩阵乘法 A =[‘a’ ‘b’; ‘c’ ‘d’]; B = A.*A; C = A*A;
建立一个字符串向量,然后做如下处理: 1)将字符串到过来重新排列 2)将字符串按字母顺序排列(不分大小写) 3)将字符串中的所有大写字母转成小写
2.3 MATLAB矩阵的表示
a) 矩阵元素的访问 A=[1 2;3 4]; A(1,1) ans = 1 A(1,3)
2.3 MATLAB矩阵的表示
b) 矩阵的扩充 1),自动扩充矩阵元素 A=[1 2;3 4]; A(3,3)=10;
A= 1 2 0 340 0 0 10
2) []的使用 C = [A;1 3];
c、点运算 d、常用数学函数
第四节 数据运算
2、关系运算
判断语句 提供6种关系运算符,<,<=,>,>=,= =,~=
3、逻辑运算
与,或,非 y1 = (y>=0).*y;
例2.4 在[0,3π]区间,求y=sinx的值,要求: 1、消去负半波,即(π,2π)区间内的函数值设为零 2、 (π/3,2 π/3)和(7π/3,8 π/3)区间内取值均为
2.3 MATLAB矩阵的表示
c) 矩阵的重组 1)冒号重组 A=[1 2;3 4]; A(:)
2) reshape的使用
2.3 MATLAB矩阵的表示
c) 矩阵的重组 2) reshape(A,m,n) m为行数,n为列数 A = [1 2 3;3 4 5]; B = reshape(A,6,1) B = reshape(A,3,2) B = A(:)
其它字符串处理函数以及其含义
strcat
用于字符串的连接
num2str 将数值转换为字符串
Int2str 将整数转换为字符串
strcmp 用于字符串的比较
P=strcat(‘sichuan’,’university’)
P =[‘sichuan’,university’];
法一、x = 0:pi/100:3*pi; y = sin(x); y1 = (y>=0).*y;
法三、y1 = y; y1(y1<=0) = 0;
思考:采用法三的方式,解答要求2
2.4.3关系与逻辑运算函数
all 若向量的所有元素非零,则结果为1 any 若向量中任何一个元素非零,则结果为1 exist 判断变量(文件)是否存在 find 找到矩阵中特定元素的位置和值
sin(π/3)。 法一、x = 0:pi/100:3*pi;
y = sin(x); y1 = (x<pi|x>2*pi).*y; q = (x>pi/3&x<2*pi/3)|(x>7*pi/3&x<8*pi/3); qn = ~q; y2 = q*sin(pi/3) + qn.*y1;
例2.4 在[0,3π]区间,求y=sinx的值,要求: 1、消去负半波,即(π,2π)区间内的函数值设为零 2、 (π/3,2 π/3)和(7π/3,8 π/3)区间内取值均为
2.3 MATLAB矩阵的表示
d) 子矩阵的获取 利用冒号表达式 A为m*n维矩阵,A(:,j)表示第j列, A(:,j:j+k)表示第j列到j+k列 A(i:i+k,j:j+k)表示第i~i+k行和第j~j+k列 例:A = [1 2 3; 2 3 4];
B = A(:,1);
B = A(:,1:2);
定义不同的存储格式(ASCII、V4等)
( 2)SAVE('filename','var1','var2')
2.2.3
数据的输出格式
如果结果为整数,则显示没有小数;如果 结果不是整数,则输出形式有: format short:短格式(5位定点数)
99.1253 format long:长格式(15位定点数
第二节 变量及其操作 2.2.2、变量的管理
(1)变量的显示与删除 who,whos,clear,
(2)变量的存储和载入 save,load
内存变量的显示与删除
第一种调用方式: who:显示当前工作空间中所有变量的一个简
单列表 whos:则列出变量的大小、数据格式等详细信
息 clear :清除工作空间中所有的变量 第二种调用方式 whos 变量名:则列出指定变量的详细信息 clear 变量名:清除指定的变量 第三种调用方式, whos 变量名*:则列出一类变量的详细信息
第二节 变量及其操作
2.2.1 变量与赋值
(1)变量的命名: 字母开头、区分大小写、变量名不超过
31位、不能有中文(包括文件名)。尤其注 意命令时,变量名不与已有的M文件、内 建函数名称等重名。 例:A,a, Myphoto,m来自百度文库photo…
第二节 变量及其操作
2.2.1 变量与赋值
(2)赋值语句:两种格式 a)变量=表达式 b)表达式
[a,b] = meshgrid(ones(5),ones(5)); [a,b] = meshgrid(ones(5,5,5),ones(5,5,5));等等
b、linspace_产生一维矩阵
2.3 MATLAB矩阵的表示
2.矩阵的拆分 • 矩阵元素的访问 • 矩阵的扩充 •矩阵的重组/重构 •获取子矩阵 •矩阵元素的删除
可产生任意维矩阵 产生一维矩阵: a = ones(1,n)或a=ones(n,1);
(5)matlab的特殊命令
a、 网格矩阵(meshgrid)_产生二维矩阵 [A,B]=meshgrid(a,b)
[A,B]=meshgrid(a,a)等价于[A,B]=meshgrid(a)
输入a和b不受限制,只能参数二维矩阵。 例,[a,b] = meshgrid(ones(1,5),ones(1,5));
sin(π/3)。 法一、x = 0:pi/100:3*pi;
y = sin(x); y1 = (y>=0).*y; p = sin(pi/3); y2 = (y>=p)*p + (y<p).*y1;
例2.4 在[0,3π]区间,求y=sinx的值,要求:
1、消去负半波,即(π,2π)区间内的函数值设为零 2、 (π/3,2 π/3)和(7π/3,8 π/3)区间内取值均为sin(π/3)。
第二种,没有将表达式的值赋给一个指定的变 量,因此系统默认将该值赋给ans。
分号’;’ 的作用。 注释的表示方法。%
第二节 变量及其操作
2.2.1 变量与赋值
(3)预定义变量。 如ans 计算结果的默认值
eps 机器零阈值 i, j 虚数单位 pi 圆周率的近似值 inf, Inf,NaN, nargin nargout 函数输入输出参数个数 等
P=strcat(‘sichuan’,’university’,num2str(2009))
变量的存储和载入
(1)save filename variables 将变量列表variables所列出的变量保存到磁盘文
件filename中 Variables所表示的变量列表中,不能用逗号,各
个不同的变量之间只能用空格来分隔。 未列出variables时,表示将当前工作空间中所有
变量都保持到磁盘文件中。 缺省的磁盘文件扩展名为“.mat”,可以使用“-”
(2)M文件输入法
(3)冒号表达式
用线性等间距生成向量矩阵(start:step:end) 》a=[1:2:10]
a=
13579
其中start为起始值,step为步长,end为 终止值。当步长为1时可省略step参数; 另外step也可以取负数。
用linspace产生向量 linspace(a,b,n)
(1)直接输入法_命令行输入
》a=1; b=2; c=3; 》x=[5 b c; a*b a+c c/b] x=
5.000 2.000 3.000 2.000 4.000 1.500
》y=[2,4, 5 3 6 8] y=
245 368
矩阵生成不但可以使用纯数字(含复数),也可以 使用变量(或者说采用一个表达式)。矩阵的元素 直接排列在方括号内,行与行之间用分号隔开,每 行内的元素使用空格或逗号隔开。大的矩阵可以用 分行输入,回车键代表分号。
能否用linspace产生 a=[1:2:10]的结果
(4)函数法
调用特殊函数产生矩阵。注意事项: 生成矩阵的维数, 所调用函数的输入参数。
函数法(特殊矩阵)(ones,zeros, rand, randn等) A = ones(n);或A = ones(m,n) A = ones(5)与A=ones(5,5)等价;
2.3 MATLAB矩阵的表示
e) 矩阵元素的删除 利用空矩阵删除矩阵的元素 例:A = [1 2 3; 2 3 4]; A(:,[2 3]) =[]; A(:,2) = []; A(1,1)=[];
2.3 MATLAB矩阵的表示
两个常用的命令 length和size 例:A = [1 2 3 2 3 4];
length(A)
A = [1 2 3; 2 3 4];
size(A) size(A,1) size(A,2) size(A,3)
第四节 数据运算 1、算术运算
a、基本算术运算——加、减、乘和除: 1)进行矩阵加减时,参与运算的矩阵必须同维。 2)A/B时,A、B列数必须相同。A\B时, A、B行数 必须相同。 3)矩阵的左乘与右乘不同。(A*B 不等于 B*A) 4)矩阵的左除与右除不同。(A/B不等于 A\B)
1.矩阵的建立 2.矩阵的拆分_矩阵尺寸的变化 3.矩阵元素的删除
2.3 MATLAB矩阵的表示
1、矩阵的建立
(1)直接输入法[…]。注意元素间隔和行间隔。 (2) 由文件生成 (3)冒号法(1×N)。注意元素的个数问题。 (4)函数法(特殊矩阵)(ones,zeros,rand等) A = ones(5);或A=ones(5,5); (5)网格矩阵(meshgrid) [A,B]=meshgrid(a,b)或 [A,B]=meshgrid(a) ,或A = linspace(x1,x2,N)。 (6) 稀疏矩阵(sparse spdiags)
第二章 MATLAB数据及其运算
2.1 数据特点
(1)矩阵是MATLAB最基本、最重要的数据对象,一列 (一行)矩阵——向量
矩阵的每个元素必须具有相同数据类型
数值数据:double(双精度),single(单精度),int8, int16,int32,uint8,int6,unit32,
字符数据:char,strings (2)struct(结构体),cell(单元),稀疏矩阵(sparse)
2.4.3关系与逻辑运算函数
exist 判断变量(文件)是否存在 exist(‘名称‘,’属性‘) exist(‘a’,’var’);
2.4.3关系与逻辑运算函数
find 找到矩阵中特定元素的位置和值
二维
2.4.3关系与逻辑运算函数
find 找到矩阵中特定元素的位置和值
一维
2.5 字符串_matlab中作为行向量
Ch = ‘ABab123decwbop’; rech = Ch(end:-1:1) sortch = sort(Ch)
ans = 123ABabbcdeopw k1=find(Ch>=‘a’&Ch<=‘z’); Ch(k)=ch(k)-(‘a’-’A’);
eval的功能是把字符串的内容作为对应的matlab语 句来执行
99.12345678900000 format short e:短格式e方式
9.9123e+001 format long e:长格式e方式
9.912345678900000e+001 format bank:2位十进制 99.12 format hex:十六进制格式
2.3 MATLAB矩阵的表示
单引号的运用 xm = ‘sichuan university’; ch = [‘abcdf’;’123456’]; ch[1,1] ans = a
字符串是以ASCII码形式存储的。abs和double都可以 用来获取字符串矩阵所对应的ASCII码数值矩阵。反 之,可以用char函数将ASCII码矩阵转换为字符串
2.5 字符串
扩充与删除 A =[‘a’ ‘b’; ‘c’ ‘d’]; A(1,3) = ‘f’; A(:,1) = [];
2.5 字符串
• 矩阵乘法 A =[‘a’ ‘b’; ‘c’ ‘d’]; B = A.*A; C = A*A;
建立一个字符串向量,然后做如下处理: 1)将字符串到过来重新排列 2)将字符串按字母顺序排列(不分大小写) 3)将字符串中的所有大写字母转成小写
2.3 MATLAB矩阵的表示
a) 矩阵元素的访问 A=[1 2;3 4]; A(1,1) ans = 1 A(1,3)
2.3 MATLAB矩阵的表示
b) 矩阵的扩充 1),自动扩充矩阵元素 A=[1 2;3 4]; A(3,3)=10;
A= 1 2 0 340 0 0 10
2) []的使用 C = [A;1 3];