MATLAB中inline函式:
就是定義一個內建函式,本質上說跟function乾的是一樣的事,只不過它可以直接內嵌在命令列裡,不用另外單獨定義function.
呼叫方法:
1、作為示例,首先在M檔案內編寫如下函式:
% function operation
function [s,n] = calsum(n)
s = 0;
for i = 1:n
s = s + i;
end
2、第一種方式直接以函式名呼叫,與之前我的分享《matlab中如何定義函式》一致,呼叫時如下就可:
>> [sa,na] = eg_sum(100)
輸出:
sa =
5050
na =
100
3、
以函式控制代碼形式呼叫,函式名作為引數,如下所示:
>> funame = @eg_sum;
>> [sum,n] = feval(funame,100)
函式輸出:
sum =
n =
4、
inline函式呼叫格式如下所示:
>> fname = inline("sum(1:n)","n")
此時會輸出:
fname =
Inline function:
fname(n) = sum(1:n)
首先建構函式控制代碼,隨後就可利用feval函式計算:
>> calsum = feval(fname,100)
此時就會輸出:
calsum =
5、
匿名函式呼叫格式: fun = @(arg1,arg2,...)expr,其中expr為函式表示式,arg1、arg2、...等為自變數字串。
作為示例,如下所示:
>> fname = @(n)sum(1:n)
@(n)sum(1:n)
輸入如下形式呼叫:
>> fsum = feval(fname,100)
輸出資訊:
fsum =
MATLAB中inline函式:
就是定義一個內建函式,本質上說跟function乾的是一樣的事,只不過它可以直接內嵌在命令列裡,不用另外單獨定義function.
呼叫方法:
1、作為示例,首先在M檔案內編寫如下函式:
% function operation
function [s,n] = calsum(n)
s = 0;
for i = 1:n
s = s + i;
end
2、第一種方式直接以函式名呼叫,與之前我的分享《matlab中如何定義函式》一致,呼叫時如下就可:
>> [sa,na] = eg_sum(100)
輸出:
sa =
5050
na =
100
3、
以函式控制代碼形式呼叫,函式名作為引數,如下所示:
>> funame = @eg_sum;
>> [sum,n] = feval(funame,100)
函式輸出:
sum =
5050
n =
100
4、
inline函式呼叫格式如下所示:
>> fname = inline("sum(1:n)","n")
此時會輸出:
fname =
Inline function:
fname(n) = sum(1:n)
首先建構函式控制代碼,隨後就可利用feval函式計算:
>> calsum = feval(fname,100)
此時就會輸出:
calsum =
5050
5、
匿名函式呼叫格式: fun = @(arg1,arg2,...)expr,其中expr為函式表示式,arg1、arg2、...等為自變數字串。
作為示例,如下所示:
>> fname = @(n)sum(1:n)
輸出:
fname =
@(n)sum(1:n)
輸入如下形式呼叫:
>> fsum = feval(fname,100)
輸出資訊:
fsum =
5050