DOE:通过 JSL 运行模拟实验我有大量 DOE,希望创建一个 jsl 脚本来执行一长串相对手动的步骤:运行并打开分析器,设置并运行模拟实验,然后运行高斯过程来打开缺陷分析器。
使用“保存到脚本”功能可以非常简单地获取打开 jmp 分析器的 jsl 脚本,然后将其设置为具有给定因子分布的模拟器。但我正在努力弄清楚如何让这个 jsl 脚本做两件事:首先,设置缺陷的规范限制(当我使用保存到脚本时,这些不会被记录),然后,设置并运行生成新的缺陷率表的模拟实验。
有没有人能够做到这两件事,或者有一些关于从哪里开始的指示?
或者,也许有一种方法可以在模拟实验后面手动运行蒙特卡罗?我想这意味着我可以简单地从分析器中提取模型并直接在其上运行蒙特卡洛?
谢谢!
本
回复:DOE:通过 JSL 运行模拟实验谢谢@cwillden和@Byron_JMP ,这效果很好,现在我有很多自动缺陷模拟!
回复:DOE:通过 JSL 运行模拟实验首先,将该规格限制添加到列属性中
在上面的示例脚本中,这部分脚本就是这样做的。
:Pred Formula ABRASION <<SET property=""></SET>
然后像上面的脚本一样运行报告。 为了使下一步工作正常进行,请务必在脚本中记下这一点。
obj = Profiler( ...
这让“report”被变量“obj”引用
为了从报告中获取数据,我需要告诉 JMP obj 实际上是一个报告。
然后我需要在树结构中找到我想要的表。 大纲栏旁边的灰色三角形,右键单击它,编辑,然后显示树结构。 从那里找到装有您想要的东西的盒子的名称。
然后向报告的该部分发送一条消息,并将其制成数据表,如下所示。
objr=report(obj);
DefectTable=objr[TableBox( 3 )];
DDT=DefectTable<<MAKE into="" data="https://community.jmp.com/" table=""></MAKE>
由于您计划迭代 DOE 列表,因此我可能会将数据表命名为“DDT”迭代的名称或其他名称,只是为了稍后保持表格清晰。
ddt<<SET name=""></SET>
回复:DOE:通过 JSL 运行模拟实验只需快速跟进即可。看起来它将有助于在预测公式列的列属性中设置规格限制。如果您检查“Defect Profiler”的脚本索引,看起来有一个非常好的示例说明您想要做什么。这是它提供的示例脚本:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
:Pred Formula ABRASION <<
Set Property( "Spec Limits", {LSL( 110 )} );
:Pred Formula MODULUS <<
Set Property(
"Spec Limits",
{LSL( 750 ), USL( 1700 )}
);
obj = Profiler(
Y(
:Pred Formula ABRASION,
:Pred Formula MODULUS,
:Pred Formula ELONG,
:Pred Formula HARDNESS
),
Simulator(
1,
Factors(
SILICA <<
Random( Normal( 1.25, 0.3266 ) ),
SILANE <<
Random(
Normal weighted( 50, 6.532 )
),
SULFUR << Fixed( 2.25 )
),
Responses(
Pred Formula ABRASION << No Noise,
Pred Formula MODULUS << No Noise,
Pred Formula ELONG << No Noise,
Pred Formula HARDNESS << No Noise
),
Defect Profiler( 1 ),
Simulate
)
);回复:DOE:通过 JSL 运行模拟实验在列属性中设置规格限制是否有帮助?我想可以通过 JSL 访问模拟功能。 您能为我们提供一个最低限度的工作示例吗?