搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
MATLAB及在电子信息课程中的应用
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121209826
  • 作      者:
    陈怀琛,吴大正,高西全编著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2013
收藏
编辑推荐
  

      陈怀琛、吴大正、高西全编著的《MATLAB及在电子信息课程中的应用(第4版)》以电路、信号和系统、数字信号处理和自动控制原理4门主课为目标,作为这些课程的伴侣书。晶体管模拟电路和数字电路虽然也是主课,但有专门的软件来辅助分析,因此本书不作介绍。作为教学辅导书,本书不作理论推导,而是直接利用教材上的现成结论。重点讨论如何利用这些结论和MATLAB编程来解决实际问题,通过数字结果来加深对理论的理解。本书自成体系,同时避免各门课程的局限性。由于种种原因,目前各门课程之间往往存在一些重叠,各校对课程范围的划分也不尽相同,本书尽量避免这些不必要的矛盾。比如学习控制理论的时候,关于线性系统求解问题就不再介绍,只要查看信号与系统的有关内容就行了。这样做虽然有些不便,但可以使读者把各门课程的概念真正连贯起来,使之融会贯通,有利于对课程的理解和深化。

展开
作者简介

  陈怀琛,1934年12月生于上海,毕业于军事电信工程学院,曾到美国宾西法尼亚大学系统工程系做访问学者。一直在西安电子科技大学担任教学、科研和管理工作,先后在机械系、自动控制系和电子工程系讲授过十多门课程,并任副校长,主管科研和研究生教育。曾兼任中国自动化学会理事、中国电子学会教育学会副理事长、陕西人民对外友协副会长、陕西省自动化学会副理事长等职务。
  从1995年起,陈怀琛教授致力于推动大学课程和教学计算机化,目标是使教师和学生用计算机取代计算器来解决各课程的问题。在把MATLAB语言应用于大学课程教育方面,出版了多本著作:《控制系统CAD和MATLAB语言》(1996年12月)、《数字信号处理及其MATLAB实现》(1998年10月译)、《MATLAB及其在理工课程中的应用指南》(2000年1月)、《MATLAB及在电子信息课程中的应用》(2002年1月)、《数字信号处理教程——MATLAB释义与实现》(2004年10月)、《线性代数实践及MATLAB入门》(2005年10月)、《工程线性代数(MATLAB版)》(2007年9月)等。2009年,被教育部高教司指定为“用MATLAB和建模实践改造工科线性代数教育”项目的负责人,组织带领16所高校共同实施。

展开
内容介绍
  《MATLAB及在电子信息课程中的应用(第4版)》由语言篇和应用篇两部分组成。语言篇介绍MATLAB语言的基本语法、开发环境、工具、其他函数库等,应用篇讲述MATLAB近百个实例程序,涉及的课程范围有电路、信号与系统、数字信号处理、控制系统等。这些实例使用了MATLAB中多方面的语句,可使读者迅速掌握MATLAB编程的技巧,提高完成工程课程的效率。
展开
精彩书摘

  2.1  变量及其赋值
  2.1.1  标识符与数
  标识符是标识变量名、常量名、函数名和文件名的字符串的总称。在MATLAB中,变量和常量的标识符最长允许19个字符;函数和文件名则通常不超过8个字符。这些字符包括全部的英文字母(大小写共52个)、阿拉伯数字和下画线等符号。标识符中第1个字符必须是英文字母。MATLAB对大小写敏感(Case Sensitive),即它把A和a看做两个不同的字符。
  MATLAB内部只有一种数据格式,那就是双精度(即64位)二进制,对应于十进制16位有效数和±308次幂。MATLAB作运算和存储时都用双精度格式,这对绝大多数工程计算是足够的,许多情况下甚至过于“浪费”。在一些其他的算法语言中设有多种数据格式,如字符型(8位)、整数型(16位)、单精度型(32位)等,可节省内存和提高速度,但增加了编程的复杂性。MATLAB把简化编程作为其主要目标,省去了多种数据格式,但在运算速度和内存消耗方面付出代价。不过,现在计算机的时钟频率和内存容量都以几何级数迅速增长,MATLAB付出的代价容易得到弥补。虽然它的数据格式只有一种,但为了人机交互的友好方便,输出显示格式有8种,已在第1章中指出。
  2.1.2  矩阵及其元素的赋值
  赋值就是把数赋予代表常量或变量的标识符。MATLAB中的变量或常量都代表矩阵,标量应看做1?1阶的矩阵。赋值语句的一般形式为:
  ?  变量?表达式(或数)
  例如输入语句
  a?[1  2  3;4  5  6;7  8  9]
  则显示结果为
  a? 1  2  3
  4  5  6
  7  8  9
  元素也可以用表达式代替,如输入  x=[-1.3 sqrt(3) (1+2+3)/5*4]
  结果为  x=-1.3000    1.7321    4.8000
  可以看出,矩阵的值放在方括号中,同一行中各元素之间以逗号或空格分开,不同的行则以分号隔开,语句的结尾可用回车符或逗号,此时会立即显示运算结果。如果不希望显示结果,就以分号结尾。此时运算仍然执行,只是不显示。
  变量的元素用圆括号“()”中的数字(也称为下标)来注明,一维矩阵(也称数组或向量)中的元素用一个下标表示,二维的矩阵可有两个下标数,以逗号分开。三维和更高维的矩阵,可有三个或更多下标。用户可以单独给元素赋值,如:x(2)=1.7321,a(2,3)=6等。如果赋值元素的下标超出了原来矩阵的大小,矩阵的行列会自动扩展。如:
  x(5)=abs(x(1))
  得  x =-1.3000    1.7321    4.8000     0    1.3000
  又如输入  a(4,3)=6.5
  得  a = 1.0000    2.0000    3.0000
  4.0000    5.0000    6.0000
  7.0000    8.0000    9.0000
  0          0          6.5000
  可见,跳空的元素x(4),a(4,1),a(4,2)被自动赋值0。这种自动扩展维数的功能只适用于赋值语句,在其他语句中若出现超维调用的情况,系统将给出出错提示。
  给全行赋值,可用冒号。例如,给a的第5行赋值。
  输入  a(5, : )=[5,4,3]
  得   a = 1.0000  2.0000  3.0000
  4.0000  5.0000  6.0000
  7.0000  8.0000   9.0000
  0   0   6.5000
  5.0000  4.0000  3.0000
  把a的第2, 4行及第1, 3列交点上的元素取出,构成一个新矩阵b。
  可输入 b = a([2,4],[1,3])
  得   b = 4.0000  6.0000
  0   6.5000
  要抽去a中的第2、4、5行,可利用空矩阵[ ]的概念。
  输入  a([2,4,5],:)=[ ]
  得  a = 1     2     3
  7     8     9
  注意,“空矩阵”是指没有元素的矩阵。对任何一个矩阵赋值[ ],就是使它的元素都消失掉。这完全不同于“零矩阵”,后者是元素存在,只是其数值为零而已。可以看出,空矩阵是使矩阵减缩时不可缺少的概念。
  除“变量=表达式(或数)”的标准赋值格式外,还可以不要等式左端而只剩下“表达式”。这有两种可能:(1)该表达式并不产生数字解,例如,产生图形或改变系统状态;(2)该表达式产生数字解,但不需保存它。此时,MATLAB自动给出一个临时变量ans,把右端的结果暂存在ans中。例如输入 a/7
  得   ans =  0.1429    0.2857    0.4286
  1.0000    1.1429    1.2857
  2.1.3  复数
  MATLAB的每一个元素都可以是复数,实数是复数的特例。复数的虚数部分用i或j表示。这是在MATLAB启动时就在内部设定的。例如:
  输入  c = 3+5.2i
  得   c = 3.0000 + 5.2000i
  对复数矩阵有两种赋值方法。
  (1)将其元素逐个赋予复数,如:
  输入  z=[1+2i,3+4i;5+6i,7+8i]
  得   z = 1.0000 + 2.0000i   3.0000 + 4.0000i
  5.0000 + 6.0000i   7.0000 + 8.0000i
  (2)将其实部和虚部矩阵分别赋值,如:
  z = [1,3;5,7]+[2,4;6,8]*i
  两种赋值方法得出同样的结果。注意,只有数字和i的乘积可省略乘号,在上述矩阵式中若省略乘号“*”,就会出错。另外,如果在前面程序中曾经给i或j赋过其他值,则i,j已经不是虚数符号,这些虚数赋值语句都不对了。此时应输入:
  clear i,j
  即把原赋的i,j清掉,然后再执行复数赋值语句。
  MATLAB中所有的运算符和函数都对复数有效。例如:
  输入  f = sqrt(1+2i)
  得  f = 1.2720 + 0.7862i
  检验  f*f
  ans =   1.0000 + 2.0000i
  因此,复数的表达式同样也能作为赋值语句。再来看复数矩阵z的转置、共轭运算,运算符 ' 表示把矩阵作共轭转置,即把它的行列互换,同时,把各元素的虚部反号。函数conj则只把各元素的虚部反号,即只取共轭。所以,若求转置而不要共轭,就把conj和 ' 结合起来完成。
  输入  w=z'(共轭转置),u=conj(z) (共轭),v=conj(z)' (转置)
  得    w = 1.0000 - 2.0000i  5.0000 - 6.0000i
  3.0000 - 4.0000i  7.0000 - 8.0000i
  u = 1.0000 - 2.0000i  3.0000 - 4.0000i
  5.0000 - 6.0000i  7.0000 - 8.0000i
  v = 1.0000 + 2.0000i 5.0000 + 6.0000i
  3.0000 + 4.0000i 7.0000 + 8.0000i

  ……

展开
目录
第1部分 语言篇
第1章 MATLAB语言概述
1.1 MATLAB语言的发展
1.2 MATLAB语言的特点
1.3 MATLAB的工作环境
1.3.1 命令窗
1.3.2 图形窗
1.3.3 文本编辑窗
1.4 演示程序
第2章 基本语法
2.1 变量及其赋值
2.1.1 标识符与数
2.1.2 矩阵及其元素的赋值
2.1.3 复数
2.1.4 变量检查
2.1.5 基本赋值矩阵
2.2 矩阵的初等运算
2.2.1 矩阵的加减乘法
2.2.2 矩阵除法及线性方程组的解
2.2.3 矩阵的乘方和幂次函数
2.2.4 矩阵结构形式的提取与变换
2.3 元素群运算
2.3.1 数组及其赋值
2.3.2 元素群的四则运算和幂次运算
2.3.3 元素群的函数
2.4 逻辑判断及流程控制
2.4.1 关系运算
2.4.2 逻辑运算
2.4.3 流程控制语句
2.5 基本绘图方法
2.5.1 直角坐标中的两维曲线
2.5.2 线型、点型和颜色
2.5.3 多条曲线的绘制
2.5.4 屏幕控制和其他二维绘图
2.5.5 三维曲线和曲面
2.5.6 特殊图形和动画
2.5.7 彩色、光照和图像
2.5.8 低层图形屏幕控制功能
2.6 M文件及程序调试
2.6.1 主程序文件
2.6.2 人机交互命令
2.6.3 函数文件
2.6.4 文件编辑器及程序调试
第3章 MATLAB的开发环境和工具
3.1 MATLAB与其他软件的接口关系
3.1.1 与磁盘操作系统的接口关系
3.1.2 与文字处理系统Winword的关系
3.1.3 图形文件的转储
3.1.4 低层输入输出函数库
3.1.5 与C和FORTRAN子程序的动态链接
3.2 MATLAB的文件管理系统
3.2.1 安装后的MATLAB文件管理系统
3.2.2 MATLAB自身的用户文件格式
3.2.3 文件管理和搜索路径
3.2.4 与目录和搜索有关的命令
3.2.5 搜索顺序
3.3 MATLAB的开发环境
3.3.1 桌面系统的内容
3.3.2 桌面命令菜单简介
3.3.3 MATLAB的用户界面
第4章 MATLAB的其他函数库
4.1 数据分析函数库(datafun函数库)
4.1.1 基本的数据分析
4.1.2 用于场论的数据分析函数
4.1.3 用于随机数据分析的函数
4.1.4 用于相关分析和傅里叶分析的函数
4.2 矩阵的分解与变换(matfun函数库)
4.2.1 线性方程组的系数矩阵
4.2.2 矩阵的分解
4.2.3 矩阵的特征值分析3
4.2.4 特殊矩阵库(specmat)
4.3 多项式函数库(polyfun)
4.3.1 多项式的四则运算3
4.3.2 多项式求导、求根和求值
4.3.3 多项式拟合
4.3.4 多项式插值
4.3.5 线性微分方程的解(residue)
4.4 函数功能和数值积分函数库(funfun)
4.4.1 函数功能和数值积分函数库的主要子程序
4.4.2 非线性函数的分析
4.4.3 任意函数的数值积分
4.5 字符串函数库(strfun)
4.5.1 字符串的赋值
4.5.2 字符串语句的执行
4.5.3 字符串输入输出
4.6 稀疏矩阵函数库(sparfun)
4.7 图形界面函数库(Guitools)
4.8 数据类型函数库(datatypes)
4.8.1 结构阵列
4.8.2 单元阵列
4.8.3 类和对象
习题

第2部分 应用篇
第5章 MATLAB在电路中的应用
5.1 电阻电路
5.2 动态电路
5.3 正弦稳态电路
5.4 频率响应
5.5 二端口电路
5.5.1 Z,Y,H,G,A,B六种参数间关系的MATLAB语句
5.5.2 网络函数及其MATLAB语句
5.6 用MATLAB图解几个电路概念
习题
第6章 MATLAB在信号与系统中的应用
6.1 连续信号和系统
6.2 傅里叶分析
6.3 离散信号和系统
6.4 线性时不变系统的模型
6.4.1 模型的典型表达式
6.4.2 模型转换
6.5 频谱概念的MATLAB图释
习题
第7章 MATLAB在数字信号处理中的应用
7.1 时域离散信号的产生及时域处理
7.2 z变换和傅里叶变换
7.3 离散傅里叶变换(DFT)
7.4 数字滤波器结构
7.5 FIR数字滤波器设计
7.6 IIR数字滤波器设计
7.7 频率、角频率和数字频率
7.7.1 频率
7.7.2 角频率
7.7.3 序列信号的频率——数字频率
习题
第8章 MATLAB在自动控制原理中的应用
8.1 控制工具箱中的LTI对象
8.1.1 LTI对象的类型和属性
8.1.2 LTI模型的建立
8.1.3 对象属性的获取和修改
8.1.4 LTI模型的简单组合和运算符扩展
8.1.5 复杂模型的组合
8.1.6 连续系统和采样系统之间的变换
8.1.7 典型系统的生成
8.2 动态特性和时域分析函数
8.3 系统的频域分析函数
8.4 系统的状态空间分析函数
8.5 系统的状态空间法设计函数
8.5.1 线性平方调节器问题
8.5.2 线性平方估计器问题
习题
第9章 MATLAB工具箱简介
9.1 符号数学(Symbolic Math)工具箱简介
9.1.1 Symbolic工具箱的主要功能
9.1.2 符号数学式的基本表示方法
9.2 系统仿真(Simulink)工具箱简介
9.2.1 概述
9.2.2 环节库及框图的建立
9.2.3 仿真方法和参数的设定
9.2.4 仿真的运行
9.2.5 Simulink的子系统屏蔽(Masking)功能
9.2.6 Simulink内部工作过程简介
9.2.7 Simulink应用范围的扩展
9.3 以matlab为基础的工具箱简介
9.4 以Simulink为基础的模块工具箱简介
9.4.1 电力系统(Powersys)模块工具箱简介
9.4.2 数字信号处理(DSP Blocks)模块工具箱简介
9.4.3 定点处理(Fix-Point Blocks)模块工具箱简介
9.4.4 通信系统(Comm)模块工具箱简介
附录 全书例题索引
参考文献
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证