zoukankan      html  css  js  c++  java
  • 方程式求根

    使用sym或syms建立变量

    >> syms x
    >> (x+x)/3
     
    ans =
     
    (2*x)/3
     
    >> y=sym('y')
     
    y =
     
    y
    

    solve()

    1.一元一次方程

    解y=x*sin(x)-x; y是equation x是symbol

    >> solve(cos(x).^2-sin(x).^2,x)
     
    ans =
     
    pi/4
    

    2.二元一次方程

    >> syms x y
    >> eq1=x-2*y-5;
    >> eq2=x+y-6;
    >> a=solve(eq1,eq2,x,y)
    
    a = 
    
      包含以下字段的 struct:
    
        x: [1×1 sym]
        y: [1×1 sym]
    
    >> a.x
     
    ans =
     
    17/3
     
    >> a.y
     
    ans =
     
    1/3
    

     解ax^2-b=0

    >> syms x a b
    solve(a*x^2-b)
     
    ans =
     
      b^(1/2)/a^(1/2)
     -b^(1/2)/a^(1/2)
    
    >> syms x a b
    >> solve(a*x^2-b,b)%以b为未知数来解
     
    ans =
     
    a*x^2
    

    求导

    >> syms x
    >> y=4*x^5
     
    y =
     
    4*x^5
     
    >> yprime=diff(y)
     
    yprime =
     
    20*x^4
    

     积分

    对x^2*exp(x)积分,z(0)=0

    subs是赋值函数,用数值替代符号变量替换函数

    >> syms x
    >> y=x^2*exp(x);
    >> z=int(y);
    >> z=z-subs(z,x,0)%exp(x)*(x^2 - 2*x + 2) 用0替代x z(0)=2 z=z-2;
     
    z =
     
    exp(x)*(x^2 - 2*x + 2) - 2
    

    fsolve()

    >> f2=@(x) (1.2*x+0.3+x*sin(x));
    >> fsolve(f2,0)%(函数句柄,初始值)
    
    ans =
    
       -0.3500
    

    fzero()

    x = fzero(fun,x0) 尝试在x0附近求出 fun(x) = 0 的点 x。此解是 fun(x) 变号的位置 - fzero 无法求函数(例如 x^2)的根。

    >> fzero(f,0.1)
    正在退出 fzero: 将终止搜索包含符号变化的区间
     因为在搜索期间遇到 NaN 或 Inf 函数值。
    (-1.37296e+154 处的函数值为 Inf。)
    请检查函数或使用其他起始值重试。
    
    ans =
    
       NaN
    

     x = fzero(fun,x0,options) 使用 options 修改求解过程,误差的范围。

    求多项式的解

    >> roots([1 -6 -12 81])
    
    ans =
    
       -3.5969
        5.5097
        4.0872
    
  • 相关阅读:
    js把日期字符串转换成时间戳
    JS array 数组
    for循环中的if嵌套
    第三章:图像增强
    直方图均衡化
    第二章:数字图像处理基础
    马赫带效应
    图片格式
    4邻接,8邻接和m邻接
    第一章:绪论
  • 原文地址:https://www.cnblogs.com/zuiaimiusi/p/11318798.html
Copyright © 2011-2022 走看看