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()函數返回輸入矩陣的最大元素。
12下一頁