Octave 等距重叠高斯网格的曲面图绘制不正确?

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

我试图在一堆重叠的偏移曲线的基础上绘制一个八度的曲面图。函数应该以相同的方式处理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 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:如果这有用,请。