3 回答

TA貢獻1943條經驗 獲得超7個贊
一個函數只有一個對外的接口,那就是輸入參數,如果想改變的這個數不是已有的輸入參數,那就沒法通過這個函數來改變。只能再寫一個函數了。
一般來說matlab中函數的 function output = f (input) 括號里才是輸入,output才是輸出
但是要求y=f(input,output)中y,和output都是輸出:y是輸出并做返回值,output也是輸出,但是不作為返回值,如下:
% 函數
function y = f (a, output)
% y output 為輸出參數
% a 為輸入參數
% 此例子計算a的平方的結果,保存在y中, 同時output中也保存一份b的平方的結果
y=a^2;
output=y; 讓output和y相等并下面屏幕打印
fprintf(' output = %d\n', output);
% 調用上面這個函數
clc; % 清楚屏幕上的現有輸出
clear; % 清楚當前已有的變量
close all; % 關閉當前所以打開的figure窗口
a=2;
y=f(a, b) % 調用函數 此時y=4 并且屏幕打印出 output=4

TA貢獻1862條經驗 獲得超6個贊
按你的意思貌似是不行的。一個函數只有一個對外的接口,那就是輸入參數,如果你想改變的這個數不是已有的輸入參數,那就沒法通過這個函數來改變。。只能再寫一個函數了,我感覺。

TA貢獻1820條經驗 獲得超2個贊
一般來說matlab中函數的 function output = f (input) 括號里才是輸入,output才是輸出
但是你要求y=f(input,output)中y,和output都是輸出,那我個人理解:y是輸出并做返回值,output也是輸出,但是不作為返回值,這里我就將它打印出來,如下:
% 函數
function y = f (a, output)
% y output 為輸出參數
% a 為輸入參數
% 此例子計算a的平方的結果,保存在y中, 同時output中也保存一份b的平方的結果
y=a^2;
output=y; 讓output和y相等并下面屏幕打印
fprintf(' output = %d\n', output);
% 調用上面這個函數
clc; % 清楚屏幕上的現有輸出
clear; % 清楚當前已有的變量
close all; % 關閉當前所以打開的figure窗口
a=2;
y=f(a, b) % 調用函數 此時y=4 并且屏幕打印出 output=4
- 3 回答
- 0 關注
- 1304 瀏覽
添加回答
舉報