-1
我有一個關於Octave中的函數(句柄)的問題。 所以,我想調用一個函數,它接受兩個變量並返回兩個變量(實現有問題;但在這種情況下不相關)。Octave中的函數句柄
根據文檔這應該是很簡單的:
函數[RET-列表] =名(精氨酸 - 列表)
體
endfunction可寫
我請嘗試以下操作:
function two_d_comp = twodcomp
[email protected];
^
end
function twoDperp[vmag, vangle]=perp(x,y)
W = hypot(y,x);
vmag = y/W;
vangle = x/y;
end;
我將該函數保存在一個名爲twodcomp.m的文件中。 當我調用該函數如下:
[X, Y] = twodcomp.twoDperp(1,2)
倍頻吐出以下:
error: @perp: no function and no method found
error: called from
twodcomp at line 2 column 20
我管理通過去除輸出參數VMAG和V形角度,以除去錯誤,如下所示:
function twoDperp=perp(x,y)
但這顯然不是我想要的。 你們是否碰巧指出我做錯了什麼?
乾杯
由於文檔指定語法:'function [ret-list] = name(arg-list)',用這個'function twodcomp = twodcomp'函數的輸出是twodcomp,你函數的名字也是'twodcomp'。沒有輸入參數。在第二個函數中,'function twoDperp [vmag,vangle] = perp(x,y)''twoDperp [vmag,vangle]'不是一個有效的語法。它可以是'[vmag,vangle]'或'twoDperp'。從你的代碼看,你似乎想使用'[vmag,vangle]'。我也不知道你想用'[email protected];' –
做什麼,它們被稱爲匿名函數,我在我的答案中已經鏈接到MATLAB和Octave文檔。 – Wolfie