我目前正在编写一个模块,该模块应该获取二维函数的一些数据点(3 x N 矩阵)并根据这些点绘制近似等值线图(用于拟合的函数和变量由用户提供)。“标题”如下所示:
project4[dataPoints_, functionList_, fittingVarsList_, plotArgs___] :=
Module[{fitFunc, functionContourPlot, dataPointsXY, pointsPlot,
xList, yList},
使用示例:
project4[data, {1, x, y, x y, x^2, y^2}, {x, y}]
(其中数据 = {{x1,y1,f1}...})
在检查参数是否有效后,我会:
fitFunc = Fit[dataPoints, functionList, fittingVarsList];
获得近似值。然后我想通过这样做来获得它的情节:
functionContourPlot = ContourPlot[fitFunc, {fittingVarsList[[1]], xMin, xMax},{fittingVarsList[[2]],yMin, yMax};
这会导致错误:
ContourPlot::write: {x,y}[[1]] 中的标记部分受保护。Show::gcomb: "无法合并 Show[ContourPlot[fitFunc$2187,{{x,y}[[1]],xMin,xMax},{{x,y}[[2]],yMin 中的图形对象,yMax}]"
我究竟做错了什么?