MATLAB基础教程:运算与函数详解

需积分: 0 3 下载量 157 浏览量 更新于2024-08-02 收藏 228KB PDF 举报
"MATLAB教程,MATLAB 程式设计与应用" MATLAB是一种强大的数学计算软件,广泛应用于科学计算、数据分析和工程仿真等领域。在本教程中,我们将重点探讨MATLAB的基础操作和数学运算。 首先,MATLAB的运算方式非常直观。用户可以直接在命令行界面输入数学表达式,如`(5*2+1.3-0.8)*10/25`,然后按下Enter键,MATLAB会自动计算并显示结果。这里的`ans`变量存储了运算结果,即4.2000。需要注意的是,`>>`是MATLAB的提示符,虽然在某些中文系统中可能看不到,但不影响实际运算。 在MATLAB中,你可以直接给运算结果赋值给新的变量,比如将上面的计算结果赋给`x`:`x=(5*2+1.3-0.8)*10^2/25`,这时`x`的值就变成了42。MATLAB支持常见的数学运算符,包括加(+), 减(-), 乘(*), 除(/)和幂次运算(^)。MATLAB中的所有变量默认都是双精度浮点数(double),无需预先声明变量类型。 MATLAB还具备自动内存管理功能,它会自动分配和回收内存,使得用户可以更专注于编程本身,而不需要关心底层的内存操作,这一点与C语言等其他编程语言不同。如果你想隐藏运算结果,只需在表达式末尾添加分号(;),例如:`y=sin(10)*exp(-0.3*4^2);`。之后,如果你想要查看`y`的值,可以单独输入`y`。 MATLAB提供了丰富的内置数学函数,包括基础数学函数和三角函数。例如,`abs(x)`用于计算数值的绝对值,`angle(z)`返回复数的相角,`sqrt(x)`用于开平方根,`real(z)`获取复数的实部,而`imag(z)`则返回复数的虚部。此外,还有`sin()`正弦函数和`exp()`指数函数,它们在各种数学和工程计算中都十分常用。 MATLAB以其便捷的运算方式、自动化的内存管理以及丰富的数学函数库,为用户提供了高效且直观的计算环境。无论是进行简单的数学计算,还是复杂的数值分析,MATLAB都能提供强大的支持。通过深入学习和实践MATLAB的程式设计与应用,你将能够更好地利用这一工具解决实际问题。
2013-07-04 上传
目 录第1章 MATLAB简介... 1 1.1 MATLAB概述... 1 1.2 MATLAB环境... 1 1.2.1 MATLAB安装... 1 1.2.2 MATLAB启动与退出... 4 1.3 MATLAB的开发环境... 5 1.3.1 工作界面... 5 1.3.2 命令窗口... 6 1.3.3 当前目录浏览器窗口... 8 1.3.4 工作空间浏览器窗口... 9 1.3.5 历史命令窗口... 10 1.3.6 数组编辑器窗口... 11 1.4 MATLAB帮助系统... 11 1.4.1 帮助命令... 11 1.4.2 帮助窗口... 12 1.4.3 演示系统... 13 第2章 MATLAB数值计算及应用... 15 2.1 MATLAB的数值计算基础... 15 2.1.1 数据类型... 15 2.1.2 常量和变量... 18 2.1.3 数值计算应用的示例... 19 2.2 MATLAB的数组、矩阵运算... 20 2.2.1 数组与矩阵的概念... 20 2.2.2 数组或矩阵元素的标识... 21 2.2.3 数组与矩阵的输入... 23 2.2.4 数组与矩阵的算术运算... 25 2.2.5 向量及其运算... 32 2.2.6 矩阵的特殊运算... 35 2.2.7 数组的运算... 44 2.2.8 字符串... 47 2.3 MATLAB多项式及其运算... 47 2.3.1 多项式求值... 48 2.3.2 多项式求根... 48 2.3.3 部分分式展开... 49 2.3.4 多项式乘除... 50 2.3.5 多项式的微积分... 50 2.4 插值与拟合... 51 2.4.1 一维插值问题... 51 2.4.2 二维插值问题... 52 2.4.3 曲线拟合... 56 2.5 线性方程组求解... 58 2.5.1 方程组解法... 58 2.5.2 求线性方程组的通解... 65 2.6 非线性方程与最优化问题... 67 2.6.1 非线性方程数值求解... 67 2.6.2 无约束最优化问题求解... 69 2.6.3 有约束最优化问题求解... 71 第3章 符号运算及应用... 73 3.1 MATLAB符号运算基础... 73 3.1.1 符号表达式... 73 3.1.2 符号表达式的操作及代数运算... 75 3.2 MATLAB符号微积分运算... 82 3.2.1 符号极限运算... 82 3.2.2 符号函数微分运算... 82 3.2.3 符号函数积分运算... 83 3.2.4 符号求和函数与级数展开函数... 84 3.3 复变函数运算的MATLAB实现... 86 3.3.1 复数的概念... 86 3.3.2 复变量的函数... 86 3.3.3 复数的生成及其矩阵创建... 87 3.3.4 复数的几何意义... 88 3.3.5 MATLAB在复数代数运算中的实现... 90 第4章 MATLAB程序设计技术... 93 4.1 MATLAB的控制语句... 93 4.1.1 条件控制... 93 4.1.2 循环控制... 96 4.1.3 错误控制... 98 4.2 M文件编程... 99 4.2.1 M文件的分类介绍... 99 4.2.2 函数调用和变量传递... 101 4.2.3 数据导入与导出... 107 4.2.4 示例分析... 111 4.3 函数类型... 118 4.3.1 主函数... 118 4.3.2 子函数... 119 4.3.3 私有函数... 119 4.3.4 嵌套函数... 120 4.3.5 重载函数... 124 4.4 调试程序... 124 4.4.1 调试程序介绍... 124 4.4.2 MATLAB调试菜单... 125 4.4.3 调试命令... 126 第5章 MATLAB绘图功能... 129 5.1 二维图形绘制... 129 5.1.1 绘制二维曲线的常用函数... 129 5.1.2 绘制图形的辅助操作... 132 5.1.3 绘制二维图形的其他函数... 137 5.2 三维图形绘制... 141 5.2.1 绘制三维曲线的常用函数... 141 5.2.2 三维曲面图绘制... 142 5.2.3 其他三维图形绘制... 146 5.2.4 透明度作图... 147 5.2.5 立体可视化... 148 5.3 图形颜色映像的应用... 151 5.4 光照和材质处理... 153 5.4.1 光照处理... 153 5.4.2 材质处理... 154 5.5 图像显示技术... 156 5.5.1 图像简介... 156 5.5.2 图像的读取... 157 5.5.3 图像的显示... 159 5.6 动画制作技术... 159 第6章 MATLAB在模糊控制系统中的应用... 161 6.1 模糊系统的MATLAB实现... 161 6.1.1 模糊集简介... 161 6.1.2 模糊推理系统与MATLAB应用... 166 6.1.3 模糊推理系统的MATLAB模糊工具箱的图形界面实现法... 166 6.2 MATLAB模糊逻辑工具箱命令函数及示例... 173 6.3 MATLAB模糊逻辑工具箱命令函数应用示例... 193 第7章 MATLAB在人工神经网络中的应用... 197 7.1 人工神经网络介绍... 197 7.2 感知器... 197 7.2.1 感知器原理... 198 7.2.2 感知器相关函数... 199 7.2.3 感知器的MATLAB实现... 202 7.3 线性神经网络... 203 7.3.1 线性神经网络原理... 204 7.3.2 线性神经网络相关函数... 204 7.3.3 线性神经网络的MATLAB实现... 206 7.4 BP网络... 207 7.4.1 BP网络原理... 207 7.4.2 BP网络相关函数... 208 7.4.3 BP网络的MATLAB实现... 217 7.5 径向基网络... 218 7.5.1 径向基网络原理... 218 7.5.2 径向基网络相关函数... 219 7.5.3 径向基网络应用示例... 222 7.6 回归网络... 223 7.6.1 回归网络相关函数... 223 7.6.2 回归网络的MATLAB实现... 224 第8章 MATLAB在自动控制中的应用... 227 8.1 控制系统模型... 227 8.1.1 控制系统的描述与LTI对象... 227 8.1.2 典型系统的生成... 228 8.1.3 连续系统与采样系统之间的转换... 230 8.2 控制系统的时域分析... 231 8.2.1 时域分析的一般方法... 231 8.2.2 常用时域分析函数... 234 8.2.3 时域分析应用示例... 237 8.3 根轨迹分析... 238 8.3.1 模条件和角条件... 239 8.3.2 绘制根轨迹的规则... 239 8.3.3 根轨迹的应用示例... 240 8.4 控制系统的频域分析... 243 8.4.1 幅相频率特性... 243 8.4.2 对数频率特性... 245 8.4.3 对数幅相特性... 248 8.5 系统校正... 248 8.5.1 串联超前校正... 248 8.5.2 串联滞后校正... 251 8.5.3 串联滞后—超前校正... 252 8.6 极点配置设计方法... 255 8.6.1 Gura-Bass算法... 255 8.6.2 Ackermann配置算法... 256 第9章 MATLAB在数字信号中的应用... 259 9.1 数字信号知识... 259 9.1.1 信号产生... 259 9.1.2 信号的运算... 265 9.1.3 信号的抽取与插值... 267 9.2 离散时间傅里叶变换... 269 9.2.1 离散时间傅里叶变换定义及计算... 269 9.2.2 离散时间傅里叶变换的特性... 271 9.3 数字滤波器的分析与实现... 273 9.3.1 数字滤波器知识... 273 9.3.2 数字滤波器的分析与实现... 274 9.4 IIR数字滤波器的设计法... 278 9.4.1 冲激响应不变法... 278 9.4.2 双线性变换法... 279 9.4.3 IIR数字滤波器的频率变换设计法... 279 9.5 FIR数字滤波器设计法... 283 9.5.1 窗函数设计法... 283 9.5.2 频率抽样法... 286 9.5.3 MATLAB的其他相关函数... 289 9.6 MATLAB实现功率谱估计... 292 第10章 MATLAB外部程序接口应用... 295 10.1 MATLAB数据接口... 295 10.1.1 通用文件I/O操作... 295 10.1.2 低级文件I/O操作... 296 10.1.3 MAT文件及其应用... 300 10.2 MATLAB编译器的配置... 304 10.2.1 MATLAB编译器的配置... 304 10.2.2 编译指令... 305 10.3 MATLAB引擎... 306 10.3.1 MATLAB DDE服务器与引擎库... 306 10.3.2 C语言MATLAB引擎... 307 10.3.3 Fortran语言MATLAB引擎... 310 10.4 Visual C++与MATLAB接口... 311 10.4.1 Visual C++调用MATLAB引擎... 312 10.4.2 Visual C++使用数学函数库... 312 10.4.3 Visual C++创建MAT文件... 314 10.4.4 应用COM实现Visual C++与MATLAB的接口... 316 第11章 MATLAB在其他领域的应用... 323 11.1 MATLAB在电路中的应用... 323 11.1.1 概述... 323 11.1.2 MATLAB在电路中的应用示例... 323 11.2 MATLAB在图像处理中的应用... 326 11.2.1 图像变换... 327 11.2.2 MATLAB实现图像的边缘检测... 328 11.2.3 MATLAB在遥感中实现图像直方图的匹配... 330 11.3 MATLAB在力学及工程结构中的应用... 333 11.3.1 概述... 333 11.3.2 MATLAB在力学及工程结构中的应用示例... 333 11.4 MATLAB在优化设计中的应用... 338 11.4.1 概述... 338 11.4.2 MATLAB在优化设计中的应用示例... 339 参考文献 342