matlab符号工具箱与微积分求解问题

来源:互联网 发布:知乎 西方哲学史书籍 编辑:程序博客网 时间:2024/06/07 01:40

针对大量抽象运算

建立在Maple软件基础上

符号表达式是包括数字、代数、或有理运算和符号变量的MATLAB字符串

符号表达式运算

四则运算

symaddsymsubsymmulsymdivsympow

提取分子分母运算

[n, d] = numden(s) —— 对(可展开的)有理分式符号表达式,提取分子分母

因式分解与展开

factor(s) -- 分解因式expand(s) -- 展开collect(s) -- 合并同类项 collect(s, v) -- 按v,合并同类项

化简

simplify(s) -- 应用函数规则对s化简simple(s) -- 调用其他函数综合化简,显示化简过程 —— 2016a版本只能simplify

转换

symnumericeval

变量确定

findsym(s,n) -- s中的n个符号变量

符号矩阵

微积分问题

limit()函数

limit(f, x, a)limit(f, x)limit(f)limit(f, x, a, 'right')x= -2: 0.01: 2;y = ((2 .* x - 1) ./ (x .^ 2 + 3));plot (x, y , ' - ', [0], [- 1/3], 'o')          %' - '表示函数形状为连线,‘o’表面点的形状,[0],[- 1/3]表面极限点与极限值

代数方程计算

roots(p)solve(f)solve(f, x)solve(f1, f2, ..., fn, x1, x2, ...,xn)

求方程在区间[1, 2]内的一个实根

clear;x0 = [1, 2];syms x;f = 'exp(x) - x - 3';fzero(f, x0)    >> just_try_itans =    1.5052>> 

符号导数

diff(f)diff(f, x)diff(f, n)diff(f, x, n)

实例

例一

clearclcclose allsyms x y ;fy = x .^ x;f = diff(y, x);simplify(f)

例二

clearclcclose allsyms x y ;f = x .* y - exp(x) + exp(y);f1 = - diff(f, x) ./diff(f,y)

例三

syms t a b;x = a .* cos(t);y = b .* sin(t);f1 = simplify(diff(y, t) .* diff(x, t))f2 = simplify(diff(f1, t) ./ diff(x, t))

例四

clearclcclose allsyms x y ;z = 3 * x * y - 2 * y + 5 * (x .^ 2) .* (y .^2);zxx = diff(z, x, 2)zxy = diff(diff(z, x), y)zyx = diff(diff(z, y), x)zyy = diff(z, y, 2)