国产探花免费观看_亚洲丰满少妇自慰呻吟_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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新蔡县| 无为县| 长岭县| 舒兰市| 轮台县| 太谷县| 辛集市| 全椒县| 济宁市| 临湘市| 礼泉县| 峨边| 微博| 西畴县| 香港| 佛坪县| 嘉义县| 洪雅县| 镇江市| 英吉沙县| 溧阳市| 阳谷县| 海南省| 吴江市| 若尔盖县| 大庆市| 临沧市| 河西区| 黄陵县| 南郑县| 高安市| 山阴县| 松江区| 霍林郭勒市| 盱眙县| 横峰县| 河源市| 防城港市| 永仁县| 开阳县| 焉耆|