第二讲 Matlab语言程序设计.
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
赋值语句结构 直接赋值 <变量名>=<表达式> <表达式>
函数调用 [返回变量列表] = 函数名(输入变量列表)
7
3.1.2 矩阵的MATLAB表示
——简单矩阵
矩阵:纵横排列的二维数据表格
向量:矩阵只有一行或一列时,就成为向量
标量:矩阵只有一行一列,就成为标量
矩阵元素:实数或复数或表达式
>> y = 0.6+sqrt(0.1)*randn(5)
16
3.1.2 矩阵的MATLAB表示
——特殊矩阵
零矩阵:
建立一个3×3零矩阵:
zeros(3)
建立一个3×2零矩阵:
zeros(3,2)
设A为2×3矩阵,则可以用zeros(size(A))建立一个与
矩阵A同样大小零矩阵:
A=[1 2 3;4 5 6];
——空矩阵与特殊矩阵
空矩阵
>> X=[]把一个空矩阵赋给x。
特殊矩阵
伴随矩阵,对角矩阵,万达摩方阵,魔术矩阵 全0矩阵,全1矩阵,随机数矩阵,单位矩阵,线性 等距向量,对数等分向量,设三维绘图基底坐标平面
13
3.1.2 矩阵的MATLAB表示
——特殊矩阵
利用冒号表达式建立一个向量,一般格式是:
11
3.1.2 矩阵的MATLAB表示
——复数矩阵
>> B = [1 2; 3 4]+1i*[5 6; 7 8]
>> B = [1+5i 2+6i; 3+7i 4+8i]
注:矩阵元素内部不能有空格;数字和i之间不能留空
格,1i中的1不可忽略(有些版本可以忽略)。
12
3.1.2 矩阵的MATLAB表示
e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。 >> a = 0: 0.5: 10
用linspace函数产生行向量,其调用格式为:
linspace(a,b,n),其中a和b是生成向量的第一个和最 后一个元素,n是元素总数。 >> b = linspace(0,10,20)
显然,linspace(a,b,n)与a:(b-a)/(n-1):b等价
Matlab基础与应用
第二讲 MATLAB 语言程序设计基础
张文静 zhangwj@
主要内容
基本数据类型 基本运算与输入输出 程序流程语句 文件编写与调试 编程技巧
2
主要内容
基本数据类型 基本运算与输入输出 程序流程语句 文件编写与调试 编程技巧
3
3.1 基本数据类型
数值型:双精度、单精度、整数
字符串型
函数句柄
Java类
逻辑类
单元结构
数据结构体
4
3.1.1 变量、常量与赋值语句结构
变量命名规则
变量名区分大小写;
变量名最多不超过63个字符;
变量名必须以字母打头,之后可以是任意字母、
数字或下划线,变量名中不允许使用标点、空格;
MATLAB的保留关键字不能作为变量名。
5
3.1.1 变量、常量与赋值语句结构
MATLAB 保留常量
常 量 ans pi eps inf NaN i ,j lasterr lastwarn 描 述 用于结果的缺省变量名 圆周率 浮点数相对误差限 无穷大,如 1/0 不定量,如 0/0 或 inf/inf i=j= 1 存放最新一次的错误信息 存放最新的警告信息
6
3.1.1 变量、常量与赋值语句结构
3 5 7
4 9 2
18
3.1.2 矩阵的MATLAB表示
——特殊矩阵
托普利兹矩阵:
除第一行第一列外,其他每个元素都与左上角的元素 相同。生成托普利兹矩阵的函数是toeplitz(x,y),它生成 一个以x为第一列,y为第一行的托普利兹矩阵。这里x,y均
为向量,两者不必等长。
例 >>toeplitz(1:3) ans =
矩阵输入方法: 直接输入法;利用M文件建立矩阵
8
Байду номын сангаас
3.1.2 矩阵的MATLAB表示
行向量
——简单矩阵 >> A = [1 2 3, 4, 5] A=
1 2 3 4 5
列向量
>> A = [1; 2; 3; 4; 5] A= 1 2 3 4 5
9
3.1.2 矩阵的MATLAB表示
——简单矩阵
简单矩阵
( x - 1)( x - 2)( x + 3)
>>eig(A) ans = -3.0000 2.0000 1.0000 15
3.1.2 矩阵的MATLAB表示
——特殊矩阵
随机矩阵:
在区间[20,50]内均匀分布的5阶随机矩阵
>> x = 20+(50-20)*rand(5)
均值为0.6、方差为0.1的5阶正态分布随机矩阵
例:
1 2 3 A 4 5 6 7 8 9
输入方法2: >> A = [1 2 3 456 7 8 9] A= 1 4 7
输入方法1: >>A = [1 2 3; 4, 5, 6; 7 8 9]
A= 1 4 7
2 5 8
3 6 9
2 5 8
3 6 9 10
3.1.2 矩阵的MATLAB表示
1 2 3 2 1 2 3 2 1
19
3.1.2 矩阵的MATLAB表示
——特殊矩阵
万达摩方阵:
——简单矩阵
矩阵元素还可以由表达式构成, 例如
>> x = [-1.3, sqrt(3), (1+2+3)*4/5]
得到如下结果:
x =
-1.3000 1.7321 4.8000
矩阵元素可以用下标变量的形式来引用
>> x(5) = abs(x(1))
x = -1.3000
1.7321
4.8000
0
1.3000
14
3.1.2 矩阵的MATLAB表示
——特殊矩阵
伴随矩阵:
生成伴随矩阵的函数是compan(p),其中p是一个多项式
的系数向量,高次幂系数排在前,低次幂排在后。 例: 求多项式 x 3 - 7 x + 6 的伴随矩阵,可用命令 >> A=[1,0,-7,6]; >> compan(A) ans= 0 -7 6 1 0 0 0 1 0
zeros(size(A))
%产生一个2×3阶矩阵A
%产生与A同样大小的零矩阵
17
3.1.2 矩阵的MATLAB表示
——特殊矩阵
魔方矩阵:
每行、每列及两条对角线上的元素和都相等。对于n阶魔 方阵,其元素由1,2,3,…,n2共n2个整数组成。求魔方矩阵的 函数是magic(n),其功能是生成一个n阶魔方阵。 >>magic(3) ans= 8 1 6
函数调用 [返回变量列表] = 函数名(输入变量列表)
7
3.1.2 矩阵的MATLAB表示
——简单矩阵
矩阵:纵横排列的二维数据表格
向量:矩阵只有一行或一列时,就成为向量
标量:矩阵只有一行一列,就成为标量
矩阵元素:实数或复数或表达式
>> y = 0.6+sqrt(0.1)*randn(5)
16
3.1.2 矩阵的MATLAB表示
——特殊矩阵
零矩阵:
建立一个3×3零矩阵:
zeros(3)
建立一个3×2零矩阵:
zeros(3,2)
设A为2×3矩阵,则可以用zeros(size(A))建立一个与
矩阵A同样大小零矩阵:
A=[1 2 3;4 5 6];
——空矩阵与特殊矩阵
空矩阵
>> X=[]把一个空矩阵赋给x。
特殊矩阵
伴随矩阵,对角矩阵,万达摩方阵,魔术矩阵 全0矩阵,全1矩阵,随机数矩阵,单位矩阵,线性 等距向量,对数等分向量,设三维绘图基底坐标平面
13
3.1.2 矩阵的MATLAB表示
——特殊矩阵
利用冒号表达式建立一个向量,一般格式是:
11
3.1.2 矩阵的MATLAB表示
——复数矩阵
>> B = [1 2; 3 4]+1i*[5 6; 7 8]
>> B = [1+5i 2+6i; 3+7i 4+8i]
注:矩阵元素内部不能有空格;数字和i之间不能留空
格,1i中的1不可忽略(有些版本可以忽略)。
12
3.1.2 矩阵的MATLAB表示
e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。 >> a = 0: 0.5: 10
用linspace函数产生行向量,其调用格式为:
linspace(a,b,n),其中a和b是生成向量的第一个和最 后一个元素,n是元素总数。 >> b = linspace(0,10,20)
显然,linspace(a,b,n)与a:(b-a)/(n-1):b等价
Matlab基础与应用
第二讲 MATLAB 语言程序设计基础
张文静 zhangwj@
主要内容
基本数据类型 基本运算与输入输出 程序流程语句 文件编写与调试 编程技巧
2
主要内容
基本数据类型 基本运算与输入输出 程序流程语句 文件编写与调试 编程技巧
3
3.1 基本数据类型
数值型:双精度、单精度、整数
字符串型
函数句柄
Java类
逻辑类
单元结构
数据结构体
4
3.1.1 变量、常量与赋值语句结构
变量命名规则
变量名区分大小写;
变量名最多不超过63个字符;
变量名必须以字母打头,之后可以是任意字母、
数字或下划线,变量名中不允许使用标点、空格;
MATLAB的保留关键字不能作为变量名。
5
3.1.1 变量、常量与赋值语句结构
MATLAB 保留常量
常 量 ans pi eps inf NaN i ,j lasterr lastwarn 描 述 用于结果的缺省变量名 圆周率 浮点数相对误差限 无穷大,如 1/0 不定量,如 0/0 或 inf/inf i=j= 1 存放最新一次的错误信息 存放最新的警告信息
6
3.1.1 变量、常量与赋值语句结构
3 5 7
4 9 2
18
3.1.2 矩阵的MATLAB表示
——特殊矩阵
托普利兹矩阵:
除第一行第一列外,其他每个元素都与左上角的元素 相同。生成托普利兹矩阵的函数是toeplitz(x,y),它生成 一个以x为第一列,y为第一行的托普利兹矩阵。这里x,y均
为向量,两者不必等长。
例 >>toeplitz(1:3) ans =
矩阵输入方法: 直接输入法;利用M文件建立矩阵
8
Байду номын сангаас
3.1.2 矩阵的MATLAB表示
行向量
——简单矩阵 >> A = [1 2 3, 4, 5] A=
1 2 3 4 5
列向量
>> A = [1; 2; 3; 4; 5] A= 1 2 3 4 5
9
3.1.2 矩阵的MATLAB表示
——简单矩阵
简单矩阵
( x - 1)( x - 2)( x + 3)
>>eig(A) ans = -3.0000 2.0000 1.0000 15
3.1.2 矩阵的MATLAB表示
——特殊矩阵
随机矩阵:
在区间[20,50]内均匀分布的5阶随机矩阵
>> x = 20+(50-20)*rand(5)
均值为0.6、方差为0.1的5阶正态分布随机矩阵
例:
1 2 3 A 4 5 6 7 8 9
输入方法2: >> A = [1 2 3 456 7 8 9] A= 1 4 7
输入方法1: >>A = [1 2 3; 4, 5, 6; 7 8 9]
A= 1 4 7
2 5 8
3 6 9
2 5 8
3 6 9 10
3.1.2 矩阵的MATLAB表示
1 2 3 2 1 2 3 2 1
19
3.1.2 矩阵的MATLAB表示
——特殊矩阵
万达摩方阵:
——简单矩阵
矩阵元素还可以由表达式构成, 例如
>> x = [-1.3, sqrt(3), (1+2+3)*4/5]
得到如下结果:
x =
-1.3000 1.7321 4.8000
矩阵元素可以用下标变量的形式来引用
>> x(5) = abs(x(1))
x = -1.3000
1.7321
4.8000
0
1.3000
14
3.1.2 矩阵的MATLAB表示
——特殊矩阵
伴随矩阵:
生成伴随矩阵的函数是compan(p),其中p是一个多项式
的系数向量,高次幂系数排在前,低次幂排在后。 例: 求多项式 x 3 - 7 x + 6 的伴随矩阵,可用命令 >> A=[1,0,-7,6]; >> compan(A) ans= 0 -7 6 1 0 0 0 1 0
zeros(size(A))
%产生一个2×3阶矩阵A
%产生与A同样大小的零矩阵
17
3.1.2 矩阵的MATLAB表示
——特殊矩阵
魔方矩阵:
每行、每列及两条对角线上的元素和都相等。对于n阶魔 方阵,其元素由1,2,3,…,n2共n2个整数组成。求魔方矩阵的 函数是magic(n),其功能是生成一个n阶魔方阵。 >>magic(3) ans= 8 1 6