<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好 ,
我想知道是否可以在JMP中求解微分方程? 如果是 - 您能否發布一個示例來說明如何執行此操作或提供任何解釋此問題的博客文章? 如果不可以,有人可以解釋一下為什麼不嗎?
注意:我不想調用 Matlab 來實現這一點。
最好的
烏代
JSL具有導數函數。我忘記了所有的微積分,所以我無法解釋最後三個術語,但我做了一個小測試工具,它有效。
// 製作一個非常難看的公式
fx = 表達式(
A * x ^ W + B * x ^ Z + C * x + D * Sin( E * x ) + F * x * Log( G * x ) + Tan( x ) * Exp( x )
);
// 要求 JMP 求關於 x 的導數。p 為素數。
fxp = 導數( 名稱 Expr( fx ), x );
W * x ^ (W - 1) * A
+ Z * x ^ (Z - 1) * B
+ C
+ E * 餘弦( E * x ) * D
+ F *對數( G * x ) + G / (G * x) * F * x
+ 1 / 餘弦( x ) ^ 2 * Exp( x ) + 指數 ( x ) *正切 ( x )
測試線束:
A = 3;
B=4;
C=5;
D=6;
E=7;
F=8;
G = 9;
W = 10;
Z = 11;
// 在某個點“center”做一個小測試
中心=7;
// 評估原始公式以計算小區間上的斜率
間隔 = .0000001;
半間隔=間隔/2;
x = 中心 - 半間隔;
y1 = fx; // 中心的低側
x = 中心 + 半間隔;
y2 = fx; // 中心高邊
斜率 = (y2 - y1) / 間隔; // 近似導數
Write( "\!nslope: " || Char( 斜率 ) );
x = 中心; // 中點
yd = fxp; // 精確導數
Write( "\!導數: " || Char( yd ) );
Write( "\!n百分比誤差:" || Char( 100 * (斜率 - 碼) / ((斜率 + 碼) / 2) ) );
斜率:13639522056.5796
衍生品:13639522109.8688
誤差百分比:-0.000000390696846545
相當陡峭!中心越接近零,陡度就越小。
至少有兩種方法可以計算導數或至少保存一階導數的公式。
對於第一種方式,您需要保存公式或創建公式列。要求導數,請轉到感興趣的列,右鍵單擊列標題,然後單擊公式。當公式編輯器打開時,您將看到公式,並且必須選擇要針對哪個變量進行導數。

第二種方式是在非線性平台中。您再次需要創建模型,但您將保存一階導數的公式,而不是保存預測公式。

您還可以在非線性平台模型對話框中指定您需要二階導數和/或純數字導數。
華泰
賬單
JSL 腳本指南中有一節
幫助==>書籍==>腳本指南
涉及衍生品的計算。在《JMP 12 腳本編寫指南》中,它從第 265 頁開始。