学习Matlab强大的符号计算(解方程)

学习Matlab强大的符号计算(解方程)

分类: 学习 其它语言 3135人阅读 评论(0) 收藏 举报
  1. syms x1 x2; %定义符号变量  
  2. syms y1 y2;  
  3. clc  
  4. [x1, x2] = solve('x1 + x2 = y1',...  
  5.     'x1^2 + x2^2 = y2',...  
  6.     'x1', 'x2') %求x1,x2用y1, y2表示的表达  
  7. %求解y1 = 1,y2 = 5 时的函数值  
  8. y1 = 1;  
  9. y2 = 5;  
  10. x1 = eval(x1)   % eval %把符号变量转换为数值型,  
  11. x2 = vpa(eval(x2), 3) % vpa  %精度,这里用3位小数精度表示  
  12. %{  
  13. %运行结果为  
  14. x1 =  
  15.  1/2*y1-1/2*(-y1^2+2*y2)^(1/2)  
  16.  1/2*y1+1/2*(-y1^2+2*y2)^(1/2)  
  17. x2 =  
  18.  1/2*y1+1/2*(-y1^2+2*y2)^(1/2)  
  19.  1/2*y1-1/2*(-y1^2+2*y2)^(1/2)  
  20. x1 =  
  21.     -1  
  22.      2  
  23. x2 =  
  24.   2.  
  25.  -1.  
  26. %}  
syms x1 x2; %定义符号变量
syms y1 y2;
clc
[x1, x2] = solve('x1 + x2 = y1',...
    'x1^2 + x2^2 = y2',...
    'x1', 'x2') %求x1,x2用y1, y2表示的表达
%求解y1 = 1,y2 = 5 时的函数值
y1 = 1;
y2 = 5;
x1 = eval(x1)   % eval %把符号变量转换为数值型,
x2 = vpa(eval(x2), 3) % vpa  %精度,这里用3位小数精度表示
%{
%运行结果为
x1 =
 1/2*y1-1/2*(-y1^2+2*y2)^(1/2)
 1/2*y1+1/2*(-y1^2+2*y2)^(1/2)
x2 =
 1/2*y1+1/2*(-y1^2+2*y2)^(1/2)
 1/2*y1-1/2*(-y1^2+2*y2)^(1/2)
x1 =
    -1
     2
x2 =
  2.
 -1.
%}
以前把Matlab当做强大的计算器,才知道它不止计算器那么简单。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值