使用MATLAB求【MATLAB入门】初探 - 图1的根

    • 方法一

      1. >> p = [1,-3,1];
      2. >> x = roots(p)
      3. x =
      4. 2.6180
      5. 0.3820

      画图

      1. >> x=-5:0.1:5;
      2. >> y1=x.*x - 3*x + 1;
      3. >> y2 = zeros(size(x));
      4. >> plot(x, y1, x, y2)

      image.png

    • 方法二 函数 fzero

      1. >> f = @(x) x*x - 3*x + 1;
      2. >> x1 = fzero(f, 0.5) # 在x=0.5附近的实根
      3. x1 =
      4. 0.3820
      5. >> x2 = fzero(f, 2.5)
      6. x2 =
      7. 2.6180
    • 方法三 求根函数 fsolve

      1. >> x1 = fsolve(f, 0.5, optimset('Display', 'off'))
      2. x1 =
      3. 0.3820
      4. >> x2 = fsolve(f, 2.5, optimset('Display', 'off'))
      5. x2 =
      6. 2.6180
    • 方法四 函数solve

      1. >> syms x
      2. >> x = solve(x^2 - 3*x + 1)
      3. x =
      4. 3/2 - 5^(1/2)/2
      5. 5^(1/2)/2 + 3/2
      6. >> eval(x)
      7. ans =
      8. 0.3820
      9. 2.6180