How to implement Discrete Integration of the Gaussian Function on a Grid?
7 ビュー (過去 30 日間)
古いコメントを表示
Neilabh Banzal
2020 年 5 月 13 日
コメント済み: Bjorn Gustavsson
2020 年 5 月 13 日
Hi!
I want to implement a physical problem, where the photons are incident on a 2D sensor as a Gaussian Function. I need to find out the number of photons hitting each pixel.
I know the total number of photons incident on the sensor as well as the spread of the Gaussian Function.
I can't use the PDF of a Gaussian Function as its a point value.
Any ideas on how to implement this on Matlab would be extremely helpful.
0 件のコメント
採用された回答
Bjorn Gustavsson
2020 年 5 月 13 日
In that case you better integrate your Gaussian (point-spread-function?) over the pixel-areas. You could use something like this:
ph_cnt = @(x,y,x0,y0,sx,sy) integral2(@(u,v) exp(-((u-x0).^2/sx^2)+(v-y0).^2/sy^2^2),x,x+1,y,y+1);
Where x and y are the pixel-indices, x0 and y0 are the centroid of your photon-beam, sx and sy are the horizontal and vertical widths of the beam. You will still have to manage the normalization of the integral to give you the correct total photon-count.
HTH
4 件のコメント
Bjorn Gustavsson
2020 年 5 月 13 日
But if your beams are narrow, you certainly don't need to integrate over the entire 1024x1280 area. If you restrict the integration to an aera around each centre-point your relative error should be on the order of 1-erf(5)^2 or ~3e-12. To detect that small differences would require "very good" accuray for your photon-count.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Numerical Integration and Differential Equations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!