MATLAB程序设计与应用-(第二版)
2016-03-18 01:21:32 6 举报
AI智能生成
《MATLAB程序设计与应用-(第二版)》是一本介绍MATLAB编程的实用教程。本书详细介绍了MATLAB的基本概念、语法规则和常用函数,并通过实例演示了如何利用MATLAB进行科学计算、数据处理、图像处理和信号处理等实际应用。此外,本书还介绍了MATLAB的图形用户界面设计、嵌入式系统开发和并行计算等方面的知识。全书内容通俗易懂,适合初学者阅读。
作者其他创作
大纲/内容
MATLAB程序设计与应用-(第二版)
基础篇
第1章MATLAB系统环境
1.1MATLAB概貌
1.1.1MATLAB的发展
1.1.2MATLAB的主要功能
1.1.3MATLAB功能演示
1.2MATLAB环境的准备
1.2.1MATLAB的安装
1.2.2MATLAB的启动与退出
1.3MATLAB操作界面
1.3.1主窗口
1.3.2命令窗口
1.3.3工作空间窗口
1.3.4当前目录窗口和搜索路径
搜索过程
1变量2内部函数3当前目录下m文件4其他搜索目录m文件
1.3.5命令历史记录窗口
1.3.6Stalt菜单
1.4MATLAB帮助系统
1.4.1帮助命令
help
lookfor 包含(很卡,慎用,Ctrl+C暂停)
1.4.2帮助窗口
helpwin
doc
将代替helpdesk
1.4.3演示系统
习题一
第2章MATLAB数据及其运算
2.1MATLAB数据的特点
默认双精度,占用64位,即8个字节
2.2变量及其操作
2.2.1变量与赋值
1.变量命名
字母开头,后街字母、数字、下划线,最多63个字符
2.赋值语句
变量=表达式
表达式
赋值给预定义变量ans
;结尾不显示运算结果
%开头注释
3.预定义变量
ans计算结果的默认赋值变量
eps机器零阀值
pi圆周率π的近似值
循环变量用ii等,不用i或j
Inf inf无穷大如1/0
NaN nan非数如0/0,Inf/Inf
nargin函数输入参数个数nargout函数输出参数个数
realmax最大正实数realmin最小正实数
lasterr存放最新的错误信息lastwarn存放最新的警告信息
2.2.2变量的管理
who变量名清单
whos变量名大小 字节 类型
clear清除工作空间中的变量(预定义变量除外)
save 文件名 [文件名表] [-append]追加 [-ascii]以ASCII处理load 文件名 [文件名表] [-ascii]以ASCII处理
拓展名.mat
2.2.3数据的输出格式
format 格式符
short
1000小数后4位,不超过7位有效数字
1000科学计数5位有效数字
long
15位有效数字
科学计数short elong e
自动科学计数short glong g
rat近似有理数
hex十六进制
+只显示正负(0为空格)
bank银行元角分
compact没有空行loose有空行
2.3MATLAB矩阵的表示
2.3.1矩阵的建立
[]
;或回车换行
2.3.2冒号表达式
起始值a:步长默认1:终止值b
同a:(b-a)/(n-1):b
2.3.3矩阵的拆分
下标Subscript
用:表示所有列/行(用向量提取特定元素集合)
end末下标
A(序号)
序号Index按列编号=(列号-1)*行数+行号
矩阵大小
行数列数较大者=length(A)=max(size(A))
维数=ndims(A)
1时纵向合并
2时横向合并
3时(;;n)显示
[]空矩阵删除元素
2.4MATLAB数据的运算
2.4.1算术运算
基本运算矩阵运算
+
-
C=A*B行列m×p=m×n*n×pC对应=ΣA对应行横×B对应列竖
A\\B=inv(A)*BA/B=A*inv(B)上指逆(非奇异)标量a/b=b\\a
点运算
.*
./
.\\
.^
数学函数
三角函数
三角
反三角
双曲
反双曲
指数对数
sqrt()平方根
exp()自然指数
pow2()
log()自然对数ln
log10()常用对数
复数
angle()幅角
real()实部
imag()虚部
数论
abs()绝对值
取整
ceil()上取整
floor()下取整
fix()向零(中)取整
round()四舍五入
sign()符号函数
gcd()最大公因子
lcm()最小公倍数
2.4.2关系运算
=
2.4.3逻辑运算
矩阵& | ~
标量&& ||
关系与逻辑运算函数
逻辑
all()全非0,与
any()任非0,或
xor()全0或全非0,亦或
find()寻位
返量时不用函数更快
例A(Ab)
判断
exist()存在
isempty()空,比length()==0快
isglobal()全局
isinf()无穷
isnan()非数
isfinite()有限
issparse()稀疏矩阵
isstr()字符串
2.5字符串
当作行向量,各行字符数相等
abs() double()转ASCII数值矩阵
char(ASCII码矩阵)转换字符串
eval(MATLAB语句字符串)转换成语句执行
字符串内的'用''
[]括起来拼凑
字符串处理函数
转字符串
setstr()ASCII码转字符
mat2str()矩阵转字符串
num2str()数值转字符串
int2str()整数转字符串
str2num()字符串转数值
strcat()连接
strcmp()比较
2.6结构数据和单元数据
2.6.1结构数据
结构矩阵名.成员名=表达式
结构函数
struct()建立或转换为结构矩阵
获取
fieldname()获取成员结构名
getfield()获取结构成员的内容
isstruct()是结构为真
isfield()成员在结构中时为真
setfield()设定结构成员的内容
rmfield()删除结构成员
2.6.2单元数据
{单元数据}
单元数据名{单元数据下标}
单元函数
celldisp()显示单元矩阵内容
cellplot()显示单元矩阵的图形描述
deal()把输入分配给输出
iscell()是单元矩阵时为真
转换
num2cell
cell2struct
struct2cell
习题二
第3章MATLAB矩阵分析与处理
3.1特殊矩阵
3.1.1通用的特殊矩阵
zeros()全0矩阵
ones()全1矩阵
eye()单位矩阵:主对角线全1其余0的方阵I/E/U,AI=IA=A
rand()均匀随机矩阵0~1
randn()正态随机矩阵0~1
3.1.2用于专门学科的特殊矩阵
magic()魔方矩阵:每行每列及对角线和相等
vander([a;b;c;d]);范德蒙德(Vandermonde)矩阵
hilb()希尔伯特(Hilbert)矩阵:元素1/(i+j-1)
invhilb希尔伯特逆矩阵:因其条件数很差
compan()伴随矩阵:首行对应多项式a_n-i / a_n 下面是单位矩阵
pascal()帕斯卡(Pascal)矩阵:(x+y)^n展开系数杨辉三角
3.2矩阵结构变换
3.2.1对角阵与三角阵
3.2.2矩阵的转置与旋转
'转置
rot90()逆时针左旋转
fliplr()左右翻转
flipud()上下翻转
3.3矩阵求逆与线性方程组求解
3.3.1矩阵的逆与伪逆
inv()逆:A·B=B·A=单位矩阵I,满秩方阵才有
pinv()伪逆:A·B·A=A与B·A·B=B
3.3.2用矩阵求逆方法求解线性方程组
inv(A)*b或A\\b
3.4矩阵求值
3.4.1方阵的行列式值
det()行列式值
3.4.2矩阵的秩与迹
rank()秩
trace()迹:对角线之和
3.4.3向量和矩阵的范数
3.4.4矩阵的条件数
3.5矩阵的特征值与特征向量
eig()特征值/向量
例3.9求特征值的方法解方程
p=[系数向量];A=compan(p);%伴随矩阵x1=eig(A)%求A的特征值
同roots(p)
根为伴随矩阵的特征值
3.6矩阵的超越函数
超越(矩阵)函数:在运算函数后+m对矩阵整体进行运算
习题三
第4章MATLAB程序设计
4.1M文件
4.1.1M文件的分类
命令文件(Script File)
开头一般会用clear清除工作空间
函数文件(Function File)
开头必须是函数声明
function [返回参数]=函数名与文件名相同(输入参数)
4.1.2M文件的建立与打开
4.2程序控制结构
4.2.1顺序结构
1.数据的输入
2.数据的输出
3.程序的暂停
pause(延迟秒数);
pause 暂停直到按任意键继续
Ctrl+C强行终止程序
4.2.2选择结构
if 条件 语句组 1elseif 语句组 melse 语句组end
C语言是else if(条件)语句组;
swith 表达式case 表达式 m 语句组 motherwise 语句组end
C语言是case m:语句组m;default:语句组;
try 语句组 1catch 语句组 2end
4.2.3循环结构
for 循环变量(列赋值)=矩阵表达式 循环体语句end
实际常用向量代替
while 条件 循环体语句end
do while方法
while 1 循环体语句 if 条件 break endend
break结束循环
continue进入下一循环
4.3函数文件
4.3.1函数文件的基本结构
function [输出形参表]=函数名(输入形参表)% 大写函数名 帮助用简要描述% % 作者、修改日期、版本信息 函数体语句
文件名(优先)与函数名相同
return结束函数运行并返回(通常可不用)
4.3.2函数调用
[输出形参表]=函数名(输入形参表)
4.3.3函数参数的可调性
nargin输入实参个数
nargout输出实参个数
4.3.4全局变量与局部变量
global 全局变量名
用到的地方都要在前面定义
4.4程序调试
第5章MATLAB绘图
5.1二维图形
5.1.1绘制二维曲线的基本函数
3.含选项的plot函数
'-''--'':''-.''none'
'y' [1 1 0] 'yellow''m' [1 0 1] 'magenta''c' [0 1 1] 'cyan''r' [1 0 0] 'red''g' [0 1 0] 'green''b' [0 0 1] 'blue''w' [1 1 1] 'white''k' [0 0 0] 'black
;
5.1.2绘制图形的辅助操作
1.图形标注
title('图形名称')
xlabel('x轴说明')
ylabel('y轴说明')
2.坐标控制
3.图形保持
hold onhold off
4.图形窗口的分割
5.1.3绘制二维图形的其他函数
直角
bar()条形图
stairs()阶梯图
stem()杆图
fill()填充图
极坐标
对数
semilogx()
semilogy()
loglog()
自适应采样
其他
pie([向量])饼图
compass([复向量])向量图
5.2三维图形
plot3()
meshc()带等高线
meshz()带底座
surfc()带等高线
surfl()带光照
sphere(n默认20)三维球面
peaks()多峰函数
其他三维图
bar3()条形图
stairs3()阶梯图
stem3()杆图
fill3()填充图
waterfall()瀑布图
contour()二维等高线图
contour3()三维等高线图
5.3三维图形的精细处理
分支主题
5.4隐函数绘图
ezplot3()
ezpolar()
ezcontour()
ezcontourf()
ezmesh()
ezmeshc()
ezsurf()
ezsurfc()
5.5低层绘图操作
5.5.1图形对象及其句柄
1.图形对象
计算机屏幕(必有)
图形窗口(必有)Figure
坐标轴Axes
曲线Line
曲面Surface
文字Text
图像Image
光源Light
区域块Patch
方框Rectangle
用户菜单Uimenu
用户控件Uicontrol
2.图形对象句柄
gcf获取当前图形窗口句柄
gca获取当前坐标轴的句柄
gco获取最近被选中的图形对象的句柄
findobj按照指定的属性来获取图形对象的句柄
5.5.2图形对象属性
属性的操作
公共属性
''
5.5.3图形对象的创建
1.图形窗口对象
图形框口对象创建关闭
figure创建默认属性窗口
句柄变量=figure
figure(窗口句柄或整数)显示(或创建)并设定为当前窗口
close(窗口句柄)关闭窗口
close all关闭所有窗口
clf清除当前窗口内容
图形窗口对象特有属性
2.坐标轴对象
5.6光照和材质处理
5.7图像显示与动画制作
5.7.1图像显示
5.7.2动画制作
1.影片动画制作
getframe截取每一幅画面信息
moviein(n)建立用于保存n幅画面的数据矩阵
第6章MATLAB数值计算
6.1数据处理与多项式计算
6.1.1数据统计与分析
mean()算数平均
median()中值
sum()和
prod()积
cumsum()累加和
cumprod()累乘积
corrcoef()同大小相关系数
6.1.2数据插值
6.1.3曲线拟合
6.1.4多项式计算
roots()求根
poly(x)以x为根的多项式系数
6.2数值微积分
以后的版本将用integral替代quad和quadl且不支持inline
以后将用@(变量)函数 代替inline函数
6.3离散傅里叶变换
fft、ifft、fft2、ifft2、fftn、ifftn
6.4线性方程求解
6.4.1直接解法
x=A^-1*b
x=A\\b
上三角阵U
下三角阵L
置换矩阵P默认1
方阵A
PX=LU
正交矩阵Q
上三角阵R
置换矩阵E略为1
XE=QR
R=chol(A);x=R\\(R'\\b)
R对称正定时p=0;
6.4.2迭代解法
6.4.3求线性方程组的通解
6.5非线性方程与最优化问题求解
6.5.1非线性方程数值求解
单变量
最优化工具箱
optimset显示与运用
option=optimset;option.LargeScale='off';
选项
'Display'中间结果显示
'off'不显示
'iter'每步都显示
‘final'只显示最终
'LargeScale'是否用大规模问题算法
'off'
'on'
'MaxIter'最大允许迭代次数默认400次
'TolFun'目标函数误差容限默认10^-6
'TolX'自变量误差容限默认10^-6
无约束最优化
有约束最优化
6.6常微分方程的数值求解
6.7稀疏矩阵
第7章MATLAB符号计算
7.1符号计算基础
7.1.1符号对象
符号量名=sym('符号字符串')
syms 用空格隔开的多个符号变量表达式名=符号变量组成的符号表达式
'符号表达式'
表达式名=sym('不需定义变量的符号表达式')
7.1.2基本的符号运算
factor(s)分解因式
expand(s)展开
simplify()函数规则化简
simple()多函数综合化简
sym(数值表达式)转符号表达式
eval(符号表达式)转数值表达式
7.2符号函数及其应用
7.3符号积分
傅里叶变换
拉普拉斯变换
离散z变换
7.4级数
'Order'
项数默认6
'ExpansionPoint'
展开点默认0
'OrderMode'
7.5符号方程求解
fsolve方程数值求解
Dny表示n阶导数
实验篇
实验要求
实验一MATLAB运算基础
实验二MATLAB矩阵分析与处理
实验三 选择结构程序设计
实验四 循环结构程序设计
实验五 函数文件
实验六 高层绘图操作
实验七 低层绘图操作
实验八 数据处理与多项式计算
实验九 数值微积分与方程数值求解
实验十 符号计算基础与符号微积分
实验十一 级数与方程符号求解
实验十二 菜单与对话框设计
实验十三Simulink的应用
实验十四 外部程序接口
实验十五 综合实验
参考文献
应用篇
第8章MATLAB图形用户界面设计
8.1菜单设计
'Label'菜单名,&后用ALT+
'Accelerator'快捷键字母,用Ctrl+
'Callback'调用文件名或命令
'Checked'on/off(默认)选中指示
'Enable'on(默认)/off可用性
'Position'相对位置数
'Searator'on/off(默认)上方加分隔线
8.2对话框设计
'String'说明文字
'ForegroundColor'说明文字颜色,默认黑
'Units'单位
'pixel'像素,默认值
'inches'英寸
'centimeters'厘米
'points'磅
'normalized'相对位置,左下角0~1坐标
'Style'类型'Max',默认1'Min',默认0
'push'按钮,默认值
'toggle'双位按钮
'radio'单选按钮
激活值为Max非激活为Min
'check'复选框
'list'列表框
选
'popup'弹出框
无Max Min
'edit'编辑框
行
'text'静态文本
'slider'滑动条
'frame'边框
'Value'
字体
'FontAngle'倾斜
'normalized'默认
'italic'
'oblique'
'FontWeight'粗细
'light'
'demi'
'bold'
'FontName'
'FontSize'
'FontUnits'
'HorizontalAlignment'对齐
'left'
'cent'
'right'
8.3可视化图形用户界面设计
第9章MATLABNotebook的使用
第10章MATLABsimlllink仿真软件
第11章MATLAB外部程序接口技术
第12章MATLAB的应用
0 条评论
回复 删除
下一页