MATLAB 函數默認參數配置


MATLAB 函數默認參數配置

目標:定義函數時,設置某些參數的默認值

思路:使用inputParser

Step1: 使用 varargin (var-arg-in,輸入變量列表)用來接收任意個數的輸入參數。
Step2: 構造 inputParser 輸入解析器ip,利用 addParameter() 定義默認參數及其默認取值。
Step3: 通過 parse() 對輸入變量列表 varargin 進行解析,若檢測到已定義的參數在 varargin 中被重新賦值(即不使用默認參數),則更新該參數。
Step4:ip.Results.parameter_name 的格式,對參數進行引用,進行后續操作。


Code Demo

%% 配置默認參數start_index=1000,len=20000
% example: 
% 	start_index = 1000; len = 20000; 
% 	result = demo_default('start_index', 1000, 'len', 20000)

function [result] = demo_default(varargin)
%% default parameters
ip = inputParser;            % 函數的輸入解析器
addParameter(ip,'start_index',1000);      % 設置變量名和默認參數(start_index=1000)
addParameter(ip,'len',20000);      % 設置變量名和默認參數(len=20000)
parse(ip,varargin{:});       % 對輸入變量進行解析,如果檢測到前面的變量被賦值,則更新變量取值
start_index = ip.Results.start_index; % 默認參數start_index讀取
len = ip.Results.len; % 默認參數len讀取
% TO DO

end

Note

函數調用時,若不使用函數中的默認參數,則使用 name_1, value1,...,name_n, value_n 這種字符串和數值組合形式賦值(PS:參數賦值方式,可以不按照函數中定義的順序進行賦值)。

環境

  • MATLAB 2021a
  • Windows 10 64bits

參考鏈接
https://ww2.mathworks.cn/help/matlab/ref/inputparser.html
https://ww2.mathworks.cn/help/matlab/ref/inputparser.addparameter.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM