// CompositeProcess 模拟数据生成脚本// 在JMP中运行此脚本,将创建一个包含100条模拟数据的数据表Names Default To Here(1);Random Seed(42); // 固定随机种子,确保结果可重复n = 100; // 数据条数// 创建数据表dt = New Table("CompositeProcess", // 工艺参数列 New Column("批次号", Character, Set Values(Char(1::n))), New Column("固化温度", Numeric, Format("Fixed Dec", 12, 1), Set Values(J(n, 1, Random Uniform(120, 180)))), New Column("固化压力", Numeric, Format("Fixed Dec", 12, 2), Set Values(J(n, 1, Random Uniform(0.3, 0.8)))), New Column("保温时间", Numeric, Format("Fixed Dec", 12, 0), Set Values(J(n, 1, Random Uniform(60, 180)))), New Column("升温速率", Numeric, Format("Fixed Dec", 12, 1), Set Values(J(n, 1, Random Uniform(1, 5)))), New Column("树脂含量", Numeric, Format("Fixed Dec", 12, 1), Set Values(J(n, 1, Random Uniform(30, 45)))), New Column("铺层角度", Numeric, Set Values(J(n, 1, Random Integer(1, 4)) * 45)), New Column("纤维体积分数", Numeric, Format("Fixed Dec", 12, 1), Set Values(J(n, 1, Random Uniform(55, 70)))), New Column("树脂体系", Character, Set Values({"环氧A", "环氧B", "双马来酰亚胺"}[J(n, 1, Random Integer(1, 3))])));// 计算层间剪切强度(ILSS)- 模拟真实的非线性关系层间剪切强度 = J(n, 1, 0);For(i = 1, i <= n, i++, temp = dt:固化温度[i]; press = dt:固化压力[i]; time = dt:保温时间[i]; rate = dt:升温速率[i]; resin = dt:树脂含量[i]; fiber = dt:纤维体积分数[i]; // 基础模型:主效应 + 交互效应 + 非线性项 base = 35; // 主效应(线性) main = 0.15 * temp + 25 * press + 0.03 * time + 0.8 * resin + 0.3 * fiber - 0.5 * rate; // 关键交互效应:温度 × 保温时间 interaction = 0.0008 * temp * time; // 非线性项:最优温度在150°C左右 nonlinear = -0.003 * (temp - 150)^2; // 随机噪声 noise = Random Normal() * 2.5; // 最终强度值 层间剪切强度[i] = base + main + interaction + nonlinear + noise;);// 添加层间剪切强度列dt << New Column("层间剪切强度", Numeric, Format("Fixed Dec", 12, 2), Set Values(层间剪切强度));// 提示Print("✅ CompositeProcess 数据表已创建!");Print(" - 共 " || Char(n) || " 条数据");Print(" - 包含 7 个工艺参数和 1 个响应变量");Print(" - 现在可以运行文章中的分析代码了");