<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 页开始。