ランベルトのW関数

nAG Toolbox for MATLAB®用のサンプルコード

Keyword: ランベルトのW関数

概要

本サンプルはランベルトのW関数を求めるサンプルプログラムです。 本サンプルは以下に示される入力データxについて関数W(x)の値を求め、出力します。

ランベルトのW関数のデータ 

※本サンプルはnAG Toolbox for MATLAB®が提供する関数 c05ba() のExampleコードです。実行にはMATLAB®本体(他社製品)とnAG Toolbox for MATLAB®が必要です。
本サンプル及び関数の詳細情報は c05ba のマニュアルページをご参照ください。

入力データ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

branch = int32(0);
offset = false;
x = [0.5, 1.0, 4.5, 6.0, 7.0e7];
w = zeros(length(x),1);
ifails = zeros(length(x),1);
for i = 1:length(x)
  [w(i), ifails(i)] = c05ba(x(i), branch, offset);
end
fprintf('\nBranch = %d\n', branch);
if offset
  fprintf('Offset = true\n\n');
else
  fprintf('Offset = false\n\n');
end
fprintf('      x            w(x)      ifail\n');
for i=1:5
  fprintf('%13.5e %13.5e    %d\n', x(i), w(i), ifails(i));
end

  • branch に実数の分岐を示す値を指定しています。
  • offset にxが−exp(−1)からのオフセットとして指定されているかどうかをを示すパラメータを指定しています。"false" はxはオフセットではなくランベルトのW関数W(x)の引数であることを意味しています。
  • x にW関数W(x)のxの値を指定しています。
  • w に初期値を指定しています。
  • ifalis に初期値を指定しています。
  • 6~8行目は本関数を呼び出す構文を指定しています。
  • 9~14行目は branch と offset の値を出力する構文を指定しています。
  • 15~18行目は本関数の実行結果を出力する構文を指定しています。

出力結果

1
2
3
4
5
6
7
8
9

Branch = 0
Offset = false

      x            w(x)      ifail
  5.00000e-01   3.51734e-01    0
  1.00000e+00   5.67143e-01    0
  4.50000e+00   1.26724e+00    0
  6.00000e+00   1.43240e+00    0
  7.00000e+07   1.53339e+01    0

  • Branch は読み込まれた分岐を示す値を示しています。
  • Offset は読み込まれた、 xがオフセットかどうかを示すパラメータを示しています。
  • 5~9行目にランベルトのW関数の引数xの値、W(x)の値と関数がエラーを検知しなかったことを示す"0"が出力されています。

関連情報
© 日本ニューメリカルアルゴリズムズグループ株式会社 2025
Privacy Policy  /  Trademarks