我只是想要一些關於Matlab函數的建議,更多的是爲了確認我做的是否正確。
這是我的代碼。matlab函數減速
function [output] = myfunc(input1, input2);
output = input1 * input2;
然後我叫我的主要代碼功能,如下圖所示:
res = myfunc(10, 20);
disp(res);
這是正確的函數的語法和將這個返回答案,是我的問題。我擔心的是,儘管名稱不同,但輸出仍然有效。
我只是想要一些關於Matlab函數的建議,更多的是爲了確認我做的是否正確。
這是我的代碼。matlab函數減速
function [output] = myfunc(input1, input2);
output = input1 * input2;
然後我叫我的主要代碼功能,如下圖所示:
res = myfunc(10, 20);
disp(res);
這是正確的函數的語法和將這個返回答案,是我的問題。我擔心的是,儘管名稱不同,但輸出仍然有效。
第output
和output1
是不同的變量,MATLAB不會從myfunc
返回任何東西。
如果您問的是res
,那麼在那裏使用不同的變量名是沒有問題的。您正在將返回值分配給名爲res
的新變量。 (雖然它可能駐留在相同的內存位置...)
res = myfunc(10, 20):
應該res = myfunc(10, 20);
和output = input1 * input2;
應output1 = input1 * input2;
所以你的功能將類似於:
function [output1] = myfunc(input1, input2)
output1 = input1 * input2;
end
剛注意到我的錯誤,糾正了它們。 – user1978826 2013-05-12 16:10:38
輸出參數應與功能代碼中的名稱相同,例如:
function [output1] = myfunc(input1, input2);
output1 = input1 * input2;
否則,在撥打res = myfunc(10, 20);
時,您將收到錯誤消息,例如:Output argument "output1" (and maybe others) not assigned during call to "myfunc.m>myfunc".
沒關係。即使你用'res'調用它,它也會工作。 'output'只是一個臨時變量。我不認爲這需要一個答案。 – 2013-05-12 16:17:32
如果您不確定,請嘗試一下!這是學習的最佳方式。用MATLAB玩。 – 2013-05-12 17:52:08