国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 軟件教程 > 正文

Matlab如何實現函數重載?Matlab實現函數重載的方法

2020-07-09 14:23:13
字體:
來源:轉載
供稿:網友

大家應該都知道C++和Java編程能夠實現函數的重載,而當我們使用Matlab的一些函數,如:plot函數,可以發現該函數可以有不同的輸入,如:plot(data)、plot(t,data)和plot(X,Y,'LineWidth',2)等。這些就是matlab函數重載的應用。

下面我就通過一個簡單的輸出輸入數中的最大數的函數fun()來說明Matlab在編輯函數時如何實現重載。

方法/步驟:

1.首先打開Matlab(本人使用的是Matlab 2015a,使用其他版本的Matlab影響不大)。在Common Window里輸入edit fun(fun可改為任意字符,只為演示用),打開M文件編輯器,此時已創建M文件,文件名為fun。

2.在編輯器內輸入 function y=fun(varargin),varargin是Matlab內部變量,類型為元胞數組,如果改為其他變量則會報錯。

3.添加代碼 narginchk(2,3); 保證輸入量的個數,當個數小于2或大于3時程序會報錯。

4.Matlab內部有一個nargin變量用于存儲函數中輸入量的個數。下面用If語句來實現函數的重載。

輸入

if nargin==2

a=varargin{1};

b=varargin{2};

y=max([a,b]);

...

通過這段代碼,函數可實現輸入兩個量時的功能。

其中用a來存放輸入量的第一個量,用b來存放輸入量的第二個量。max()函數返回輸入矩陣的最大元素。

5.再輸入

elseif nargin==3

a=varargin{1};

b=varargin{2};

c=varargin{3};

y=max([a,b,c]);

end

通過這段代碼,函數可實現輸入兩個量時的功能。

其中用a來存放輸入量的第一個量,用b來存放輸入量的第二個量,用c來存放輸入量的第三個量。

效果如下圖

6.保存之后,下面對所編輯的函數進行驗證。

Command Window 中分別輸入

answer1=fun(12,13,14)

answer2=fun(16,25)

answer3=fun(16)

answer4=fun(12,13,14,15)

結果如下圖

7.準確的講,matlab函數的重載并不是嚴格意義上的函數重載,但是通過對變量的合理運用,能夠實現重載的功能。

希望這一條經驗能夠幫助到大家!

注意事項

編輯函數是輸入變量一定得是varargin,否則Matlab會將輸入變量視為一個。

if語句一定要加end

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德安县| 策勒县| 岢岚县| 东兰县| 中卫市| 尉犁县| 灵武市| 民勤县| 云安县| 灵川县| 亚东县| 铅山县| 南涧| 香河县| 玉屏| 焉耆| 邛崃市| 杭锦后旗| 定远县| 嘉善县| 壶关县| 定安县| 邳州市| 日喀则市| 临邑县| 化德县| 安吉县| 神木县| 承德县| 玉环县| 淮安市| 谷城县| 韩城市| 洪湖市| 北碚区| 宁晋县| 神农架林区| 泰来县| 理塘县| 正定县| 合川市|