Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sympy 我如何用Symphy绘制图形?_Sympy - Fatal编程技术网

Sympy 我如何用Symphy绘制图形?

Sympy 我如何用Symphy绘制图形?,sympy,Sympy,我是一名高中生,我正在写一篇关于profile velocity的报告。 我对微分方程和Python知之甚少,但我必须同时使用它们 我试图从(ma=mg-kv)中导出速度,从v中计算a和s 我成功地计算了v,但我有几个问题 import sympy init_printing() %matplotlib inline (m, g, k, t) = symbols('m g k t') v = Function('v') deq = Eq( m*v(t).diff(t), m*g - k*

我是一名高中生,我正在写一篇关于profile velocity的报告。 我对微分方程和Python知之甚少,但我必须同时使用它们

我试图从(ma=mg-kv)中导出速度,从v中计算a和s

我成功地计算了v,但我有几个问题

import sympy

init_printing()
%matplotlib inline 

(m, g, k, t) = symbols('m g k t')
v = Function('v')

deq = Eq( m*v(t).diff(t), m*g - k*v(t) )
eq = dsolve( deq, v(t) )

C1 = Symbol('C1')
C1_ic = solve( eq.rhs.subs( {t:0}), C1)[0]

r = expand(eq.subs({C1:C1_ic}))
  • 计算C1的简单方法不起作用
  • v(0)=0

    所以我写

    eq = dsolve( deq, ics={v(0):0})
    
    但是,它的结果与

    eq = dsolve( deq, v(t) )
    
  • 如何计算acc并绘制图表
  • 我尝试了这个代码,但它不起作用

    a = diff(r, t)
    r = dsolve( a, v(t))
    r.subs({m:1, g:9.8, k:1})
    plot( r , (t,0,100))
    

    我没有从
    eq=dsolve(deq,ics={v(0):0})
    得到相同的结果。您还应该声明
    m
    g
    k
    positive=True

    In [50]: m, g, k = symbols('m g k', positive=True)
    
    In [51]: t = Symbol('t')
    
    In [52]: v = Function('v')
    
    In [53]: deq = Eq( m*v(t).diff(t), m*g - k*v(t) )
    
    In [54]: deq
    Out[54]: 
      d                      
    m⋅──(v(t)) = g⋅m - k⋅v(t)
      dt                     
    
    In [55]: dsolve(deq, v(t))
    Out[55]: 
                  k⋅(C₁ - t)
                  ──────────
                      m     
           g⋅m + ℯ          
    v(t) = ─────────────────
                   k        
    
    In [56]: dsolve(deq, v(t), ics={v(0):0})
    Out[56]: 
                    ⎛     m⋅log(g)   m⋅log(m)   ⅈ⋅π⋅m⎞
                  k⋅⎜-t + ──────── + ──────── + ─────⎟
                    ⎝        k          k         k  ⎠
                  ────────────────────────────────────
                                   m                  
           g⋅m + ℯ                                    
    v(t) = ───────────────────────────────────────────
                                k                     
    
    In [57]: sol = dsolve(deq, v(t), ics={v(0):0}).rhs
    
    In [58]: sol.expand()
    Out[58]: 
               -k⋅t 
               ─────
                 m  
    g⋅m   g⋅m⋅ℯ     
    ─── - ──────────
     k        k     
    
    In [59]: factor_terms(sol.expand())
    Out[59]: 
        ⎛     -k⋅t ⎞
        ⎜     ─────⎟
        ⎜       m  ⎟
    g⋅m⋅⎝1 - ℯ     ⎠
    ────────────────
           k 
    
    你可以像这样计算和绘制加速度

    In [62]: sol = factor_terms(sol.expand())      
    
    In [64]: a = sol.diff(t)
    
    In [65]: a = sol.diff(t).subs({m:1, g:9.8, k:1})
    
    In [66]: a
    Out[66]: 
         -t
    9.8⋅ℯ  
    
    In [67]: plot(a, (t, 0, 100))
    

    我没有从
    eq=dsolve(deq,ics={v(0):0})
    得到相同的结果。您还应该声明
    m
    g
    k
    positive=True

    In [50]: m, g, k = symbols('m g k', positive=True)
    
    In [51]: t = Symbol('t')
    
    In [52]: v = Function('v')
    
    In [53]: deq = Eq( m*v(t).diff(t), m*g - k*v(t) )
    
    In [54]: deq
    Out[54]: 
      d                      
    m⋅──(v(t)) = g⋅m - k⋅v(t)
      dt                     
    
    In [55]: dsolve(deq, v(t))
    Out[55]: 
                  k⋅(C₁ - t)
                  ──────────
                      m     
           g⋅m + ℯ          
    v(t) = ─────────────────
                   k        
    
    In [56]: dsolve(deq, v(t), ics={v(0):0})
    Out[56]: 
                    ⎛     m⋅log(g)   m⋅log(m)   ⅈ⋅π⋅m⎞
                  k⋅⎜-t + ──────── + ──────── + ─────⎟
                    ⎝        k          k         k  ⎠
                  ────────────────────────────────────
                                   m                  
           g⋅m + ℯ                                    
    v(t) = ───────────────────────────────────────────
                                k                     
    
    In [57]: sol = dsolve(deq, v(t), ics={v(0):0}).rhs
    
    In [58]: sol.expand()
    Out[58]: 
               -k⋅t 
               ─────
                 m  
    g⋅m   g⋅m⋅ℯ     
    ─── - ──────────
     k        k     
    
    In [59]: factor_terms(sol.expand())
    Out[59]: 
        ⎛     -k⋅t ⎞
        ⎜     ─────⎟
        ⎜       m  ⎟
    g⋅m⋅⎝1 - ℯ     ⎠
    ────────────────
           k 
    
    你可以像这样计算和绘制加速度

    In [62]: sol = factor_terms(sol.expand())      
    
    In [64]: a = sol.diff(t)
    
    In [65]: a = sol.diff(t).subs({m:1, g:9.8, k:1})
    
    In [66]: a
    Out[66]: 
         -t
    9.8⋅ℯ  
    
    In [67]: plot(a, (t, 0, 100))