目录
三、MATLAB函数和程序结构
1.MATLAB文件
2.变量和数据类型
(1)变量
(2)变量类型
(3)字符串
3.函数文件
(1)函数文件规范
(2)子函数和私有函数
(3)函数的调用
(4)匿名函数
4.流程控制
(1)顺序结构
(2)用if 语句实现选择结构
(3)用switch实现选择结构
(4)用for实现循环结构
(5)用while实现循环结构
(6)break和continue语句
编辑 5.函数的递归调用
四、符号运算
1.数值运算与符号运算
2.符号变量和符号表达式
3.符号表示式的运算
4.符号函数
5.符号函数的绘制
6.符号微积分
(1)符号极限
(2)符号微分
(3)符号积分
(4)级数
7.符号方程求解
(1)代数方程
(2)微分方程
8.符号变换
9.练习
三、MATLAB函数和程序结构
1.MATLAB文件
两种类型的M文件:
function<因变量>=<函数名>(<自变量>)
type myfunction
2.变量和数据类型
(1)变量
(2)变量类型
(3)字符串
strvcat函数允许将不同长度的字符串组合成为字符矩阵,并且将短字符串扩充为与长字符串相同的长度。
3.函数文件
(1)函数文件规范
即:
001 function y = average(x)
002 % AVERAGE 求向量元素的均值
003 % 语法:
004 % Y = average(X)
005 % 其中,X 是向量,Y为计算得到向量元素的均值
006 % 若输入参数为非向量则出错
007
008 % 代码行
009 [m,n] = size(x);
010 % 判断输入参数是否为向量
011 if (~((m == 1) | (n == 1)) | (m == 1 & n == 1))
012 % 若输入参数不是向量,则出错
013 error('Input must be a vector')
014 end
015 % 计算向量元素的均值
016 y = sum(x)/length(x);
help average得到的是:
lookfor average得到的是:
(2)子函数和私有函数
如:
私有函数
(3)函数的调用
(4)匿名函数
4.流程控制
(1)顺序结构
(2)用if 语句实现选择结构
格式:
(3)用switch实现选择结构
(4)用for实现循环结构
(5)用while实现循环结构
(6)break和continue语句
5.函数的递归调用
四、符号运算
所谓符号计算是指:解算数学表达式、方程不是在离散化的数值点上进行,而是凭借一系列恒等式,数学定理,通过推理和演绎,力求获得解析结果。
这种计算建立在数值完全准确表达和推演严格解析的基础之上,因此所得结果是完全准确的。
1.数值运算与符号运算
2.符号变量和符号表达式
建立符号表达式
含有符号对象的表达式称为符号表达式。建立符号表达式有以下3种方法:
(1)利用单引号来生成符号表达式。
(2)用sym函数建立符号表达式。
(3) 使用已经定义的符号变量组成符号表达式。
3.符号表示式的运算
ceil是向正无穷取整
floor是向负无穷取整
fix是向0取整
round是四舍五入
mod是求余数
imag是取虚部
real是取实部
conj是取共轭
mod和rem都是取余数
mod 和 rem之间的区别:
除后所得余数的概念的定义不是唯一的,两个函数 mod 和 rem 各计算不同的结果。mod 函数生成一个为零或与除数具有相同符号的结果。rem 函数生成一个为零或与被除数具有相同符号的结果。
另一个差别是当除数为零时的约定。mod 函数遵从 mod(a,0) 返回 a 的约定,而 rem 函数遵从 rem(a,0) 返回 NaN 的约定。
两个结果都有其各自的用途。例如,在进行信号处理时,mod 函数可在周期信号上下文中使用,因为其输出是周期性的(周期等于除数)。
4.符号函数
5.符号函数的绘制
mesh是网格图,surf是平滑图
左图是mesh,右图是surf
6.符号微积分
(1)符号极限
(2)符号微分
(3)符号积分
(4)级数
7.符号方程求解
(1)代数方程
隐函数求导方法
(2)微分方程