我做了AFM(原子力显微镜)测量。我将数据从 Gwyddion 导出到文本文件(可以在此处下载),例如我在 Matlab 中加载它,如下所示:
data = importdata('001_Zsensor.xyz');
x=data(:,1);y=data(:,2);z=data(:,3);
shading('interp');
tri = delaunay(x,y);
figure(1)
tsurf=trisurf(tri,x,y,z,'EdgeColor','none','Facecolor','interp');
所以现在我有了我的表面。它对应于珠子的粗糙度,因此我需要提取该表面的球形特征,以便恢复平面上的粗糙度景观(然后我可以从中计算我的物理参数)。
基本上,我想将椭圆体拟合到我之前定义的表面(tsurf)。我尝试使用cftool
(即使我宁愿使用命令,以便我可以将其放入 Matlab 脚本中),但因为等式应该是形式
z=f(x,y)
椭球体的方程为
((x-x0)/a)^2 + ((y-y0)/b)^2 + ((z-z0)/c)^2 = 1
,
我没有设法适应工作。 我该怎么做?
谢谢。
好的,找到了!在这里:
按照我之前编写的代码行(请参阅本文的问题):
ffit = fit([x y],z,'poly22')
figure(1)
hold on
plot(ffit)
当然,如果需要,合身度可以受到更多限制。