為什麼Mathematica的DSolve函式會解不出顯式解??

時間 2021-05-30 03:11:54

1樓:

不同的軟體演算法不同,可能這題正好對不上MMA的胃口

這題maple和matlab(mupad)都能算出來,不過兩者解的形式很不相同

2樓:

In[6]:= DSolve[v''[t] == 3 v'[t] - 2 v[t] - 2 v[t]^2 + 2 v[t] v'[t],

v[t], t]

Out[6]= }

說明書裡面是這麼說的,DSolve includes general procedures that handle almost all the nonlinear ordinary differential equations whose solutions are given in standard reference books such as Kamke.

但system of ODEs就一點說明也沒有,估計消元比較殘念吧(而且似乎很難設計演算法不增添或者遺漏解吧),你看這個,

In[28]:= DSolve[, , t]

Out[28]= }

從解的結構可以看出來是用特徵值法做的,沒用消元,

我猜DSolve這個函式是對未知函式向量 做整體的線性或者非線性的變換,而後比對自己的函式庫(MM喜歡內建已知的函式和其性質,但Simplify的功能一直很雞肋,看起來似乎是做了乙個簡單的parser,更別提複雜的有目的性的代數計算了),比對完了就返回空值,你看這個例子,

DSolve[, , t]

, , t]

During evaluation of In[44]:= DSolve::bvnul:

For some branches of the general solution, the given boundary conditions lead to an empty solution. >>

During evaluation of In[44]:= DSolve::bvnul:

For some branches of the general solution, the given boundary conditions lead to an empty solution. >>

During evaluation of In[44]:= DSolve::bvnul:

For some branches of the general solution, the given boundary conditions lead to an empty solution. >>

During evaluation of In[44]:= General::stop:

Further output of DSolve::bvnul will be suppressed during this calculation. >>

Out[44]= {}

MM自己橢圓函式沒玩好玩脫了。

所以即便MM號稱符號運算強大,還是用來處理流水線計算比較穩妥,比如算個Riemann tensor啥的。。。。

為什麼 Mathematica 不能顯示積分過程,即使它能算出最終結果?

wydi 終於可以回答了。如果你採用基於模式匹配的方法,有乙個現成的 Rubi 庫可以用。wydi 全自動不定積分過程生成工具 by Mathematica 受限於方法,對於某些需要技巧的題是算不出的 但是內建的 Integrate 能出來 並且有些規則過於。一步到位,難以銜接。但是勝在速度快,以及...

為什麼Mathematica裡矩陣索引這麼慢,有沒有什麼辦法迴避或者改進?

With With Table Sinh Sin mat i,j Cos mat k,l If k i,0,1i,m Total 1 AbsoluteTiming 燕南 樓主要求的是矩陣的外積,用 3 x 2 的符號矩陣說明,就是 In 71 m In 72 Total Sinh Flatten T...

關於mathematica的問題 如何變數替換?

大灰熊 發現偏題了 不過應該沒事 去查了查,大概整理了一下這個回答。是這樣的,mma裡面的變數替換是一種模式匹配的過程,就是它會去式子裡面尋找對應的結構然後整體替換。現在的問題在於,它內部的內容和你實際上看到的內容不一樣,所以替換會失敗。比如這樣 x y z y z w 不管加不加括號都會替換失敗。...