1.7變數檢測與傳遞
阿新 • • 發佈:2018-12-14
均值不等式是高中甚至是大學數學的一個難點,它涉及1)算術平均值,2)幾何平均值,3)調和平均值,4)平方平均值,試編寫一個程式驗證均值不等式,要求程式輸入引數和輸入引數可變。
【分析】假設程式的每一個輸入引數代表一個正實數,輸出是四個平均值,若只能有一個輸出引數,則以表格形式輸出四個平均值,否則4個輸出引數分別輸出各個平均值,編寫程式如下:
function varargout = ave(varargin ) n=nargin; %nargin返回函式輸入引數個數 n [An,Gn,Hn,Qn]=deal(0,1,0,0); %預置初始值 for i=1:n ak=varargin{i}; if any(ak)<=0 error('輸入引數必須為整數'); end An = An + ak; Gn = Gn.* ak; Hn = Hn + 1./ak; Qn = Qn + ak.^2; end A = An / n; G = Gn.^ (1/n); H = n./ Hn; Q = sqrt(Qn/n); nargout if nargout == 1 varargout{1} = table(A,G,H,Q,... 'variablenames',{'Arithmetic','Geomotric','Harmonic','Square'}); else [varargout{1:4}] = deal(A,G,H,Q); end end