matlab 符号运算

符号运算更像是我们所做的数学题的解题形式,即先定义变量xy(符号变量),然后给出一个函数,最后再赋值、求解子类的操作,而不是在定义变量x、y(一般变量)的时候,就赋值。

% 一般变量
>> x = 2;
>> x^2
4

% 符号变量
>> symns y;
>> f = y^2;
                    % 此时 f 的类型为 sym 类型
>> subs(f, 'y', 2)
                    % subs == substitute
                    % 对符号表达式的相关符号变量进行替换,或者叫赋值
4

关于 subs:还有一点需要说明的是,它的替换(赋值)是一种十分智能的方式,它不是C语言宏的原样替换,而是解析之后的替换:

>> syms x y
>> subs(x*y^2, x*y, 5)
5*y
                    % 而不是25
                    % 是将 x*y^2 (考虑到算符优先级)解析为 x*y*y

对函数求导,只有对符号表达式才可按照我们做数学题的方式,由程序给出,而不是手动计算,自己定义其导数形式:

>> syms x;
>> y = cos(x);
>> diff(y)
-sin(x)

你可能感兴趣的:(matlab 符号运算)