lzmagic  
博学 审问 慎思 明辨 笃行
日历
<2008年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567
统计
  • 随笔 - 16
  • 文章 - 0
  • 评论 - 5
  • 引用 - 0

导航

常用链接

留言簿

随笔分类(18)

随笔档案(16)

最新随笔

搜索

  •  

积分与排名

  • 积分 - 3935
  • 排名 - 378

最新评论

阅读排行榜

评论排行榜

 
3.1符号表达式的生成
       1.在数值运算中,在输入、输出、中间过程中,变量都是数值变量;
          在符号运算中,在输入、输出、中间过程中,变量都是以字符串形式保存和运算的(数字也是)。
       2.符号表达式: 符号函数(无等号) + 符号方程(有等号)
       3.符号函数的生成: >>f = 'log(x)';
          符号方程的生成: >>e = 'a*x^2+b*x+c=0';
                                        >>d = 'Dy - y = x'; %符号微分方程
                                       ·用这种方法创建符号表达式对空格很敏感,不要在符号之间乱加空格符。
       4.sym命令: 符号函数的生成: >>f = sym('log(x)');
                         符号方程的生成: >>e = sym('a*x^2+b*x+c=0');
       5.syms命令: 只能创建符号函数: >>syms x  >>f=log(x)
3.2符号和数值之间的转换
       1.digits函数:  digits(D)  %函数设置有效数位为D的近似解,仅对
       2.vpa函数: vpa(S)   %符号表达式S在digits函数设置下的近似解
                         vpa(S,D)  %符号表达式S在digits(D)设置下的近似解
       3.subs函数: subs(S,OLD,NEW)  %用NEW变量代替符号表达式S中的OLD变量
       4.numeric函数: numeric(S)  %将符号表达式S转换为数值形式
          double函数: double(S)  %将符号表达式S转换为数值形式(同numeric)
3.3符号函数的运算
       3.3.1复合函数: compose函数
                                 compose(f,g)   %f = f(x), g = g(y)
                                 compose(f,g,z)   %f = f(x), g = g(y), 用g代替x,用z代替y
                                 compose(f,g,x,z)  %f = f(x), g = g(y), 用g代替x,用z代替y
                                 compose(f,g,x,y,z)  %f = f(x), g = g(y), 用g代替x,用z代替y
       3.3.2反函数: finverse函数
                             finverse(f)   %默认以变量x给出结果
                             finverse(f,v)   %以v为自变量,最后f要转换为v
3.4符号矩阵的创建
       3.4.1用sym函数创建
       3.4.2用子阵创建: (不提倡)
       3.4.3将数值矩阵转化为符号矩阵: b=sym(a) %a为数值矩阵,无论a的元素是用分数还是浮点数表示,转化后的符号矩阵都是用最接近的精确有理数形式表示。
       3.4.4符号矩阵的索引和修改: 索引跟数值矩阵的一样  %>>b(2,3)
                                                         修改要用一个字符串代替 %>>b(2,3)='log(9)';
3.5符号矩阵的运算
       3.5.1基本运算
              1.四则运算
                     1)加减: + -
                     2)乘除: * / \
                     3)转置: '
              2.行列式运算:  det
              3.逆:   inv
              4.秩:  rank
              5.幂运算: ^
              6.指数运算: exp
                                   expm
       3.5.2矩阵分解
              1.特征值分解函数eig
              2.奇异值分解函数svd
              3.约当标准型函数jordan
              4.三角抽取函数diag, tril, triu
       3.5.3矩阵的空间运算
              1.列空间运算函数colspace
              2.零空间运算函数null
       3.5.4符号矩阵的简化
              1.因式分解: factor(S) %为了分解大于2^52的整数,可使用factor(sym('N'))
              2.展开: expand(S)
              3.合并同类项: collect(S)
                                       collect(S,v)
              4.符号简化: simple(S)  %对表达式S尝试多种不同的算法,以显示长度最短的简化形式,若S为一符号矩阵,结果是全矩阵的最简型式,而不是每个元素的最简型式。
                                  simplify(S)  %简化符号矩阵的每一个元素。
              5.分式通分: [N,D]=numden(A) %Numerator and denominator of a symbolic expression.
              6.秦九昭型: horner(P)
3.6符号微积分
       3.6.1符号极限: limit函数
                                 limit(F)  %计算a=0时的极限
                                 limit(F,a) %计算finsym(F)->a时的极限
                                 limit(F,x,a) %计算x->a时的极限
                                 limit(F,x,a,'left'(或者'right')) %用left或right指定求极限的方向
       3.6.2符号积分: int函数
                                 int(S)  %计算findsym(S)的不定积分(S为常数时默认变量为x)
                                 int(S,v)  %v为变量
                                 int(S,a,b) %计算findsym(S)的从a到b的定积分
                                 int(S,v,a,b) %v为变量
       3.6.3符号微分
              1.微分函数diff: diff(S)
                                 diff(S,'v')或diff(S,sym('v'))
                                 diff(S,n) %求n次微分
                                 diff(S,'v',n)或diff(S,n,'v')
              2.梯度函数gradient: [FX,FY,FZ,...]=gradient(F) %默认各方向点间隔为1
                                               [FX,FY,FZ,...]=gradient(F,H)%默认各方向点间隔为H
                                               [FX,FY,FZ,...]=gradient(F,HX,HY,HZ)
              3.多元函数导数: jacobian(f,v) %计算f对v的Jocobi矩阵
                                                               %>>syms x y z
                                                               %>>jacobian([x^2+y^2;x^2-y^2],[x,y])
                                                               %>>ans = [ 2*x, 2*y]
                                                               %        [ 2*x,-2*y]
3.7符号代数方程求解
       3.7.1线性方程组的符号解法
              1.linsolve(A,B) %X = LINSOLVE(A,B) is the same as X = sym(A)\sym(B).
              2.solve函数
                solve('eqn1','eqn2',...,'eqnN')
                solve('eqn1','eqn2',...,'eqnN','var1,var2,...,varN')
                solve('eqn1','eqn2',...,'eqnN','var1','var2',...'varN')
       3.7.2非线性方程组的符号解法: fsolve函数
                                                             fsolve('fun',X0)
3.8符号微分方程求解
       常微分方程的符号解: dsolve('eqn1','eqn2',...,'eqnN')
3.9符号函数的二维图
       3.9.1ezplot
               ezplot(f)  %f秩包括单个符号变量x的符号表达式,默认[-2*pi,2*pi]
               ezplot(f,xmin,xmax)或ezplot(f,[xmin,xmax])
               ezplot(f,[xmin,xmax],fig) %指定绘图的图窗口代替当前窗口
 3.9.2fplot
         fplot(fun,lims)  %fun为M文件或对x的符号表达式,lims为[xmin,xmax]或[xmin,xmax,ymin,ymax]
         fplot(fun,lims,tol) %tol < 1,相对误差,默认tol = 0.002
         fplot(fun,lims,n) %n >= 1, 以最少n + 1个点来绘图
         fplot(fun,lims,'LineSpec') %指定线型绘图
3.10图示化函数计算器
         funtool函数
3.11Maple接口
posted on 2008-05-27 13:48 lzmagic 阅读(139) 评论(0)  编辑 收藏 引用 所属分类: Matlab

标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]
相关链接:
网站导航:
 
Copyright © lzmagic Powered by: 博客园 模板提供:沪江博客