2021-05-12 14:32:11
MATLAB使用function建構函式和兩種函數呼叫方式
本文介紹了function建構函式的方法,同時介紹了直接呼叫法和feval呼叫法兩種方式呼叫MATLAB函數。其中feval呼叫法又分為feval(@函數名)和feval('函數名')兩種呼叫方式。
1
第一,使用function構造求一元二次方程解的函數。點選「新建」-->「函數」,新建一個.m的函數檔案。
2
第二,輸入以下程式碼,構造一個名為qiujie的函數,用於求一元二次方程的解。
function [ delta,x1,x2 ] = qiujie( a,b,c )
% 求一元二次方程的解
% June 6th,2019
delta = b^2-4*a*c;
if delta == 0
fprintf('方程只有一個解')
x1 = -b/(2*a)
x2 = -b/(2*a)
elseif delta > 0
fprintf('方程有兩個解')
x1 =(-b + sqrt(delta))/(2*a)
x2 =(-b - sqrt(delta))/(2*a)
else
fprintf('方程無解')
end
3
第三,儲存上述qiujie函數。需要注意的是,m函數檔案的名字與function函數名字要一致,即儲存為qiujie.m的函數。然後在命令視窗呼叫該函數,先用直接呼叫法呼叫該函數,就像呼叫MATLAB其他函數一樣。如下圖,以求x^2+2x+1=0的解為例。
4
第四,直接呼叫法呼叫函數,也可以按照[輸出引數]=函數[輸入引數]的方式呼叫函數。還是以求x^2+2x+1=0為例,如下圖,可以看出方程的解輸出到了自己給定的輸出引數中。
5
第五,除了直接呼叫法,還可以用feval呼叫法,以求x^2-5x+6=0的解為例,在命令視窗輸入下圖程式碼得到方程的解。
6
第六,feval呼叫法除了上述利用函數控制代碼的方式呼叫之外,還可以直接輸入函數名來呼叫,如下圖。
相關文章