まず、エディターを立ち上げる。
リストを入力し、保存する。
####### Program List ############## function y = hobutu(x) y = x^2 - 3*x + 5 endfunction hobutu(0) hobutu(2) hobutu(5)
それでは実行。
[nisimiya@localhost Renshu]$ octave kansu|_1|.m GNU Octave, version 2.0.16 (i386-vine-linux-gnu). Copyright (C) 1996, 1997, 1998, 1999, 2000 John W. Eaton. This is free software with ABSOLUTELY NO WARRANTY. For details, type `warranty'. ans = 5 ans = 3 ans = 15計算結果が表示されましたでしょうか。 一行目の
階乗の計算をする関数を定義してみましょう。
############## Program ############### function y = kaijo(p) k = 1; ## ==> kの初期値を代入 for n = 1:1:p ## ==> p=5 なら、n=[1,2,3,4,5] k = k*n; ## ==> kの値は(1x1=1), (1x2=2), (2x3=6), (6x4=24), ## (24x5=120)のように推移する。 end y=k; ## ==> 最後のkの値をyに代入。 endfunction kaijo(5) kaijo(10) kaijo(20) ######################################``y''は、関数の返り値です。計算結果の最終値を ``y''に代入しないと、値が 返ってきません。 ここでは、``y=k''としてます。 関数定義には、``返り値が必要だ''と言うことを忘れないようにして下さい。
############## 実行例 ################ [nisimiya]$ octave fun_1.m GNU Octave, version 2.0.16 (i386-vine-linux-gnu). Copyright (C) 1996, 1997, 1998, 1999, 2000 John W. Eaton. This is free software with ABSOLUTELY NO WARRANTY. For details, type `warranty'. ans = 120 ans = 3628800 ans = 2.4329e+18 ############## ここまで ##############
############## Program ############### function g = kansu(x,y) g = 3 * x^2 - 2 * y^2 + 5*x + 8; endfunction kansu(2,1) kansu(0,0) ###################################### つまり、上記のように変数を必要な個数だけ定義すれば良い。 実行例は、以下のようになります。 ############## 実行例 ################ [nisimiya]$ octave fun_4.m GNU Octave, version 2.0.16 (i386-vine-linux-gnu). Copyright (C) 1996, 1997, 1998, 1999, 2000 John W. Eaton. This is free software with ABSOLUTELY NO WARRANTY. For details, type `warranty'. ans = 28 ans = 8 ######################################
############## Program ############### function a = R_line(R1, R2) a = R1 + R2; endfunction function b = R_para(R1, R2) b = 1/( 1/R1 + 1/R2 ); endfunction R_line(3, 5) R_para(3, 5) ###################################### 実行例も示したおきます。 ############## 実行例 ################ [nisimiya]$ octave fun_5.m GNU Octave, version 2.0.16 (i386-vine-linux-gnu). Copyright (C) 1996, 1997, 1998, 1999, 2000 John W. Eaton. This is free software with ABSOLUTELY NO WARRANTY. For details, type `warranty'. ans = 8 ans = 1.8750 ######################################
![]() |
![]() |
![]() |
(6) |