编辑: 鱼饵虫 2015-06-25

R=subs(S,old,new) 用新的符号变量替换 S 中的变量, 被替换的变量由 old 指定, 如果 new 是数字形式的符 号,则数值代替原来的符号计算表达式的值,所得结果仍是字符串形式;

如果 new 是矩阵, 则将 S 中的所有 old 替换为 new,并将 S 中的常数项扩充为与 new 维数相同的常数矩阵. 【例5-6】

2 f ax bx c = + + . 解: 第一步:在matlab 命令窗口中输入如下命令. >

>

syms a b c x >

>

f=a*x^2+b*x+c >

>

y=subs(f,2) >

>

z=subs(f,a,3) >

>

s=subs(f,[a,b,c],[3,4,5]) 第二步:按 enter 键,得到的结果如下. y = 4*a + 2*b + c z = 3*x^2 + b*x + c s = 3*x^2 + 4*x +

5 5.1.3 符号和数值之间的转化 在符号变量生成一节中已经介绍了 sym 函数,该函数用于生成符号变量,也可以将数 值转化为符号变量.格式为: s=sym(A,flag) 转化的方式由参数 flag 确定,它也可以为'

r'

、'

f'

、'

e'

、'

d'

,默认的为'

r'

.'

r'

代表 有理数格式,'

f'

代表浮点数格式,'

e'

代表有理误差格式,'

d'

代表十进制格式. sym 的另一个重要作用是将数值矩阵转化为符号矩阵,而eval 可以将符号表达式变换 成数值表达式. 【例5-7】

3 y= . 解: >

>

y=sqrt(3) (1) 浮点格式. >

>

sym(y,'

f'

) ans = 3900231685776981/2251799813685248

87 第5章MATLAB 符号运算 (2) 有理格式. >

>

sym(y,'

r'

) ans = 3^(1/2) (3) 有理误差格式. >

>

sym(y,'

e'

) ans = 3^(1/2) - (268*eps)/593 (4) 十进制格式. >

>

sym(y,'

d'

) ans = 1.7320508075688771931766041234368 5.1.4 任意精度的计算 符号计算的一个非常显著的特点是:在计算过程中不会出现舍入误差,从而可以得到 任意精度的数值解.如果希望计算结果精确,可以用符号计算来获得足够高的计算精度. 符号计算相对于数值计算而言,需要更多的计算时间和存储空间. MATLAB 工具箱中有

3 种不同类型的算术运算: 数值型:MATLAB 的浮点数运算;

有理数类型:Maple 的精确符号运算;

VPA 类型:Maple 的任意精度算术运算. 在3种运算中,浮点运算速度最快,所需的内存空间小,但是其结果精确度最低.双 精度数据的输出位数由 format 命令控制, 但是在内部运算时采用的是计算机硬件所提供的 八位浮点运算.而且,在浮点运算的每一步,都存在一个舍入误差,如上面的运算中存在 三步舍入误差:计算 1/3 的舍入误差,计算 1/2+1/3 的舍入误差,以及将最后结果转化为 十进制输出时的舍入误差. 符号运算中的有理数运算,其时间复杂度和空间复杂度都是最大的,但是,只要时间 和空间允许,都能够得到任意精度的结果. 可变精度的运算运算速度和精确度均位于上面两种运算之间.其具体精度由参数指 定,参数越大,精确度越高,运行越慢. 5.1.5 创建符号方程 1.创建抽象方程 MATLAB 中可以创建抽象方程,即只有方程符号,没有具体表达式的方程.若要创建 方程,并计算其一阶微分的方法如下. >

>

f=sym('

f(x)'

);

88 MATLAB 基础及实验教程 >

>

syms x h;

>

>

df = (subs(f,x,x+h)-f)/h df = (f(x+h)-f(x))/h 抽象方程在积分变换中有着很多的应用. 2.创建符号方程 创建符号方程的方法有两种:利用符号表达式创建和创建 M 文件. 利用符号表达式创建的步骤就是,先创建符号变量,通过符号变量的运算生成符号函 数直接生成符号表达式. 而利用 M 文件创建符号方程的步骤就是先利用 M 文件创建的函 数,可以接受任何符号变量作为输入,作为生成函数的自变量. 5.2 符号表达式的化简与替换 5.2.1 符号表达式的化简 MATLAB 中可以实现符号表达式化简的函数有 collect、 expand、 horner、 factor、 simplify、 simple. 1.collect 该函数用于合并同类项,具体调用格式为: R=collect(S) 合........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题