Helmholtz 方程式為一著名方程式可應用於各種不同的物理問題,特別適用於電磁波的傳導;但是大幅度的震盪、高波數所產生之汙染效應、虛值解以及其非線性都增加求解此一函數的困難度。由於電腦只具有限的CPU容量,若要利用數值模擬得到十分精確的數值結果是非常艱難的。此篇論文採用一方法,我們使用較少的離散點但可得到與較多離散點相同的誤差,此方法同時可應用於線性以及非線性問題。由數值實驗可得知,此方法可以改善線性問題的精確度而避免使用細網格。而對於非線性問題,由於非線性項的影響此一方法提供改善較為不明顯。外,此篇論文亦引入一迭代法用於控制非線性項,並可用於各種數值方法;Helmholtz equation is the one of the mathematical model to describe many physical problems, especially the propagation of electromagnetic waves. Helmholtz equation has some difficulties, such as the highly oscillatory and "pollution effect" for high wavenumber, complex-valued, and has nonlinearity term for nonlinear Helmholtz equation. Because the limitation of memory and CPU size in digital computer, simulating this problem with a large size of computation points is impossible. This thesis presents a method to solve this problem with a few points and has the same accuracy as the large number of discretization point. This method will be applied to both linear and nonlinear problem. From numerical experiment, this method can improve the result and accuracy for linear problem, so that the use of the large number of discretization is not necessary. For nonlinear problem, this method can provide the small improvement because of the nonlinearity term. In addition, this thesis also introduce an iteration method that can handle the nonlinearity term and can be applied for some numerical schemes.