3 回答

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

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

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