我想定義一個函式,它接受輸入n并回傳由f(x) = x^n定義的函式f。
所以我在 Scilab 上寫了以下一段代碼:
function [f]=monomial(n)
function [z] = g(x)
z = x^n
endfunction
f = g
endfunction
不幸的是,當我評估時,monomial(3)(2)我得到了32.它應該是8.
我希望有人能指出我在撰寫這個函式時出錯的地方。
有人可以幫我嗎?
我清除了所有變數并重新運行代碼,它告訴我 n 沒有在 g 中定義,因此有沒有辦法克服這個問題?
uj5u.com熱心網友回復:
更安全的方法是使用deff:
function [f]=monomial(n)
f = deff('z=g(x)','z=x^' string(n));
endfunction
否則n可能會被當前范圍污染
--> monomial(2)(8)
ans =
64.
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/338418.html
