Scilab - 在另一个函数中定义一个函数
Scilab - define a function inside another one
我想定义一个接受输入 n 并返回由 f 定义的函数 f 的函数(x) = x^n.
所以我在Scilab上写了下面这段代码:
function [f]=monomial(n)
function [z] = g(x)
z = x^n
endfunction
f = g
endfunction
不幸的是,当我计算 monomial(3)(2)
时,我得到 32.
而它应该是 8.
希望有人能指出我在写这个函数时哪里出错了。
有人可以帮我吗?
我清除了所有变量并重新运行代码,它告诉我 n 没有在 g 中定义,因此有没有办法解决这个问题?
更安全的方法是使用 deff
:
function [f]=monomial(n)
f = deff('z=g(x)','z=x^'+string(n));
endfunction
否则 n
可能会被当前范围污染
--> monomial(2)(8)
ans =
64.
我想定义一个接受输入 n 并返回由 f 定义的函数 f 的函数(x) = x^n.
所以我在Scilab上写了下面这段代码:
function [f]=monomial(n)
function [z] = g(x)
z = x^n
endfunction
f = g
endfunction
不幸的是,当我计算 monomial(3)(2)
时,我得到 32.
而它应该是 8.
希望有人能指出我在写这个函数时哪里出错了。
有人可以帮我吗?
我清除了所有变量并重新运行代码,它告诉我 n 没有在 g 中定义,因此有没有办法解决这个问题?
更安全的方法是使用 deff
:
function [f]=monomial(n)
f = deff('z=g(x)','z=x^'+string(n));
endfunction
否则 n
可能会被当前范围污染
--> monomial(2)(8)
ans =
64.