科学工程计算与matlab编程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章 MATLAB 语言程序设计基础
MATLAB 语言是当前国际上自动控制领域的首选 计算机语言,也是很多理工科专业最适合的计算机数学 语言。通过学习可更深入理解和掌握数学问题的求解思 想,提高求解数学问题的能力,为今后其他专业课程的 学习提供帮助。
MATLAB语言的优势: • MATLAB 语言的简洁高效性 • MATLAB 语言的科学运算功能 • MATLAB 语言的绘图功能 • MATLAB 庞大的工具箱与模块集 • MATLAB 强大的动态系统仿真功能
本章主要内容
• MATLAB 程序设计语言基础 • 基本数学运算 • MATLAB语言流程控制 • MATLAB 函数的编写 • 二维图形绘制 • 三维图形绘制
2.1 MATLAB 程序设计语言基础
• MATLAB 语言的变量命名规则是: (1)变量名必须是不含空格的单个词; (2)变量名区分大小写; (3)变量名最多不超过19个字符; (4)变量名必须以字母打头,之后可以是
(2)“%” 后面所有文字为注释. (3) “...”表示续行.
数值型数据结构
• 双精度数值变量 – IEEE标准,64位 (占8字节),11指数位,53 数值位和一个符号位
– – double( ) 函数的转换 • 其他数据类型 – uint8( ),无符号8位整形数据类型,值域为0
至255,常用于图像表示和处理。(节省存 储空间,提高处理速度)
0 0.4000 0.8000 1.2000 1.6000 2.0000 2.4000 2.8000 3.1416
子矩阵提取
• 基本语句格式 B=A(v1,v2) v1、 v2分别表示提取行(列)号构成的向量。
例:>> A=[1,2,3,4;3,4,5,6;5,6,7,8;7,8,9,0]
A=
1234
• 函数调用语句
[返回变量列表]=函数名(输入变量列表)
例:[a,b,c]=my_fun(d,e,f,c) • 冒号表达式
v=s1:s2:s3 该函数生成一个行向量v,其中s1是起始值, s2是步 长变(量若的省 范略 围步 ,长 生为成1一)组,数s%3是最大值。%用来定义自
例:用不同的步距生成 (0,p) 间向量。
3456
5678
ห้องสมุดไป่ตู้
7890
>> B1=A(1:2:end,:) %提取全部奇数行、所有列。
B1 =
“ ,”前表示行,其后表示列
1234
5678
>> B2=A([3,2,1],[2,3,4]) %提取3,2,1行、2, 3,4列构成子矩阵。 A =
MATLAB支持的其它数据结构
• 字符串型数据:用单引号括起来 。 • 多维数组:是矩阵的直接扩展,多个下标。 • 单元数组:将不同类型数据集成到一个变
量名下面,用{}表示;例:用A{i,j}可表示 单元数组A的第i行,第j列的内容。 • 类与对象:允许用户自己编写包含各种复 杂详细的变量,可以定义传递函数。
– int8( ), int16( ), int32( ),uint16( ), uint32( )
符号型变量数据类型
• 符号型,sym(A), 常用于公式推导、解析解解法
– 符号变量声明
• syms var_list var_props • 例:syms a b real
•
syms c positive
任意字母、数字或下划线,变量名中 不允许使用标点符号
MATLAB 的保留常量
特殊变量 ans pi
eps
flops inf NaN i,j nargin nargout realmin realmax
取值 用于结果的缺省变量名 圆周率 计算机的最小数,当和 1 相加就产生一个比 1 大的数 浮点运算数 无穷大,如 1/0 不定量,如 0/0 i=j= 1 所用函数的输入变量数目 所用函数的输出变量数目 最小可用正实数 最大可用正实数
– 符号型数值可采用变精度函数求值
•
vpa(A), 或 vap(A,n)
>> vpa(pi)
ans =
3.1415926535897932384626433832795
>> vpa(pi,60)
ans =
3.14159265358979323846264338327950288419716939937 510582097494
数学运算符号及标点符号
+ 加法运算,适用于两个数或两个同阶矩阵相加. — 减法运算 * 乘法运算 .* 点乘运算 / 除法运算 ./ 点除运算 ^ 乘幂运算 .^ 点乘幂运算 \ 反斜杠表示左除.
(1)MATLAB的每条命令后,若为逗号或无标点符号, 则显示命令的结果;若命令后为分号,则禁止显示结果.
>> v2=0:-0.1:pi %步距为负,不能生成向量,得 出空矩阵
v2 =
Empty matrix: 1-by-0 >> v3=0:pi %默认步长为1 v3 =
0123 >> v4=pi:-1:0 %逆序排列构成新向量 v4 =
3.1416 2.1416 1.1416 0.1416 >> v5=[0:0.4:pi,pi] %pi的值出现在最后% v5 =
>> v1=0:0.2:pi v1 =Columns 1 through 9
0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 Columns 10 through 16
1.8000 2.0000 2.2000 2.4000 2.6000 2.8000 3.0000
MATLAB 的基本语句结构
• 直接赋值语句
赋值变量=赋值表达式 例:>> a=pi^2
a= 9.8696
例:表示矩阵
%行与行用分号隔开,各个元素之间用逗号隔开。%
>> B=[1+9i,2+8i,3+7j;4+6j 5+5i,6+4i;7+3i,8+2j 1i] B=
1.0000 + 9.0000i 2.0000 + 8.0000i 3.0000 + 7.0000i 4.0000 + 6.0000i 5.0000 + 5.0000i 6.0000 + 4.0000i 7.0000 + 3.0000i 8.0000 + 2.0000i 0 + 1.0000i
MATLAB 语言是当前国际上自动控制领域的首选 计算机语言,也是很多理工科专业最适合的计算机数学 语言。通过学习可更深入理解和掌握数学问题的求解思 想,提高求解数学问题的能力,为今后其他专业课程的 学习提供帮助。
MATLAB语言的优势: • MATLAB 语言的简洁高效性 • MATLAB 语言的科学运算功能 • MATLAB 语言的绘图功能 • MATLAB 庞大的工具箱与模块集 • MATLAB 强大的动态系统仿真功能
本章主要内容
• MATLAB 程序设计语言基础 • 基本数学运算 • MATLAB语言流程控制 • MATLAB 函数的编写 • 二维图形绘制 • 三维图形绘制
2.1 MATLAB 程序设计语言基础
• MATLAB 语言的变量命名规则是: (1)变量名必须是不含空格的单个词; (2)变量名区分大小写; (3)变量名最多不超过19个字符; (4)变量名必须以字母打头,之后可以是
(2)“%” 后面所有文字为注释. (3) “...”表示续行.
数值型数据结构
• 双精度数值变量 – IEEE标准,64位 (占8字节),11指数位,53 数值位和一个符号位
– – double( ) 函数的转换 • 其他数据类型 – uint8( ),无符号8位整形数据类型,值域为0
至255,常用于图像表示和处理。(节省存 储空间,提高处理速度)
0 0.4000 0.8000 1.2000 1.6000 2.0000 2.4000 2.8000 3.1416
子矩阵提取
• 基本语句格式 B=A(v1,v2) v1、 v2分别表示提取行(列)号构成的向量。
例:>> A=[1,2,3,4;3,4,5,6;5,6,7,8;7,8,9,0]
A=
1234
• 函数调用语句
[返回变量列表]=函数名(输入变量列表)
例:[a,b,c]=my_fun(d,e,f,c) • 冒号表达式
v=s1:s2:s3 该函数生成一个行向量v,其中s1是起始值, s2是步 长变(量若的省 范略 围步 ,长 生为成1一)组,数s%3是最大值。%用来定义自
例:用不同的步距生成 (0,p) 间向量。
3456
5678
ห้องสมุดไป่ตู้
7890
>> B1=A(1:2:end,:) %提取全部奇数行、所有列。
B1 =
“ ,”前表示行,其后表示列
1234
5678
>> B2=A([3,2,1],[2,3,4]) %提取3,2,1行、2, 3,4列构成子矩阵。 A =
MATLAB支持的其它数据结构
• 字符串型数据:用单引号括起来 。 • 多维数组:是矩阵的直接扩展,多个下标。 • 单元数组:将不同类型数据集成到一个变
量名下面,用{}表示;例:用A{i,j}可表示 单元数组A的第i行,第j列的内容。 • 类与对象:允许用户自己编写包含各种复 杂详细的变量,可以定义传递函数。
– int8( ), int16( ), int32( ),uint16( ), uint32( )
符号型变量数据类型
• 符号型,sym(A), 常用于公式推导、解析解解法
– 符号变量声明
• syms var_list var_props • 例:syms a b real
•
syms c positive
任意字母、数字或下划线,变量名中 不允许使用标点符号
MATLAB 的保留常量
特殊变量 ans pi
eps
flops inf NaN i,j nargin nargout realmin realmax
取值 用于结果的缺省变量名 圆周率 计算机的最小数,当和 1 相加就产生一个比 1 大的数 浮点运算数 无穷大,如 1/0 不定量,如 0/0 i=j= 1 所用函数的输入变量数目 所用函数的输出变量数目 最小可用正实数 最大可用正实数
– 符号型数值可采用变精度函数求值
•
vpa(A), 或 vap(A,n)
>> vpa(pi)
ans =
3.1415926535897932384626433832795
>> vpa(pi,60)
ans =
3.14159265358979323846264338327950288419716939937 510582097494
数学运算符号及标点符号
+ 加法运算,适用于两个数或两个同阶矩阵相加. — 减法运算 * 乘法运算 .* 点乘运算 / 除法运算 ./ 点除运算 ^ 乘幂运算 .^ 点乘幂运算 \ 反斜杠表示左除.
(1)MATLAB的每条命令后,若为逗号或无标点符号, 则显示命令的结果;若命令后为分号,则禁止显示结果.
>> v2=0:-0.1:pi %步距为负,不能生成向量,得 出空矩阵
v2 =
Empty matrix: 1-by-0 >> v3=0:pi %默认步长为1 v3 =
0123 >> v4=pi:-1:0 %逆序排列构成新向量 v4 =
3.1416 2.1416 1.1416 0.1416 >> v5=[0:0.4:pi,pi] %pi的值出现在最后% v5 =
>> v1=0:0.2:pi v1 =Columns 1 through 9
0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 Columns 10 through 16
1.8000 2.0000 2.2000 2.4000 2.6000 2.8000 3.0000
MATLAB 的基本语句结构
• 直接赋值语句
赋值变量=赋值表达式 例:>> a=pi^2
a= 9.8696
例:表示矩阵
%行与行用分号隔开,各个元素之间用逗号隔开。%
>> B=[1+9i,2+8i,3+7j;4+6j 5+5i,6+4i;7+3i,8+2j 1i] B=
1.0000 + 9.0000i 2.0000 + 8.0000i 3.0000 + 7.0000i 4.0000 + 6.0000i 5.0000 + 5.0000i 6.0000 + 4.0000i 7.0000 + 3.0000i 8.0000 + 2.0000i 0 + 1.0000i