第三章MATLAB语言的符号计算
- 格式:ppt
- 大小:472.00 KB
- 文档页数:40
第三章MATLAB符号计算1. sym(‘变量’,参数(positive/real/unreal)) 使用syms命令创建符号变量和符号表达式syms(‘arg1’, ‘arg2’, …,参数(positive/real/unreal)) syms arg1 arg2 …,参数符号表达式()中的参数一定要用' ' 单引号括起来。
2. 符号运算中的运算符(1)基本运算符:运算符“+”,“-”,“*”,“\”,“/”,“^”分别实现符号矩阵的加、减、乘、左除、右除、求幂运算。
运算符“.*”,“./”,“.\”,“.^”分别实现符号数组的乘、除、求幂,即数组间元素与元素的运算运算符“′”,“.′”分别实现符号矩阵的共轭转置、非共轭转置。
(2)关系运算符运算符“= =”、“~=”分别对运算符两边的符号对象进行“相等”、“不等”的比较。
真为1,假为0。
3在Symbolic Math Toolbox中有三种不同的算术运算:数值型:MATLAB的浮点运算。
有理数型:Maple的精确符号运算。
VPA型:Maple 的任意精度运算。
任意精度的VPA型运算可以使用digits和vpa命令来实现。
digits(n) %设定默认的精度(全局matlab应用)S=vpa(s,n) %将s表示为n位有效位数的符号对象,n省略后依据digits(n)设定。
只针对一次,不改变matlab设定的digits(n)精度。
4. 1.将数值矩阵转化为符号矩阵函数调用格式:sym(A) 2.将符号矩阵转化为数值矩阵函数调用格式: numeric(A)、double(A)5. 符号表达式“f=ax2+bx+c”中只有一个变量是独立变量:1. 小写字母i和j不能作为自由变量。
2.符号表达式中如果有多个符号变量,则按照以下顺序选择自由变量:首先选择x作为自由变量;如果没有x,则选择在字母顺序中最接近x的字符变量;如果与x相同距离,则在x后面的优先。
第三讲 MATLAB 的符号运算(注:文中红色字体为命令执行的结果,在Command 窗口中显示)3-1 符号对象的创建和使用1.符号运算入门符号运算的特点是,运算过程中允许存在非数值的符号变量。
先看如下示例: 函数2)(sin )(x x f =,用MATLAB 求它的微积分,命令如下:f=’sin(x)^2’; %定义符号函数f(x)dfdx=diff(f) %求dxx df )(的指令 intf=int(f) %求⎰dx x f )(的指令显示的计算结果为:dfdx=2*sin(x)*cos(x)intf=-1/2sin(x)*cos(x)+1/2*x 所以,x x dx x df cos sin )(2=,x x x dx x f cos sin )(2121-=⎰。
此例中,首先定义符号函数f=’sin(x)^2’,然后由符号运算获得2)(sin )(x x f =的微分和积分。
2.定义符号变量在使用符号变量之前,应先声明某些要用到的变量是“符号”变量。
声明符号变量的语句:syms 变量名列表或: sym(‘变量名’)其中各个变量名应该用空格分隔,而不能用逗号分隔。
如创建符号变量x 和a :x=sym(‘x ’)a=sym(‘alpha ’)或用: syms x a %定义符号变量x 和a这里,变量x 和a 的类型是符号对象,它们被定义后,即可参与符号运算。
3.定义符号表达式和符号方程符号表达式和符号方程是两种不同的操作对象。
区别在于:符号表达式不包含等号(=),而符号方程须带等号。
它们的创建方式相同。
如:要考虑二次函数f=ax^2+bx+c ,可以创建符号表达式,赋值给符号变量f 。
f=sym(‘a*x^2+b*x+c ’)或:f=‘a*x^2+b*x+c’此例中,将符号表达式赋给符号变量f,但这不是必需的,引入符号变量是为了以后调用方便。
在这种情况下,没有创建对应于表达式中a、b、c、x项的变量,为了执行符号数学运算(如微分、积分等),必须显式地创建这些变量,可用下列命令创建:syms a b c x如下例中创建了符号表达式和符号方程,分别赋给相应的符号对象。
第7章MATLAB科学计算¾方程求解¾概率统计¾插值、拟合¾数值微积分¾最优化求解其它常用的matlab 数值计算命令¾max,min¾mean, median¾sum 求和, prod 求积¾cumsum 求和, cumprod 求积¾std 标准方差¾corrcoef 相关系数¾sort 元素排序¾离散傅里叶变换fft,fft2,fftn__ifft第7章MATLAB 数值计算作业¾1.编写傅立叶变换的matlab 程序与matlab 自带的fft 进行比较,并分析冲击信号的傅立叶变换。
(若不了解冲击信号,可计算方波的傅里叶变换,方波幅度为1,周期为10,方波个数为10,占空比为0.5)。
∑=−−−=Nm Nk m j em f k F 1/)1)(1(2)()(π编写的DFT 函数:function X=mydft(x )N = length(x );W=exp(-2*i*pi/N);X=zeros(1,N);for k=1:NX(k )=sum(x .*W.^((0:N -1)*(k -1)));end∑=−−−=N m N k m j em f k F 1/)1)(1(2)()(πx = [0 0 0 0 0 1 1 1 1 1]; X = [x x x x x x x x x x]; y = mydft(X);plot(abs(y))y1=fft(X);plot(abs(y1));¾y = fftshift(mydft(X));¾>> plot(abs(y))第3章MATLAB符号计算¾Maple优势在于符号运算,¾Mathematic符号运算和数值计算均不差,图像处理或者数据可视化较差¾Matlab强项是数值计算和数据可视化,¾MathCAD各方面均弱一些,但易学。
如何使用MATLAB进行符号计算1. 引言在科学计算和工程应用中,符号计算是一项重要的任务。
符号计算可以帮助我们推导数学公式、解方程、进行代数化简等等。
MATLAB作为一种强大的科学计算工具,也提供了符号计算的功能。
本文将介绍如何使用MATLAB进行符号计算。
2. 符号计算基础在MATLAB中,符号计算通过符号工具箱提供。
首先需要将变量声明为符号变量,使用`syms`关键字来完成。
例如,下面的代码将变量x和y声明为符号变量:```syms x y```其次,我们可以使用`sym`函数将数值转换为符号类型。
例如,下面的代码将整数2转换为符号类型:```a = sym(2)```最后,我们可以使用各种符号运算进行符号计算。
例如,下面的代码演示了符号变量之间的加法运算:```x + y```3. 推导数学公式符号计算的一个常见用途是推导数学公式。
MATLAB提供了一系列函数来进行推导,如`diff`、`int`等。
例如,下面的代码计算了函数sin(x)的导数: ```syms xf = sin(x);df = diff(f, x);```在这个例子中,`diff`函数用于计算导数,第一个参数是要计算导数的函数,第二个参数是相对于哪个变量求导数。
4. 解方程另一个常见的符号计算任务是解方程。
MATLAB提供了`solve`函数来解方程。
例如,下面的代码解了方程x^2 - 2 = 0:```syms xsol = solve(x^2 - 2);```解方程的结果是一个结构体数组,每个元素代表一个解。
5. 代数化简符号计算还可以用于代数化简。
MATLAB提供了`simplify`函数来进行代数化简。
例如,下面的代码对表达式(x+1)^2进行化简:```syms xexpr = (x+1)^2;simplified_expr = simplify(expr);````simplify`函数将表达式化简为最简形式。