You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

erf函数恒为零问题求助:星光学信号Alpha系数建模异常

恒星光信号Alpha系数计算异常问题

项目背景

我正在开展一项从恒星光线中提取光信号的项目,核心任务是建立Alpha系数分布的直方图模型。Alpha是决定每个像素有用信号占比的系数,当前处理的是7×7规模的像素阵列,单个像素大小为1,Alpha的计算公式如下:
Alpha计算函数

异常情况

目前遇到两个问题:

  • 代码中erf函数的计算结果始终为0
  • Matlab代码输出的数组与我手动计算的矩阵结果不匹配

我的Matlab代码

close all
dz = 0.5;
i_range = -3:1:3;
j_range = -3:1:3;

result_array = zeros(7,7);


for i_idx = 1:numel(i_range)
    i = i_range(i_idx);

    for j_idx = 1:numel(j_range)
        j = j_range(j_idx);

a = ((((i-1)/2)*erf(((i-1)*dz)/(sqrt(2))))-(i*erf((i*dz)/(sqrt(2))))+(((i+1)/2*erf(((i+1)*dz)/(sqrt(2))))+((1/(dz*(sqrt(2*pi))))*((exp(-(((i-1)^2)*(dz^2))/4))-(2*(exp((i^2)*(dz^2)/2)))+(exp(-(((j+1)^2)*(dz^2))/2)))))) * ((((j-1)/2)*erf(((j-1)*dz)/(sqrt(2))))-(j*erf((j*dz)/(sqrt(2))))+(((j+1)/2*erf(((j+1)*dz)/(sqrt(2))))+((1/(dz*(sqrt(2*pi))))*((exp(-(((j-1)^2)*(dz^2))/4))-(2*(exp((j^2)*(dz^2)/2)))+(exp(-(((j+1)^2)*(dz^2))/2))))));
        result_array(i_idx, j_idx) = a;
    end
end


inverted_result_array = max(result_array(:)) - result_array;


normalized_result_array = inverted_result_array - min(inverted_result_array(:));
normalized_result_array = normalized_result_array / max(normalized_result_array(:));

figure 
bar3(result_array);
xlabel('i');
ylabel('j');
zlabel('a');
title(['dz = ', num2str(dz)]);

手动计算的矩阵结果

手动计算的7×7Alpha系数矩阵

内容的提问来源于stack exchange,提问作者friendly neighbor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 08:57:25