2016-04-09 16 views

cevap

2

Bir anonymous function bir işlev tanımlama kısa el yoludur . Giriş argümanlarını kabul eder (pos ve len) ve bir sonuç üretir.

genel biçimi şöyledir:

func = @(input,arguments)some_action(input, arguments) 

Bu giriş argümanlar

value1 = 1; 
value2 = 2; 
output = func(value1, value2) 

uzun ileterek func denilen bir anonim işlev oluşturur ve daha sonra (tıpkı diğer işlev gibi) kullanılabilir Yukarıdaki örnek yukarıdaki form işlevi eşdeğeri:

Yani bu düşünceyle, biz bu konuda dayalı normal bir fonksiyonu

function output = rect2rng(pos, len) 
    output = ceil(pos):(ceil(pos) + len-1); 
end 

içine söz konusu anonim işlevini dökümünü alabilirsiniz, bu ceil kullanarak en yakın tam sayıya pos yuvarlar ve sonra uzunluğu bir dizi oluşturur Bu yuvarlanmış değer olarak başlayan len.

Bazı test girişlerini iletirsek, bunu görüyoruz.

rect2rng(1.5, 3) 
%// [2 3 4] 

rect2rng(1, 3) 
%// [1 2 3] 

rect2rng(10, 5) 
%// [10 11 12 13 14]