如何在Octave中使用带自定义功能的地图?

nem*_*ixx 9 functional-programming octave

假设我有一个集合A:

A = [0:6:100]
Run Code Online (Sandbox Code Playgroud)

我有一个函数fib(n):

function retval=fib(n)
   g1=(1+5^.5)/2
   g2=(1-5^.5)/2
   retval=(1/5^.5)*(g1^n - g2^n)
endfunction 
Run Code Online (Sandbox Code Playgroud)

我打算能够在A上应用fib(n),并将其存储在B集合中,其中B [i,j]是(i,fib(i)),所以我可以绘制i vs fib(i)并在图表上查看结果.

请我如何使用建议地图获得此所需的收集乙.

Tho*_*hor 13

你可以这样做:

map(@fib, A)
Run Code Online (Sandbox Code Playgroud)

在@使fib成一个函数句柄.请注意,map不推荐使用,您应该使用arrayfun:

arrayfun(@fib, A)
Run Code Online (Sandbox Code Playgroud)