Octave 等距重叠高斯网格的曲面图绘制不正确?
我试图在一堆重叠的偏移曲线的基础上绘制一个八度的曲面图。函数应该以相同的方式处理x和y,但在最终的图中,我没有看到,它有沿着一个轴的脊线。我无法判断这是绘图错误还是我的代码有其他问题。我希望你能提供一些帮助/见解 谢谢Octave 等距重叠高斯网格的曲面图绘制不正确?,octave,surface,Octave,Surface,我试图在一堆重叠的偏移曲线的基础上绘制一个八度的曲面图。函数应该以相同的方式处理x和y,但在最终的图中,我没有看到,它有沿着一个轴的脊线。我无法判断这是绘图错误还是我的代码有其他问题。我希望你能提供一些帮助/见解 谢谢 clear; graphics_toolkit gnuplot V = 2500; %scan speed in mm rr = 200000; %rep rate in Hz Qsp = 1; %pulse energy pi = 3.14159; ns = 1; %scan
clear;
graphics_toolkit gnuplot
V = 2500; %scan speed in mm
rr = 200000; %rep rate in Hz
Qsp = 1; %pulse energy
pi = 3.14159;
ns = 1; %scan number
w = 0.0125; %Gaussian radius in mm
dp = 0.0125; %lateral pulse distance in mm
dh = 0.0125; %hatch pitch in mm
xmax = 0.2; %ablation area x in mm
ymax = 0.2; %ablation area y in mm
np = round(xmax/dp);
nh = round(ymax/dh);
points = 50;
cof = ns*2*Qsp/(pi*w^2);
N = [0:1:np];
M = rot90([0:1:nh]);
for i = 1:points
for j = 1:points
x = (i-1)*xmax/(points-1);
y = (j-1)*ymax/(points-1);
k = exp(-(2*(x-N*dp).^2+(y-M*dh).^2)/(w^2));
H(i,j) = cof*sum(sum(k));
endfor
endfor
ii = [1:1:points];
jj = ii;
xx = (ii-1)*xmax/(points-1);
yy = (jj-1)*ymax/(points-1);
surf(xx,yy,H);
我发现分隔复杂表达式的组件很有帮助
k = exp(-(2*(x-N*dp).^2+(y-M*dh).^2)/(w^2));
有这么多括号读起来太难了
k = exp(
-(
2*(x-N*dp).^2 + (y-M*dh).^2
) / (w^2)
);
你已经看到了吗
k = exp(
-(
2 * (x-N*dp).^2
+
(y-M*dh).^2
) / (w^2)
);
x分量乘以2,但y分量不乘以2。@Helios:如果这有用,请。