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

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当做强大的计算器,才知道它不止计算器那么简单。

你可能感兴趣的:(matlab)