[英]Octave function definition error
我試圖第一次使用八度,我想創建一個如下函數:
1;
function test=calc(x)
a=x^2;
factorial(a)
endfunction
val = calc (3)
我將其保存為calc.m,運行它時出現錯誤,未定義變量x。
我究竟做錯了什么?
更新:最初的問題我設法解決了,但是現在我遇到了另一個問題。 請考慮以下代碼:
init = 5.;
function val=prodval(x)
global init;
val=x+init^2;
endfunction
fin=prodval(3)
當我將腳本另存為test.m並運行它時,出現以下錯誤:
>> test
error: for x^A, A must be a square matrix. Use .^ for elementwise power.
error: called from
prodval at line 5 column 6
test at line 7 column 4
這到底是怎么回事? 我看不到我在哪里錯誤定義了矩陣...我也意識到這可能不是函數的最佳定義,但是我正在嘗試...
[更新]
對於每個作用域,要使全局變量“可見”,必須將其聲明為全局變量。 參考
global init = 5;
function val = prodval (x)
global init;
val = x + init^2;
endfunction
fin=prodval(3)
fin = 28
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.