MATLAB'de İç İçe İşlevler Nasıl Kullanılır?

Matlab De Ic Ice Islevler Nasil Kullanilir



MATLAB'deki iç içe geçmiş fonksiyonlar, diğer fonksiyonların içindeki fonksiyonları tanımlayabilir. Bu, kodu düzenlemek, kodu daha tekrar kullanılabilir hale getirmek ve performansı artırmak için yararlı olabilir.

Yuvalanmış bir işlev, MATLAB'da başka bir işlevin içinde oluşturulan bir işlevdir. Yuvalanmış işlevlerin özelliği, üst işlevde tanımlanan değişkenleri kullanabilmeleri ve değiştirebilmeleridir.

Sözdizimi







MATLAB'deki bu iç içe geçmiş işlevler, üst işlev değişkenlerine kolayca erişebilir. MATLAB'de iç içe işlevleri tanımlamanın sözdizimi şöyledir:



işlev ebeveyn

disp ( 'Ebeveyn işlevi' )

iç içe geçmiş

işlev iç içe geçmiş

disp ( 'İç içe işlev' )

son

son

Örnek Kod

Aşağıda iç içe geçmiş bir fonksiyonun MATLAB kodunu verdik:



işlev ebeveynFonksiyonu

x = 10 ;



iç içe işlev1 ( )



% İç içe işlev 1

işlev iç içe işlev1

disp ( 'İç içe geçmişFonksiyon1 içinde' ) ;

disp ( X ) ; % Ana işlevden x değişkenine erişim

ve = yirmi ;



iç içe İşlev2 ( )



% İç içe işlev 2

işlev iç içe İşlev2

disp ( 'İç içe geçmişFonksiyon2 içinde' ) ;

disp ( X ) ; % x değişkenine üst ve iç içe işlev 1'den erişim

disp ( Ve ) ; % İç içe işlev 1'den y değişkenine erişim

son

son

son

Yukarıda, MATLAB ana işlev adını şu şekilde tanımlar: ebeveynFonksiyonu ve iki iç içe işlevi tanımlar: iç içe işlev1 Ve iç içe İşlev2 .





NestedFunction1, üst işlevdeki x değişkeninin değerini görüntüler ve başka bir y değişkenini tanımlar. Bundan sonra, nestedFunction2 işlev adını çağırır.

NestedFunction2, hem üst işlevden hem de nestedFunction1'den x değerini ve ayrıca nestedFunction1'den y değerini görüntüler. Kodu çalıştırdıktan sonra çıktı, x ve y değerleri ile birlikte her iki iç içe işlevden gelen mesajları gösterecektir.



  Bir bilgisayarın ekran görüntüsü Açıklama, orta düzeyde güvenle otomatik olarak oluşturuldu

Yuvalanmış Fonksiyonlardan Ana Fonksiyona Değişken Paylaşımı

MATLAB'de ayrıca değişkenleri tanımlayabilir ve bunları yuvalanmış fonksiyondan ana fonksiyona paylaşabiliriz.

işlev ebeveyn

yuvalanmış işlev

işlev yuvalanmış işlev

x = 10 ;

son

x = x+ 1 ;

disp ( X ) ;

son

Bu MATLAB kodu, ebeveyn adı verilen ve iç içe geçmiş bir işlev içeren bir işlevi tanımlar. yuvalanmış işlev . Kod, nestedfunc'ta x değişkenine 10 değeri atar, ardından üst işlevde bunu 1 artırır ve sonucu görüntüler.

Birden Çok İşlevi Aynı Ana İşlev Altında İç İçe İç içe Yerleştirme

MATLAB'de, tek bir ana üst işlev içinde birden çok işlevi de içerebiliriz.

% aynı üst işlev altındaki birden çok işlev

işlev ebeveyn

iç içe işlev1

yuvalanmışfunc2

işlev iç içe işlev1

fprintf ( 'linuxhint.com\n' ) ;

son

işlev yuvalanmışfunc2

fprintf ( 'Linuxhint'e Hoş Geldiniz' ) ;

son

son

Bu MATLAB kodu, iç içe geçmiş iki işlevi içeren ebeveyn adlı bir işlevi tanımlar: nestedfunc1 ve nestedfunc2. Üst işlev çağrıldığında, her iki iç içe işlevi de yürütür. nestedfunc1, Linuxhint.com mesajını yazdırır ve nestedfunc2, 'Linuxhint'e Hoş Geldiniz' mesajını yazdırır.

  metin, yazı tipi, ekran görüntüsü içeren bir resim Açıklama otomatik olarak oluşturuldu

İç İçe İşlevler Arasında Değişkenleri Paylaşma

MATLAB'de ayrıca tek ebeveynli fonksiyon değişkenlerini iç içe geçmiş iki fonksiyonla tanımlayabilir ve paylaşabiliriz.

% aynı üst işlev altında iç içe geçmiş iki işlev

işlev ebeveyn

x = 5

iç içe1

iç içe2

işlev iç içe1

x = x* 2 ;

son

işlev iç içe2

x = x+ 5 ;

son

disp ( X )

son

Bu MATLAB kodu, 5 değeriyle bir x değişkeni bildiren ebeveyn adlı bir işlevi tanımlar. Daha sonra, iç içe geçmiş iki işlev içerir: iç içe 1 ve iç içe 2.

Yuvalanmış1'de, x'in değeri 2 ile çarpılır, ancak x açıkça bir bağımsız değişken olarak iletilmediğinden, dıştaki x değişkenini değiştirmek yerine yuvalanmış1 içinde yeni bir yerel x değişkeni oluşturur.

Yuvalanmış2'de, x'in değeri 5 artırılır, bu da yuvalanmış2 içinde yeni bir yerel x değişkeni oluşturur.

İç içe işlevleri yürüttükten sonra kod, dış x değişkeninin değerini görüntüler; bu, değişmeden 5'te kalır çünkü iç içe işlevlerde yapılan değişiklikler dış değişkeni değil, yalnızca bu işlevler içindeki yerel değişkenleri etkiler.

  Metin, ekran görüntüsü, yazılım, satır içeren bir resim Açıklama otomatik olarak oluşturuldu

Çözüm

MATLAB'deki iç içe geçmiş işlevler kodu düzenleyebilir, yeniden kullanılabilirliği geliştirebilir ve performansı iyileştirebilir. İşlevlerin üst işlevlerinde tanımlanan değişkenlere erişmesine ve bu değişkenleri değiştirmesine izin vererek daha iyi kod kapsülleme sağlarlar. Yuvalanmış işlevler, genel değişkenlere olan ihtiyacı veya işlevler arasında birden çok argüman iletmeyi azalttı. Bu makale, MATLAB'deki iç içe geçmiş işlevlerin çeşitli örneklerini kapsar.