MATLAB入门
MATLAB编程与系统仿真重庆交通大学信息科学与工程学院 通信工程系 主讲教师:谭晋 Mobile:13658363144 Email:tanjin1122@http:// 2009年10月
MATLAB入门
ContentMatlab编程基础 变量及其赋值 运算符与表达式 程序控制流程 自定义函数 基本绘图方法 M文件及其调试 Matlab在信号处理中的应用 信号及其表示、基本运算 系统的响应 傅里叶变换 数字滤波器设计 通信系统仿真 编译码 模拟调制与解调 数字调制与解调 性能仿真 Simulink应用基础
MATLAB入门
课程考核方式考核方式 上机实验(实验报告) 30分 平时成绩(考勤+作业)10分 上机考试 60分 上机考试两道题: 25分+35分 上机考试时间:上机课中最后一次上机时间
MATLAB入门
Matlab编程基础变量及其赋值 标识符号与数据格式 标识符号是标志变量名、常量名、函数名和文件名的 字符串的总称。 双精度数据格式,64位二进制。
矩阵及其元素的赋值 赋值语句:变量=表达式(数) Matlab中变量都代表矩阵,其阶数为M×N 赋值要求: 整个矩阵的值应在[]中; 同一行中各元素之间以逗号“,”或空格分开; 不同行的元素以“;”隔开。
例[P15-16]
MATLAB入门
Matlab编程基础 矩阵元素的索引 访问向量的元素只要使用相应元素的索引即可
赋值技巧 利用冒号“:”给全行的元素赋值
例:a=eye(5); a(2,:)=ones(1,5) a 利用行、列标注构成新的矩阵
例:b=a([2,3,4],[1,2,3]) 零矩阵与空矩阵的区别??
MATLAB入门
Matlab编程基础 利用小矩阵组成大矩阵 例:a=ones(2,3) b=zeros(3,2) c=[a;a;a] d=[b;b] e=[c,d] 常用生成矩阵的方法 利用生成矩阵的函数(P17-18) 利用“:”运算符
冒号运算符创建了具有10个元素的向量。利用冒号运算 符创建向量的基本语法如下: X = J:INC:K
MATLAB入门
Matlab编程基础 Matlab内部的特殊变量和常数 例:ans、eps、realmax、realmin、pi、Inf 、i、j、NaN 复数的赋值方式 可将矩阵元素逐个赋予复数; 将矩阵的实部和虚部分别赋值。
MATLAB入门
Matlab编程基础运算符与数学表达式 算术运算符(P20表2.2) 矩阵加减: + 、 - 功能:两矩阵对应元素相加/减。 A、B矩阵的阶数必须相等或其中之一为标量,标量可 与任意大小的矩阵相加/减。
矩阵相乘: * 矩阵元素相乘: .* 功能:矩阵A、B对应元素相乘。A、B行列必相同或其 中之一为标量。
MATLAB入门
Matlab编程基础 矩阵右除B/A与左除A\C如果A为一非奇异矩阵,则右除:B/A=B*inv(A) 如果A为一非奇异矩阵,则左除:A\C=inv(A)*C
矩阵元素右除A./B与左除A.\BA,B两矩阵必同行列,或其中之一为标量。
矩阵幂 ^ 及矩阵元素幂 .^ 矩阵转置 ’ 及矩阵非共轭转置
.’
MATLAB入门
Matlab编程基础 关系运算符 <、<=、>、>=、==、~= Matlab关系运算符用来比较两个同样大小的数组,或 用来比较一个数组和一个标量; 当数组和标量进行比较时,结果与数组大小一样; 关系比较的结果只有两种可能,即1或0。 例:比较下面两段语句的结果 x=(-3:3)/3 x=x+(x==0)*eps sin(x)./x sin(x)./x 例:统计数组A中值大于5.5元素的个数
MATLAB入门
Matlab编程基础 逻辑运算符 &(与) |(或) ~(非)
真值表(P24)
其他逻辑函数(P25表2.6,2.7) 数学表达式的MATLAB描述(P25) 不要忽略数乘 不能调用系统中不存在的函数
MATLAB入门
Matlab编程基础流程控制 if 语句 格式: 格式1 If 表达式 语句组A End
例1_1:随机生成一个(0,1)之间的数,如果该数大于等 于0.5则输出该数.
MATLAB入门
Matlab编程基础 格式2 If 表达式 语句组A Else 语句组B End 例1_2: 随机生成一个(0,1)之间的数,如果该数大于等于 0.5,则将该数变为1,否则将该数变成-1. 例1_3: 随机生成100个(0,1)之间的数,将大于等于0.5的变 为1,小于0.5的变为0.
MATLAB入门
Matlab编程基础 格式3 If 表达式1 语句组A Elseif 表达式2 语句组B Else 语句组C End 例1_4: 随机生成一个(0,1)之间的数,如果该数所处区间为 (0,0.3)则将该数变成0,如果该数所处区间为(0.3,0.6),则 将该数变成1,否则将该数变成2.
MATLAB入门
Matlab编程基础 Switch语句 Switch语句称为条件选择语句,其中关键字包括:switch, case, otherwise以及end.主要用于有选择性的程序设计,实现程 序的多分支选择. 格式:Switch 选择表达式 case 情况表达式1 语句组1 case情况表达式2 语句组2 …… otherwise 语句组n end
例1_5:随机生成一个1到12之间的 整数,按如下规则进行转换: 如果该数在1~4之间,转换成-1; 如果该数在5~8之间,转换成0; 如果该数在9~12之间,转换成1。
MATLAB入门
Matlab编程基础 While语句 While语句为条件循环语句,循环次数不确定,取 决于逻辑表达式。 格式:While 表达式 语句组A End 例1_6:生成一个具有100个元素的1,-1随机序列。 例1_7:生成一个具有100个元素的1,0随机序列。 例1_8:输入一个N值,求1+2+3+……+N的值。 例1_9:输入若干个同学的成绩,求大于等于平均成绩的同 学人数。