我的目标是找到适合表面的2个参数。表面数据来自txt文件,其中只有高度值。 所以我导入它:
test = Import["surface.txt", "Table", "FieldSeparators" -> ";"]
如果我正确阅读文档以使用FindFit
,我需要输入包含{x,y,z}
的列表或矩形数组,这是我表面的坐标。
因此,我尝试将test
和x
附加到恰好是整数的y
和For
。
在Advices here而不是使用test2 = Table[{x, y, test[[x, y]]}, {x, 1, 53}, {y, 1, 34}]
循环后,我使用表来构建三元组列表:
{{{1, 1, -0.174688},....{53,34,-0.0000179476}}}
但是输入是
fit = Fit[test2, {1, x, y}, {x, y}]
这似乎表明它产生了三元组列表。
正如预期的那样,in Fit is not a list or a rectangular array
会出现test2
错误
这更有可能因为53*34
实际上test3 = test2[[1;;34,1;;34]]
所以做:not(.icon)
会有所帮助,但我仍然会得到同样的错误,我认为这个错误来自于我仍在使用三元组列表列表,即超出一个级别。
如何获得三元组列表?