matlab学习笔记:符号运算

批量产生符号变量

for m=1:3
    syms (['x', num2str(m)]);
end
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

符号运算的强大函数:g = subs(f,old,new)

       可以将符号表达式f中的变量old替换为变量new。new可以是数值,从而进行数值运算。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

高精度运算:vpa

       如计算黄金分割数的100位有效数字,用其公式(sqrt(5)-1)/2。

syms x;
f = (sqrt(x)-1)/2;
vpa(subs(f, 'x', '5'), 100)
可得:0.6180339887498948482045868343656381177203091798057628621354486227052604628189024497072072041893911375,注意结果是四舍五入的。

        接下来还可以用char(syms),把结果变成字符串形式,方便进行其他操作分析。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

解方程组:solve

        例如要求解该方程组:


        

 s = solve('cos(x)-sin(x-y)=0','-sin(y)+sin(x-y)=0','x','y');
 [s.x s.y]
        输出一共有三组解:

ans =
 
[  pi/3,     pi/6]
[ -pi/3, (5*pi)/6]
[    pi,    -pi/2]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值