Matlab'da bir fonksiyon nasıl oluşturulur? Çalışma ortamının korunması. MAT dosyaları. Gerçek ve biçimsel işlev parametreleri

  • 03.07.2019

Şimdi sistemin yetenekleri, Matrix Laboratuvarı'nın orijinal versiyonunun yeteneklerini önemli ölçüde aşıyor. The MathWorks, Inc.'in buluşu olan mevcut MATLAB, mühendislik ve bilimsel hesaplama için oldukça verimli bir dildir. Öğrenmesi kolay bir işletim ortamı kullanarak matematiksel hesaplamaları, bilimsel grafik görselleştirmeyi ve programlamayı destekler. En Bilinen Uygulamalar MATLAB sistemleri:

Matematik ve Hesaplama;

Algoritmaların geliştirilmesi;

Hesaplamalı deney, simülasyon modelleme, prototipleme;

Veri analizi, araştırma ve sonuçların görselleştirilmesi;

Bilimsel ve mühendislik grafikleri;

Grafik kullanıcı arayüzü dahil uygulama geliştirme.

MATLAB, ana nesnesi bir dizi olan ve boyutunu açıkça belirtmeniz gerekmeyen etkileşimli bir sistemdir. Bu, vektör matris formülasyonları ile ilgili birçok hesaplama probleminin çözülmesine izin verir.

Sürüm MATLAB 6.1, geliştiricilerin sondan bir önceki başarısıdır (sonuncusu MATLAB 6.5'tir).

MATLAB hem bir işletim ortamı hem de bir programlama dilidir. En iyilerinden biri güçlü sistem, programların yeniden kullanım için MATLAB dilinde yazılabilmesidir. Kullanıcı, M-dosyaları biçiminde yayınlanan özel işlevleri ve programları kendisi yazabilir. Bu yüzden paketler Uygulama programları- MATLAB ürün ailesinin bir parçası olan MATLAB Uygulama Araç Kutuları, dünyanın en modern başarıları seviyesinde olmanızı sağlar.

MATLAB sisteminin çalışma ortamı 6.1. MATLAB 6.1 sisteminin çalışma ortamı, bu sistemin iletişimini destekleyen bir dizi arayüzdür. dış dünya komut satırı aracılığıyla kullanıcı ile diyalog, M-dosya düzenleyicisi, ile etkileşim yoluyla harici sistemler Microsoft Word, Excell vb.

Lansmandan sonra MATLAB programları Ana penceresi bilgisayar ekranında belirir ve şunları içerir: Menü, araç çubuğu düğmeler ile ve müşteri tarafı pencere bir davet işareti ile. Bu pencere denir komut penceresi MATLAB sistemleri (Şekil 1).


Menü Dosya(Şekil 2) olağan işlevleri birleştirir: Düzenlemek içeriğin değiştirilmesinden sorumlu pencere komutlar (geri al, yinele, kes, kopyala, yapıştır, tümünü seç, sil, vb.) ve bazı MATLAB pencerelerini temizlemek için; Menü görüş- masaüstü tasarımı için; Web menüsü - İnternet'ten Web sayfalarını başlatır; Menü pencere– M dosyası düzenleyici/hata ayıklayıcı ile çalışır (tüm M dosyalarını kapatır, birini güncel yapar); Menü Yardım– Yardım belgeleri ve demolarla çalışır.


Seçenek özel bir değerlendirmeyi hak ediyor. Tercihler... (özellik seçimi), seçildiğinde, solda (Şekil 3) ve sağda olası özelliklerini içeren bir nesne ağacı içeren bir pencere açar.

Gösterge Paneli MATLAB sisteminin komut penceresi, M dosyaları üzerindeki işlemlere kolay erişim sağlamanıza olanak tanır: yeni bir M dosyası oluşturma; açılış mevcut M dosyası; bir parçayı silme; parça kopyalama; fragman yerleştirme; sadece gerçekleştirilen operasyonun restorasyonu vb.

AT müşteri tarafı MATLAB komut penceresinin komut istemi işaretinden sonra şunu yazabilirsiniz: çeşitli sayılar, değişken adları ve birlikte bazı ifadeleri oluşturan işlem işaretleri. basmak Anahtarları girin MATLAB'ın ifadeyi değerlendirmesine veya değerlendirme yapmıyorsa tekrarlamasına neden olur. ";" işareti olmasına rağmen satırın sonunda sonucun çıktısını bastırır (yankı çıktısı).

Böylece, MATLAB komut penceresinin istemci kısmında, kullanıcı, bireysel hesaplamaları veya tüm programı oluşturan komutları anında yazabilir.

Böylece MATLAB komut penceresinin yapısal bölümleri analiz edilmiştir. Ancak bunların yanı sıra, çalışırken yardımcı olan birkaç MATLAB öğesi daha vardır:

Takımlar- Komut Penceresine önceden girilen komutları sırayla içeren bir pencere ("komut geçmişi").

çalışma alanı içeren MATLAB belleğinin alanıdır. sistem değişkenleri. Bu alanın içeriği şuradan görüntülenebilir: Komut satırı komutları kullanma kim(yalnızca değişken adlarını yazdırır) ve kimin(dizilerin boyutu ve bir değişkenin türü hakkında bilgi görüntüler) veya aynı ada sahip ayrı bir pencerede. İçinde aşağıdaki işlemleri gerçekleştirebilirsiniz: bir veri dosyası yükleyin, Çalışma Alanını farklı kaydedin (komutlar, çalışma alanının içeriğini bir ikili MAT dosyasında açmanıza ve kaydetmenize izin verir), seçilen değişkenleri silin; seçilen değişkenleri açın (değerlerini değiştirebileceğiniz yer). Ayrıca, Düzen menüsünde hem Komut Penceresini hem de Komut Geçmişini ve ayrıca Çalışma Alanını temizleyebilirsiniz (veya komutu Komut Penceresinde yürütün: açık).

Kaydetmek ve çalıştırmak için çalışma alanı yükle ve kaydet komutlarını kullanabilirsiniz.

Örnek.

Şuraya kaydediliyor: matlab.mat

>> matımı kaydet

>> my.mat'ı yükle

>> my2'yi kaydet

>> my2 yükle

Geçerli dizin- MATLAB katalogları aracılığıyla bir tür "kaşif" olan bir pencere.

Düzenleyiciyi Başlat- MATLAB yapısal elemanlarının ağacını ve onunla birlikte kurulan diğerlerini yansıtan bir pencere yazılım araçları, çift sol fare tıklamasıyla başlatılabilir. Örneğin, bu pencere Şekil 9'a benzeyebilir.

M dosyası düzenleyici/hata ayıklayıcı- en önemlilerinden biri yapısal parçalar Ana menüde, araç çubuğunda uygun seçenek seçilerek açılabilen veya edit veya edit komutu ile komut satırından çağrılabilen MATLAB<имя М-файла>ve M dosyaları oluşturmanıza ve düzenlemenize olanak tanır.

Düzenleyici/hata ayıklayıcı aşağıdaki işlemleri destekler: yeni bir M-dosyasının oluşturulması; mevcut bir M dosyasını açma; M dosyasını diske kaydetme; bir parçayı silme; parça kopyalama; fragman yerleştirme; Yardım Edin; kur/kaldır kontrol noktası; yürütmeye devam et vb.

GUIDE, eksiksiz uygulamaların oluşturulmasının gerçekleştiği bir grafik kullanıcı arabirimidir.

Etkileşimli oturum. M dosyaları. Etkileşimli mod, MATLAB paketinin yerleşik grafik araçları tarafından kolay ve hızlı bir şekilde görselleştirilebilen, gerekli sayısal sonuçların elde edildiği, klavyeden komut ve ifadeler girmek için bir kullanıcı modudur. Ancak, belirli bir programı oluşturmak ve kaydetmek için bu modu kullanamazsınız. Bu nedenle, MATLAB'ın yaratıcıları, etkileşimli modun uygulandığı Komut Penceresine ek olarak, MATLAB dil kodlarını içeren özel dosyaları tanımladı ve bunlara M-dosyaları (*.m) adını verdi. Bir M dosyası oluşturmak için şunu kullanın: Metin düzeltici(M dosyalarının düzenleyicisi/hata ayıklayıcısı).

M-dosya düzenleyicisinde çalışmak.Çok sayıda komut girmeniz ve bunları sık sık değiştirmeniz gerekiyorsa, MatLab komut satırından çalışmak zordur. en çok uygun yol komut yürütme kullanmaktır M- komutları yazabileceğiniz, hepsini bir kerede veya parçalar halinde yürütebileceğiniz, bir dosyaya kaydedebileceğiniz ve daha sonra kullanabileceğiniz dosyalar. Birlikte çalışmak M-dosyalar amaçlanan düzenleyici M-Dosyalar. Düzenleyiciyi kullanarak kendi işlevlerinizi oluşturabilir ve komut satırı dahil olmak üzere bunları arayabilirsiniz.

Ana MatLab penceresinin Dosya menüsünü genişletin ve Yeni öğede M-dosyası alt öğesini seçin. Yeni dosya editör penceresinde açılır M-dosyalar (Şekil 10). Bir dosyaya aritmetik ortalamayı hesaplamak için bir program yazalım.


a ve b değişkenini seçin, ardından fun1.m olarak kaydedin. Tabloda sunulan sorunu çözmenin yollarını karşılaştırın.

Dosyalar ve DOS Kabuğu ile Çalışma

cd, dir, delete, type komutları, MATLAB komut satırından dosya yönetimi ile ilgili bir dizi DOS komutunu çalıştırmanıza izin verir. Aşağıdaki tablo, MATLAB sistem komutlarının DOS komutlarıyla ilişkisini yansıtmaktadır:

Bu komutların çoğu, erişim yollarını, sürücü adlarını belirlemenize ve joker karakterler kullanmanıza olanak tanır.

başlatmak harici programlar . DOS komutunun yürütülmesine geçiş, onu takip eden komutun bir DOS komutu olduğunu gösteren "!" karakteri ile belirtilir. Bu, yardımcı programları çağırırken ve MATLAB'den ayrılmadan diğer harici programları çalıştırırken son derece kullanışlıdır.

Veri içe ve dışa aktarma

MATLAB ve diğer uygulamalar arasında veri taşımanın birçok püf noktası vardır. Çoğu durumda, MATLAB sistem verileriyle çalışırken, dosyaları okumak ve yazmak için komutları kullanabilirsiniz. Daha karmaşık veri kümeleri için C veya Fortran'da kendi okuma/yazma programlarınızı oluşturabilirsiniz. MATLAB sistemine veri aktarma. MATLAB sistemine diğer uygulamalardan veri aktarmanın birkaç yolu vardır. Yöntem seçimi, verilerin hacmine ve biçimine bağlıdır.

  • Liste şeklinde veri girişi. Veri miktarı küçükse, bunları köşeli parantez içine alarak kolayca yazdırılabilirler. Bu yöntem, düzenlenemediği için büyük miktarda veri ile elverişsizdir.
  • M-dosyasında veri oluşumu Bir metin düzenleyici kullanarak, bir M-dosyası oluşturabilirsiniz, renkli olarak veriler bir öğe listesi olarak sunulur, bu aynı ilk yöntemdir, ancak size izin vermesi avantajına sahiptir. düzenleyiciyi kullanarak verileri düzeltmek için. Düzeltilen verileri girmek için düzeltmeden sonra M-dosyasını yeniden başlatmak yeterlidir.
  • Bir ASCII dosyasından veri yükleme. ASCII dosyaları, eşliksiz 7 bitlik kodda veri biriktirir. Her satır aynı sayıda boşlukla ayrılmış değer içerir ve bir satır başı ile biter. Bu dosyalar normal bir metin düzenleyici kullanılarak düzenlenebilir. Yük fonksiyonu kullanılarak doğrudan MATLAB sistemine okunabilirler. Bu, adı dosya adıyla aynı olan bir değişken oluşturur. Farklı bir sınırlayıcı türü belirtmek için dlmread işlevlerini kullanabilirsiniz.
  • G/Ç işlevlerini kullanarak veri okuma. G/Ç işlevlerinin yanı sıra fopen ve fread işlevlerinin kullanılması, özel veri biçimleri kullanan diğer uygulamalardan veri dosyaları yüklenirken kullanışlıdır.
  • kullanım özel araçlar dosyaları okumak için. Yazılan dosyaları okumak için özel biçimler, MATLAB aşağıdaki özel işlevlere sahiptir:
  • Bir MEX dosyası oluşturun. En iyi yol veri programları oluşturmak, diğer uygulamalardan veri okumak için C veya Fortran'daki mevcut programları kullanmaktır. Ancak karma programlama adı verilen bu yöntem, özel bağlama programlarının MEX dosyaları şeklinde yazılmasını gerektirir.
  • Fortran veya C'de program geliştirme. Fortran dilleri veya C yazabilir özel programlar verileri MATLAB sisteminin MAT dosya formatına dönüştürmek için. Bu durumda dönüştürülen veriler normal yükleme komutu kullanılarak MATLAB sistemine yüklenebilir.

MATLAB sisteminden veri aktarımı. MATLAB sisteminden diğer uygulamalara veri aktarmanın birkaç yolu vardır.

  • Günlük komutunu kullanma. Küçük boyutlu diziler için, oturum sırasında kullanılan MATLAB komutlarını içeren bir günlük dosyası oluşturmak için günlük komutunu kullanabilirsiniz ve ayrıca gerekli verileri ekranda görüntülemenizi sağlar. Günlük girişleri, belgelere veya raporlara yerleştirmek için yararlı olabilir. Gelecekte, günlüğü düzenlemek için bir metin düzenleyici kullanabilirsiniz.
  • ASCII formatında veri kaydetme. -ascii seçeneği ile save komutu, bu formatta veri yazmanıza izin verir ve dlmwrite komutunu kullanarak farklı bir sınırlayıcı tipi belirtebilirsiniz.
  • Dosya yazmak için özel araçlar kullanma. MATLAB, uygulamalar tarafından tanımlanan özel formatlarda dosya yazmak için aşağıdaki özel fonksiyonlara sahiptir:
  • Bir MEX dosyası oluşturun. Veri yazmak için program yazmanın en iyi yolu, diğer uygulamalara veri yazmak için mevcut C veya Fortran programlarını kullanmaktır. Ancak karma programlama adı verilen bu yöntem, özel bağlama programlarının MEX dosyaları şeklinde yazılmasını gerektirir.
  • Fortran veya C Programı Geliştirme Fortran veya C kullanan programcılar, verileri MATLAB MAT dosya formatından uygulama formatına dönüştürmek için özel programlar yazabilirler. Bu durumda veriler, normal kaydetme komutu kullanılarak MATLAB sisteminden kaldırılabilir.
  • Metin dosyaları ayırıcılar ile. dlmread ve dlmwrite işlevleri, bir ASCII dosyası kullanarak sınırlandırılmış verileri okumanıza ve yazmanıza olanak tanır. Bir değeri diğerinden ayıran herhangi bir karakter ayırıcı olarak kullanılabilir.

Örneğin, noktalı virgülle ayrılmış verileri içeren ph.dat adlı bir dosya düşünün:

7.2; 8.5; 6.2; 6.6
5.4;9.2;8.1;7.2

A = dlmread("ph.dat", ";");

dlmread işlevinin ikinci argümanı, ayırıcı türünü belirtir.

Kullandığınız sınırlayıcıya ek olarak, dlmread mevcut boşlukları sınırlayıcı olarak da değerlendirir. Bu nedenle, yukarıdaki dlmread işlevi, ph.dat dosyasının içeriği şu şekilde olsa bile düzgün çalışacaktır:
7.2; 8.5; 6.2; 6.6
5.4; 9.2 ;8.1; 7.2

Uyarı.

dlmread M işlevinin ilk argümanı bir dosya tanımlayıcısı değil, bir dosya adıdır. Bu nedenle öncelikle fopen fonksiyonunu kullanarak dosyayı açmanız gerekmez, ancak hemen dlmread ve dlmwrite fonksiyonlarını kullanmalısınız.

dlmwrite işlevinin sınırlandırılmış metni nasıl yazdığını gösterelim. harici dosya";" sınırlayıcısını kullanarak dosyam adıyla:

bir=
1 2 3
4 5 6
dlmwrite("dosyam",A,";")
1; 2; 3
4; 5; 6

Çeşitli platformlar için veri dosyalarının değişimi. Bazen farklı bilgi işlem platformları için MATLAB sisteminin sürümleriyle çalışmak veya geliştirilen uygulamaları başka sistemlere aktarmak gerekebilir. MATLAB sisteminde oluşturulan uygulamalar, M-fonksiyonları veya M-komut dosyaları olan M-dosyalarının yanı sıra ikili veri içeren MAT-dosyalarını içerebilir. Her iki dosya türü de farklı platformlarda doğrudan kullanılabilir:

  • M dosyaları, düz metin içeren ASCII dosyalarıdır. Kullanılan bilgisayar türünden bağımsızdırlar. Aynı zamanda çeşitli platformlar için satır sonu karakterleri hem CR karakteri hem de LF karakteri olabilir. MATLAB sistem yorumlayıcısı herhangi bir kombinasyona izin verir.
  • MAT dosyaları ikili dosyalardır ve kullandığınız bilgisayarın türüne bağlıdır. Ancak, dosya başlığında kullanılan bilgisayarın göstergesini içerdiklerinden, bir bilgisayar türünden diğerine aktarılabilirler. MATLAB sistemi dosyayı yüklerken bu özelliği kontrol eder ve dosyanın farklı bir platformdaki bilgisayarda oluşturulduğu ortaya çıkarsa gerekli dönüşümü gerçekleştirir.

MATLAB'ı çeşitli platformlardaki bilgisayarlarda kullanmak için ikili ve ASCII veri değiştiricileri gereklidir. Bu programları kullanırken, MAT dosyalarının ikili dosyalar, M dosyaları - ASCII dosyaları olarak aktarıldığından emin olmalısınız. Uygun modların ayarlanmasındaki bir hata genellikle verileri bozar.

günlük komutu. Bu komut, grafik çıktı da dahil olmak üzere bir oturum günlüğü oluşturmanıza olanak tanır. günlük yazılır özel dosya sabit sürücüde. Oturumdan sonra bu dosya herhangi bir metin düzenleyici kullanılarak görüntülenebilir.

Örneğin, geçerli dizinde febr01.out adlı bir günlük dosyası oluşturmak için diary febr01.out komutunu kullanın.

Günlük tutma işleminde kayda ara vermek için günlük kapatma komutunu, devam ettirmek için günlük açık komutunu kullanmanız yeterlidir.

M-dosyası Başlangıç. Yerel dizinde bulunan matlabrc.m dosyası MathWorks programcıları tarafından ve çok kullanıcılı sistemlerde sistem yöneticisi tarafından kullanılmak üzere ayrılmıştır.

startup.m dosyası kullanıcı içindir. Varsayılan yolları, grafik tutamaçlarını ve çalışma alanı değişkenlerini ayarlayabilir.

Örneğin, startup.m dosyasına /home/me/mytools dizinini varsayılan addpath /home/me/mytools yol listesine ekleyecek bir satır girebilirsiniz.

1. Ders 23: MATLAB eklenti paketlerine giriş

23 numaralı ders.

MATLAB uzantı paketlerine giriş

    Uzantı paketlerini listeleme

    Simulinc pencereler için

    Sembolik Matematik Paketi

    Paketler Matematiksel hesaplamalar

    Kontrol sistemlerinin analizi ve sentezi için paketler

    Sistem tanımlama paketleri

    Simulinc paketinin ek özellikleri

    Sinyal ve Görüntü İşleme Paketleri

    Diğer uygulama paketleri

Bu derste, sistemin profesyonel olarak genişletilmesinin ana araçları ve belirli matematiksel, bilimsel ve teknik problem sınıflarının çözümüne uyarlanması - MATLAB sisteminin uzantı paketleri ile kısaca tanışacağız. Kuşkusuz bu paketlerin en azından bir kısmı ayrı bir hizmete ayrılmalıdır. Eğitim Kursu veya bir referans kitabı, belki birden fazla. Bu uzantıların çoğu için yurtdışında ayrı kitaplar yayınlanmıştır ve bunlar için belge hacmi yüzlerce megabayttır. Ne yazık ki, bu kitabın kapsamı, okuyucuya sistemin nereye gittiği hakkında bir fikir vermek için genişletme paketlerinde yalnızca kısa bir gezintiye izin veriyor.

2. Uzantı paketlerini listeleme

Uzantı paketlerini listeleme

MATLAB 6.0 sisteminin eksiksiz bileşimi, ver komutuyla görüntülenebilen ad, sürüm numarası ve oluşturulma tarihi olan bir dizi bileşen içerir:

MATLAB Sürüm 6.0.0.88 (R12) PCWIN MATLAB Lisans Numarası: 0

MATLAB Araç Kutusu

Sürüm 6.0

06-0ct-2000

Sürüm 4.0

Sürüm 4.0

04-0ct-2000

Durum Akışı Kodlayıcı

Sürüm 4.0

04-0ct-2000

Gerçek Zamanlı Atölye

Sürüm 4.0

COMA Referans Blok Seti

Sürüm 1.0.2

İletişim Blok Seti

Sürüm 2.0

İletişim Araç Kutusu

Sürüm 2.0

Kontrol Sistemi Araç Kutusu

Sürüm 5.0

DSP Blok Seti

Sürüm 4.0

Veri Toplama Araç Kutusu

Sürüm 2.0

05-0ct-2000

Veritabanı Araç Kutusu

Sürüm 2.1

Veri Beslemesi Araç Kutusu

Sürüm 1.2

Kadranlar ve Göstergeler Blok Seti

Sürüm 1.1

Filtre Tasarımı Araç Kutusu

Sürüm 2.0

Finansal Türev Araç Kutusu

Sürüm 1.0

Finansal Zaman Serisi Araç Kutusu

Sürüm 1.0

Finansal Araç Kutusu

Sürüm 2.1.2

Sabit Nokta Blok Seti

Sürüm 3.0

Bulanık Mantık Araç Kutusu

Sürüm 2.1

GARCH Araç Kutusu

Sürüm 1.0

görüntü işleme araç kutusu

Sürüm 2.2.2

Enstrüman Kontrol Araç Kutusu

Sürüm 1.0

LMI Kontrol Araç Kutusu

Sürüm 1.0.6

MATLAB Derleyicisi

Sürüm 2.1

MATLAB Rapor Üreticisi

Sürüm 1.1

Haritalama Araç Kutusu

Sürüm 1.2


Sürüm 1.0.5

Motorola DSP Geliştirici Kiti

Sürüm 1.1

Ol-Eyl-2000

Mi-Analiz ve Sentez Araç Kutusu

Sürüm 3.0.5

Sinir Ağı Araç Kutusu

Sürüm 4.0

Doğrusal Olmayan Kontrol Tasarımı Blok Kümesi

Sürüm 1.1.4

Optimizasyon Araç Kutusu

Sürüm 2.1

Kısmi Diferansiyel Denklem Araç Kutusu

Sürüm 1.0.3

Güç Sistemi Blok Seti

Sürüm 2.1

Gerçek Zamanlı Atölye Ada Coder

Sürüm 4.0

Gerçek Zamanlı Atölye Gömülü Kodlayıcı

Sürüm 1.0

Gereksinim Yönetimi Arayüzü

Sürüm 1.0.1

Sağlam Kontrol Araç Kutusu

Sürüm 2.0.7

SB2SL (SystemBuild'i Simu'ya dönüştürür

Sürüm 2.1

Sinyal İşleme Araç Kutusu

Sürüm 5.0

Simulink Hızlandırıcı

Sürüm 1.0

Simulink için Model Farklılaştırma ve...

Sürüm 1.0

Simulink Model Kapsama Aracı

Sürüm 1.0

Simulink Rapor Oluşturucu

Sürüm 1.1

Spline Araç Kutusu

Sürüm 3.0

İstatistik Araç Kutusu

Sürüm 3.0

Sembolik Matematik Araç Kutusu

Sürüm 2.1.2


Sürüm 5.0

Dalgacık Araç Kutusu

Sürüm 2.0

Sürüm 1.1

xPC Hedef Gömülü Seçenek

Sürüm 1.1

Lütfen MATLAB 6.0'daki hemen hemen tüm uzantı paketlerinin güncel olduğunu ve 2000 yılına kadar uzandığını unutmayın. Açıklamaları, PDF biçiminde zaten on binlerce sayfadan fazlasını kaplayan, gözle görülür şekilde genişletildi. Aşağıda verilen Kısa Açıklama ana genişleme paketleri

3 Windows için Simulink

Windows için Simulink

Simulink uzantı paketi için kullanılır simülasyon modelleme belirli özelliklere (parametrelere) sahip grafik bloklardan oluşan modeller. Model bileşenleri, sırayla, bir dizi kitaplıkta bulunan ve fare ile ana pencereye aktarılabilen ve gerekli bağlantılar ile birbirine bağlanabilen grafik blokları ve modellerdir. Modeller, çeşitli türlerde sinyal kaynakları, sanal kayıt cihazları, grafik animasyon araçları içerebilir. çift ​​tıklama model bloğundaki fare, kullanıcının değiştirebileceği parametrelerinin bir listesini içeren bir pencere görüntüler. Bir simülasyonun çalıştırılması, oluşturulan modelin görsel olarak matematiksel modellemesini sağlar. görsel sunum Sonuçlar. Paket, bileşen kitaplığından blokları düzenleme penceresine aktararak yapı blok diyagramlarına dayanmaktadır. kullanıcı tarafından oluşturulan modeller. Model daha sonra yürütme için çalıştırılır. Şek. 23.1, basit bir sistemi modelleme sürecini gösterir - bir hidrolik silindir. Kontrol, sanal osiloskoplar kullanılarak gerçekleştirilir - şek. 23.1, bu tür iki osiloskopun ekranlarını ve basit bir model alt sisteminin penceresini gösterir. Birçok alt sistemden oluşan karmaşık sistemleri modellemek mümkündür.

Simulink, modelin durum denklemlerini oluşturur ve çözer ve çeşitli sanal ölçü aletleri. Simülasyon sonuçlarının sunumunun netliği dikkat çekicidir. Simulink paketinin kullanımına ilişkin birkaç örnek Ders 4'te zaten verilmiştir. Paketin önceki versiyonu kitaplarda yeterince ayrıntılı olarak anlatılmıştır. Ana yenilik, matris sinyallerinin işlenmesidir. Model kodunu derlemek için Simulink Accelerator, kod analizi için Simulink profiler vb. gibi ayrı Simulink performans paketleri eklenmiştir.

Pirinç. 23.1. Simulink Uzantısı Kullanılarak Hidrolik Silindir Sistemi Simülasyonu Örneği

1.gif

Resim:

1b.gif

Resim:

4. Gerçek Zamanlı Windows Hedefi ve Atölye

Gerçek Zamanlı Windows Hedef ve Atölye

Gerçek Zamanlı Windows Hedef ve Atölye genişletme paketleri tarafından temsil edilen Simulink'e bağlı (bilgisayar genişletme kartları biçiminde ek donanımla birlikte) güçlü gerçek zamanlı simülasyon alt sistemi, gerçek nesneleri ve sistemleri yönetmek için güçlü bir araçtır. Ayrıca, bu uzantılar oluşturmanıza olanak tanır. yürütülebilir kodlar modeller. Pirinç. Ders 4'teki 4.21, lineer olmayan van der Pol diferansiyel denklemleriyle açıklanan bir sistem için böyle bir simülasyon örneğini gösterir. Bu tür modellemenin avantajı matematiksel ve fiziksel netliğidir. Simulink model bileşenlerinde sadece sabit parametreleri değil, modellerin davranışını tanımlayan matematiksel ilişkileri de belirtebilirsiniz.

5. MATLAB ve Simulink için Rapor Oluşturucu

MATLAB ve Simulink için Rapor Oluşturucu

Rapor Üreticileri - MATLAB 5.3.1'de tanıtılan bir araç, MATLAB sisteminin çalışması ve Simulink uzantı paketi hakkında bilgi sağlar. Bu araç, karmaşık hesaplama algoritmalarında hata ayıklarken veya karmaşık sistemleri modellerken çok kullanışlıdır. Rapor oluşturucular, Rapor komutuyla başlatılır. Raporlar program olarak sunulabilir ve düzenlenebilir.

Rapor oluşturucular, raporlara dahil edilen komutları ve program parçalarını çalıştırabilir ve karmaşık hesaplamaların davranışını kontrol etmenize olanak tanır.

6. Sinir Ağları Araç Kutusu

Sinir Ağları Araç Kutusu

Oluşturmak için araçlar içeren bir uygulama programı paketi nöral ağlar nöronun matematiksel analogunun davranışına dayanır. Paket, temel algılayıcı modellerinden en gelişmiş ilişkisel ve kendi kendini organize eden ağlara kadar birçok iyi bilinen ağ paradigmasının tasarımı, eğitimi ve simülasyonu için güçlü destek sağlar. Paket, sinyal işleme, doğrusal olmayan kontrol ve finansal modelleme gibi sorunlara sinir ağlarını araştırmak ve uygulamak için kullanılabilir. Real Time Workshop kullanarak taşınabilir C kodu oluşturma yeteneği sağlanır.

Paket, bilinen 15'ten fazla ağ türü ve eğitim kuralı içerir ve kullanıcının en uygun olanı seçmesine olanak tanır. özel uygulama veya araştırma problemi paradigması. Her tür mimari ve eğitim kuralı için başlatma, eğitim, uyarlama, oluşturma ve simülasyon, gösterim ve örnek bir ağ uygulaması için işlevler vardır.

Kontrollü ağlar için, algılayıcı, geri yayılım, Levenberg geri yayılımı, radyal tabanlı ağlar ve tekrarlayan ağlar gibi çeşitli öğrenme kuralları ve tasarım yöntemlerini kullanarak doğrudan veya tekrarlayan mimariyi seçebilirsiniz. Herhangi bir mimariyi, öğrenme kurallarını veya geçiş işlevlerini kolayca değiştirebilir, yenilerini ekleyebilirsiniz - ve bunların hepsini C veya FORTRAN'da tek bir satır yazmadan yapabilirsiniz. Paketin harf görüntü tanıma için kullanımına bir örnek Ders 4'te verilmiştir. Paketin önceki versiyonunun ayrıntılı açıklaması kitapta bulunabilir.

7. Bulanık Mantık Araç Kutusu

Bulanık Mantık Araç Kutusu

Bulanık Mantık uygulama paketi, bulanık (bulanık) kümeler teorisini ifade eder. Modern bulanık kümeleme yöntemleri ve uyarlanabilir bulanık sinir ağları için destek sağlanır. Paketin grafik araçları, sistemin davranışını etkileşimli olarak izlemenizi sağlar.

Paketin temel özellikleri:

  • değişkenlerin tanımı, bulanık kurallar ve üyelik fonksiyonları;
  • bulanık çıkarımın etkileşimli görüntülenmesi;
  • modern yöntemler: sinir ağları kullanarak uyarlanabilir bulanık çıkarım, bulanık kümeleme;
  • etkileşimli dinamik simülasyon Simulink'te;
  • Gerçek Zamanlı Atölye ile taşınabilir C kodu üretimi.

Bu örnek, bulanık mantık olan ve olmayan modelin davranışındaki farklılıkları açıkça göstermektedir.

8. Sembolik Matematik Araç Kutusu

Sembolik Matematik Araç Kutusu

MATLAB sistemine temelde yeni fırsatlar veren bir uygulama programları paketi - keyfi bit derinliğinin tam aritmetiğinin uygulanması da dahil olmak üzere sorunları sembolik (analitik) bir biçimde çözme yeteneği. Paket, sembolik matematiğin çekirdeğinin uygulanmasına dayanmaktadır. güçlü sistemler Bilgisayar Cebiri - Maple V R4. Sembolik farklılaşma ve integrasyon, toplamların ve çarpımların hesaplanması, Taylor ve Maclaurin serilerinde açılım, kuvvet polinomları (polinomlar) ile işlemler, polinom köklerinin hesaplanması, doğrusal olmayan denklemlerin analitik çözümü, her türlü sembolik dönüşümler, ikameler ve çok daha fazlasını sağlar. Maple V çekirdeğine doğrudan erişim komutlarına sahiptir.

Paket, Maple V R4 sisteminin programlama dilinin sözdizimi ile prosedürler hazırlamanıza ve bunları MATLAB sistemine kurmanıza olanak tanır. Ne yazık ki, sembolik matematiğin olanakları açısından, paket çok daha düşüktür. özel sistemler gibi bilgisayar cebiri en son sürümler Akçaağaç ve Mathematica.

9. Matematiksel hesaplama paketleri

Matematik Paketleri

MATLAB, sistemin matematiksel yeteneklerini geliştiren, hesaplamaların hızını, verimliliğini ve doğruluğunu artıran birçok uzantı paketi içerir.

10.NAG Vakfı Araç Kutusu

NAG Vakfı Araç Kutusu

En güçlü kütüphanelerden biri matematiksel fonksiyonlar, yaratıldı özel grup Sayısal Algoritmalar Grubu, Ltd. Paket yüzlerce yeni özellik içeriyor. İşlevlerin adları ve bunları çağırmak için kullanılan sözdizimi, iyi bilinen NAG Foundation Library'den ödünç alınmıştır. Böylece Ileri düzey kullanıcılar FORTRAN NAG'ler MATLAB'daki NAG paketi ile kolayca çalışabilir. NAG Foundation kitaplığı, işlevlerini nesne kodları ve bunları çağırmak için karşılık gelen m dosyaları biçiminde sağlar. Kullanıcı bu MEX dosyalarını kaynak kodu düzeyinde kolayca değiştirebilir.

Paket aşağıdaki özellikleri sağlar:

    polinom kökleri ve değiştirilmiş yöntem Laguerre;

    bir serinin toplamının hesaplanması: ayrık ve Hermityen-ayrık Fourier dönüşümü;

    adi diferansiyel denklemler: Adams ve Runge-Kutta yöntemleri;

    kısmi diferansiyel denklemler;

    interpolasyon;

    hesaplama öz değerler ve vektörler, tekil sayılar, karmaşık ve gerçek matrisler için destek;

    eğrilerin ve yüzeylerin yaklaşımı: polinomlar, kübik eğriler, Chebyshev polinomları;

    fonksiyonların minimizasyonu ve maksimizasyonu: lineer ve kuadratik programlama, çok değişkenli fonksiyonların ekstremumu;

    matrislerin ayrıştırılması;

    lineer denklem sistemlerinin çözümü;

    lineer denklemler (LAPACK);

    tanımlayıcı istatistikler ve olasılık dağılımları dahil olmak üzere istatistiksel hesaplamalar;

    korelasyon ve regresyon analizi: doğrusal, çok boyutlu ve genelleştirilmiş doğrusal modeller;

    çok boyutlu yöntemler: temel bileşenler, dik döndürmeler;

    nesil rastgele numaralar: normal dağılım, Poisson, Weibull ve Koschi dağılımları;

    parametrik olmayan istatistikler: Friedman, Kruskal-Wallis, Mann-Whitney; О zaman serileri: tek boyutlu ve çok değişkenli;

    yaklaşımlar özel fonksiyonlar: integral üs, gama fonksiyonu, Bessel ve Hankel fonksiyonları.

Son olarak, bu paket, kullanıcının MATLAB ile dinamik olarak bağlanan FORTRAN programları oluşturmasını sağlar.

11. Spline Araç Kutusu

Spline'larla çalışmak için bir uygulamalı program paketi. 1D, 2D ve çok boyutlu spline enterpolasyonu ve yaklaşımını destekler. Karmaşık veri ve grafik desteğinin sunumunu ve görüntülenmesini sağlar.

Paket, spline'ların B-formundan parçalı polinomlara interpolasyonu, yaklaşımı ve dönüşümü, kübik spline'lar ile enterpolasyon ve yumuşatma, spline'lar üzerinde işlemler gerçekleştirme: türev hesaplama, integral ve haritalama yapmanıza olanak tanır.

Spline paketi, spline'ların yaratıcısı ve Spline paketinin yazarı Carl Deboer'in "A Practical Guide to Splines" bölümünde açıklanan B-spline programlarıyla donatılmıştır. MATLAB dili ile birlikte paket fonksiyonları ve detaylı rehber kullanıcının spline'ları anlamasını ve bunları çeşitli problemlere etkili bir şekilde uygulamasını kolaylaştırır.

Paket, en yaygın iki spline gösterimi biçimiyle çalışmak için programlar içerir: B-formu ve parçalı polinom formu. B-formu, spline oluşturma aşamasında uygundur, parçalı polinom formu ise daha verimlidir. kalıcı iş bir spline ile. Paket, B-formunda ve polinom segmentleri olarak spline oluşturma, görüntüleme, enterpolasyon, yerleştirme ve işleme fonksiyonlarını içerir.

12. İstatistik Araç Kutusu

İstatistik Araç Kutusu

İstatistiksel hesaplamaları ve istatistiksel veri işlemeyi uygulama alanında MATLAB sisteminin yeteneklerini önemli ölçüde genişleten istatistikler üzerine uygulamalı programlar paketi. Rastgele sayılar, vektörler, matrisler ve farklı dağıtım yasalarına sahip diziler oluşturmak için çok temsili bir araç seti ve birçok istatistiksel işlev içerir. Unutulmamalıdır ki, en yaygın istatistiksel fonksiyonlar MATLAB sisteminin çekirdeğinin bir parçasıdır (tekdüze ve normal dağılımla rastgele veri üretme işlevleri dahil). Paketin temel özellikleri:

    tanımlayıcı istatistikler;

    olasılık dağılımları;

    parametre tahmini ve yaklaşımı;

    hipotez testi;

    çoklu regresyon;

    etkileşimli adım adım regresyon;

    Monte Carlo simülasyonu;

    aralıklarla yaklaşıklık;

    İstatiksel Süreç Kontrolü;

    deney planlaması;

    tepki yüzeyi modellemesi;

    doğrusal olmayan bir modelin yaklaşımı;

    temel bileşenler Analizi;

    istatistiksel çizelgeler;

    grafiksel kullanıcı arayüzü.

Paket, t (Student's), F ve Ki-kare dahil olmak üzere 20 farklı olasılık dağılımı içerir. Tüm dağıtım türleri için uydurma, dağılımların grafiksel gösterimi ve en iyi uyumu hesaplamanın bir yolu sağlanır. Dinamik görselleştirme ve veri analizi için birçok etkileşimli araç vardır. Yanıt yüzeyinin modellenmesi, dağılımların görselleştirilmesi, rasgele sayıların ve seviye çizgilerinin oluşturulması için özel arayüzler vardır.

13. Optimizasyon Araç Kutusu

Optimizasyon Araç Kutusu

Uygulamalı problemler paketi - optimizasyon problemlerini ve doğrusal olmayan denklem sistemlerini çözmek için. Bir dizi değişkenin işlevlerini optimize etmek için ana yöntemleri destekler:

    doğrusal olmayan fonksiyonların koşulsuz optimizasyonu;

    en küçük kareler yöntemi ve doğrusal olmayan enterpolasyon;

    lineer olmayan denklemlerin çözümü;

    doğrusal programlama;

    ikinci dereceden programlama;

    doğrusal olmayan fonksiyonların koşullu minimizasyonu;

    minimaks yöntemi;

    çok kriterli optimizasyon.

Çeşitli örnekler, paket işlevlerinin etkin kullanımını göstermektedir. Onların yardımıyla aynı problemin farklı yöntemlerle nasıl çözüldüğünü de karşılaştırabilirsiniz.

14. Kısmi Diferansiyel Denklemler Araç Kutusu

Kısmi Diferansiyel Denklemler Araç Kutusu

Sistemleri çözmek için birçok fonksiyon içeren çok önemli bir uygulama paketi diferansiyel denklemlerözel türevlerde. verir Etkili araçlar katı olanlar da dahil olmak üzere bu tür denklem sistemlerini çözmek için. Paket, sonlu elemanlar yöntemini kullanır. Paketin komutları ve GUI'si şu amaçlarla kullanılabilir: matematiksel modelleme Malzemelerin direnci problemleri, elektromanyetik cihazların hesaplamaları, ısı ve kütle transferi ve difüzyon problemleri dahil olmak üzere geniş bir mühendislik ve bilimsel uygulama sınıfına uygulanan kısmi diferansiyel denklemler. Paketin temel özellikleri:

    ikinci dereceden kısmi diferansiyel denklemlerin işlenmesi için tam teşekküllü bir grafik arayüz;

    otomatik ve uyarlanabilir ızgara seçimi;

    sınır koşullarının belirlenmesi: Dirichlet, Neumann ve karışık;

    MATLAB sözdizimini kullanan esnek problem bildirimi;

    tam otomatik ağ oluşturma ve sonlu eleman boyutu seçimi;

    doğrusal olmayan ve uyarlanabilir tasarım şemaları;

    çeşitli parametrelerin ve çözüm fonksiyonlarının alanlarının görselleştirilmesi olasılığı, benimsenen bölüm ve animasyon efektlerinin gösterilmesi.

Paket, bir PDE'yi Sonlu Elemanlar Yöntemi kullanarak çözmenin altı adımını sezgisel olarak takip eder. Bu adımlar ve paketin ilgili modları şunlardır: geometriyi tanımlama (çizim modu), sınır koşullarını belirleme (sınır koşulu modu), sorunu tanımlayan katsayıları seçme (PDE modu), sonlu eleman ayrıklaştırması (mesh modu), başlangıç ​​koşullarını belirleme ve denklemleri çöz (çözüm modu), çözümün sonradan işlenmesi (grafik modu).

15. Kontrol sistemlerinin analizi ve sentezi için paketler

Kontrol sistemlerinin analizi ve sentezi için paketler

Kontrol Sistemi Araç Kutusu

Kontrol Sistemi paketi, sistemlerin modellenmesi, analizi ve tasarımı için tasarlanmıştır. otomatik kontrol hem sürekli hem de ayrık. Paket işlevleri, geleneksel transfer işlevi yöntemlerini ve modern durum uzayı yöntemlerini uygular. Frekans ve zaman tepkileri, sıfır ve kutup kalıpları hızlı bir şekilde hesaplanabilir ve ekranda görüntülenebilir. Paket şunları içerir:

    tam set MIMO sistemlerini (çoklu girdi - çok çıktılı) sistemleri analiz etmek için araçlar;

    zamansal özellikler: aktarım ve geçiş işlevleri, keyfi eyleme yanıt;

    frekans özellikleri: Bode, Nichols, Nyquist, vb. diyagramları;

    gelişim geri bildirim;

    LQR/LQE kontrolörlerinin tasarımı;

    modellerin özellikleri: kontrol edilebilirlik, gözlemlenebilirlik, modellerin sırasını düşürme;

    gecikme sistemleri için destek.

Ek model oluşturma işlevleri, daha fazlasını tasarlamanıza olanak tanır karmaşık modeller. Zaman yanıtı, bir darbe girişi, tek bir adım veya isteğe bağlı bir giriş sinyali için hesaplanabilir. Tekil değerleri analiz etmek için işlevler de vardır.

Sistemlerin zaman ve frekans yanıtını karşılaştırmak için etkileşimli bir ortam, kullanıcıya yanıtları aynı anda görüntülemek ve bunlar arasında geçiş yapmak için grafik kontroller sağlar. Hızlanma süresi ve yavaşlama süresi gibi çeşitli yanıt özellikleri hesaplanabilir.

Kontrol Sistemi paketi, geri bildirim seçeneklerini seçmek için araçlar içerir. Geleneksel yöntemler arasında: tekil noktaların analizi, kazanç ve zayıflamanın belirlenmesi. Modern yöntemler arasında: doğrusal-kuadratik düzenleme, vb. Kontrol Sistemi paketi şunları içerir: çok sayıda kontrol sistemlerinin tasarımı ve analizi için algoritmalar. Ayrıca özelleştirilebilir bir ortamı vardır ve kendi m-dosyalarınızı oluşturmanıza olanak tanır.

16. Doğrusal Olmayan Kontrol Tasarımı Araç Kutusu

Doğrusal Olmayan Kontrol Tasarımı Araç Kutusu

Doğrusal Olmayan Kontrol Tasarımı (NCD) Blockset, kontrol sistemleri tasarlamak için dinamik bir optimizasyon yöntemi uygular. Simulink ile kullanılmak üzere tasarlanmış bu araç, otomatik olarak sistem parametreleri, kullanıcı tanımlı zamanlama kısıtlamalarına göre.

Paket, zamanlama kısıtlamalarını doğrudan grafikler üzerinde değiştirmek için fare sürükle ve bırak özelliğini kullanır, değişkenlerin kolay ayarlanmasına ve belirsiz parametrelerin belirlenmesine izin verir, etkileşimli optimizasyon sağlar, Monte Carlo simülasyonunu uygular, SISO'yu destekler (tek giriş, tek çıkış) ve MIMO kontrol sistemi tasarımı, izin verir girişim iptali, izleme ve diğer yanıt türlerinin simülasyonu, gecikme sistemleri için yinelenen parametre sorunlarını ve kontrol sorunlarını destekler, tatmin edilen ve erişilemeyen kısıtlamalar arasında seçime izin verir.

17 Sağlam Kontrol Araç Kutusu

Sağlam Kontrol Araç Kutusu

Sağlam Kontrol paketi, çok parametreli kararlı kontrol sistemleri tasarlamak ve analiz etmek için araçlar içerir. Dinamikleri tam olarak bilinmeyen veya simülasyon sırasında parametreleri değişebilen simülasyon hataları olan sistemlerdir. Paketin güçlü algoritmaları, birçok parametredeki değişiklikleri dikkate alarak karmaşık hesaplamalar yapmanızı sağlar. Paket özellikleri:

    tek tip ve bütünsel normların minimizasyonuna dayalı LQG kontrolörlerinin sentezi;

    çok parametreli frekans yanıtı;

    bir durum uzay modeli oluşturmak;

    tekil sayılara dayalı modellerin dönüştürülmesi;

    modelin sırasını düşürmek;

    spektral çarpanlara ayırma.

Robust Control paketi, kontrol sistemleri tasarlamak için gelişmiş bir algoritma seti sağlarken, Kontrol Sistemi paketinin özelliklerini temel alır. Paket, modern kontrol teorisi ve pratik uygulamalar arasında bir geçiş sağlar. Çok parametreli sağlam denetleyicileri tasarlamak ve analiz etmek için modern yöntemleri uygulayan birçok özelliğe sahiptir.

Sistemlerin kararlılığını ihlal eden belirsizliklerin tezahürleri çeşitlidir - sinyallerdeki gürültü ve rahatsızlıklar, transfer fonksiyonu modelinin yanlışlığı, simüle edilmemiş doğrusal olmayan dinamikler. Robust Control paketi, çeşitli belirsizlikler altında çok parametreli kararlılık sınırını değerlendirmenize olanak tanır. Kullanılan yöntemler arasında: Perron algoritması, transfer fonksiyonlarının özelliklerinin analizi vb.

Robust Control paketi, geri bildirimleri tasarlamak için çeşitli yöntemler sunar: LQR, LQG, LQG / LTR, vb. Modelin sırasını azaltma ihtiyacı birkaç durumda ortaya çıkar: nesnenin sırasını düşürmek, kontrolörün sırasını düşürmek , modelleme büyük sistemler. Bir modelin sırasını düşürmek için nitel bir prosedür sayısal olarak kararlı olmalıdır. Robust Control paketindeki prosedürler bu görevin üstesinden başarıyla gelmektedir.

18. Model Tahmine Dayalı Kontrol Araç Kutusu

Model Tahmine Dayalı Kontrol Araç Kutusu

Model Tahmine Dayalı Kontrol paketi, bir tahmine dayalı kontrol stratejisi uygulamak için eksiksiz bir araç seti içerir. Bu strateji, kısıtlamaların varlığında karmaşık çok kanallı süreçlerin yönetilmesine ilişkin pratik sorunları çözmek için geliştirildi. durum değişkenleri Ve yönetim. Kimya endüstrisinde ve diğer sürekli prosesleri kontrol etmek için kestirimci kontrol yöntemleri kullanılmaktadır. Paket şunları sağlar:

    sistemlerin modellenmesi, tanımlanması ve teşhisi;

    MISO (birçok girdi - bir çıktı), MIMO, geçici tepkiler, durum-uzay modelleri için destek;

    sistem Analizi;

    modelleri dönüştürmek çeşitli formlar temsiller (durum uzayı, transfer fonksiyonları);

    öğreticiler ve demolar sağlamak.

Kontrol problemlerine yönelik tahmine dayalı yaklaşım, açık bir doğrusal dinamik model Kontrol değişkenlerindeki gelecekteki değişikliklerin nesnenin davranışı üzerindeki etkisini tahmin etmek için nesne. Optimizasyon problemi, her simülasyon adımında yeniden çözülen, kısıtlamaları olan ikinci dereceden bir programlama problemi olarak formüle edilmiştir. Paket, hem basit hem de karmaşık nesneler için denetleyiciler oluşturmanıza ve test etmenize olanak tanır.

Paket, tahmine dayalı kontrol kullanan dinamik sistemlerin tasarımı, analizi ve simülasyonu için elliden fazla özel fonksiyon içerir. Aşağıdaki sistem türlerini destekler: darbeli, sürekli ve ayrık zamanda, durum uzayı. işlenmiş Farklı çeşit rahatsızlıklar. Ayrıca girdi ve çıktı değişkenleri üzerindeki kısıtlamalar modele açıkça dahil edilebilir.

Simülasyon araçları, izleme ve stabilizasyona izin verir. Analiz araçları, kapalı döngü kutuplarının hesaplanmasını, frekans yanıtını ve kontrol sisteminin diğer özelliklerini içerir. Paketteki modeli tanımlamak için Sistem Tanımlama paketiyle etkileşime giren işlevler vardır. Paket ayrıca doğrusal olmayan modelleri test etmenize olanak tanıyan iki Simulink işlevi içerir.

19. mu - Analiz ve Sentez

(Mu)-Analiz ve Sentez

p-Analiz ve Sentez paketi, sağlam kontrol sistemleri tasarlamak için işlevler içerir. Paket, tek tip norm optimizasyonu ve tekil parametre kullanır ve. Bu paket, optimal kontrolörleri tasarlarken blok işlemlerini basitleştirmek için bir grafik arayüzü içerir. Paket özellikleri:

  • tekdüze ve bütünsel normda optimal olan düzenleyiciler tasarlamak;
  • gerçek ve karmaşık tekil parametrenin tahmini mü;
  • Yaklaşık olarak D-K yinelemeleri -sentez;

    kapalı döngü yanıt analizi için grafik arayüz;

    modelin sırasını düşürme araçları;

    büyük sistemlerin bireysel bloklarının doğrudan bağlanması.

Durum uzayı modeli, sistem matrislerine dayalı olarak oluşturulabilir ve analiz edilebilir. Paket, sürekli çalışmayı destekler ve ayrık modeller. Paketin eksiksiz bir GUI, dahil: giriş verilerinin aralığını ayarlama yeteneği, düzenleme için özel bir pencere özellikler D-K yinelemeler ve Grafik sunum frekans özellikleri. Matrisler üzerinde matris toplama, çarpma, çeşitli dönüşümler ve diğer işlemler için fonksiyonlara sahiptir. Modelleri düşürme yeteneği sağlar.

20. Durum akışı

Stateflow, sonlu otomata teorisine dayalı, olaya dayalı bir sistem modelleme paketidir. Bu paket, Simulink Dynamic Systems Simulation paketi ile birlikte kullanılmak üzere tasarlanmıştır. Herhangi bir Simulink modelinde, simülasyon nesnesinin (veya sistemin) bileşenlerinin davranışını yansıtacak bir Durum akışı diyagramı (veya SF diyagramı) ekleyebilirsiniz. SF grafiği canlandırılmıştır. Vurgulanan blokları ve bağlantıları sayesinde, simüle edilen sistemin veya cihazın tüm aşamaları izlenebilir ve çalışmasını belirli olaylara bağlı hale getirebilir. Pirinç. 23.6, yolda acil bir durumda aracın davranışının simülasyonunu gösterir. Araba modelinin altında SF diyagramını görebilirsiniz (daha doğrusu, çalışmasının bir çerçevesi).

SF diyagramları oluşturmak için paket, kullanışlı ve basit bir düzenleyiciye ve ayrıca kullanıcı arayüzü araçlarına sahiptir.

21. Nicel Geri Bildirim Teorisi Araç Kutusu

Nicel Geri Besleme Teorisi Araç Kutusu

Paket, geri bildirimli sağlam (kararlı) sistemler oluşturmak için işlevler içerir. QFT (Kantitatif Geri Besleme Teorisi), belirsiz nesne özelliklerinin varlığında çeşitli kalite gereksinimlerini karşılamak için modellerin frekans temsilini kullanan bir mühendislik yöntemidir. Yöntem, nesnenin bazı özelliklerinin belirsiz olduğu ve/veya girdisine bilinmeyen pertürbasyonların uygulandığı durumlarda geri beslemenin gerekli olduğu gözlemine dayanmaktadır. Paket özellikleri:

    geri beslemede var olan belirsizliğin frekans sınırlarının değerlendirilmesi;

    gerekli geri bildirim parametrelerini bulma sürecini optimize etmenizi sağlayan grafiksel kullanıcı arayüzü;

    belirsizliklerin varlığında modele dahil edilen çeşitli blokların (çoğullayıcılar, toplayıcılar, geri besleme döngüleri) etkisini belirleme işlevleri;

    analog ve dijital geri besleme döngülerinin, kaskadların ve çok döngülü devrelerin modellenmesi için destek;

    parametrik ve parametrik olmayan modeller veya bu tür modellerin bir kombinasyonu kullanılarak nesnenin parametrelerindeki belirsizliğin çözümü.

Geri besleme teorisi, tasarıma klasik frekans yaklaşımının doğal bir devamıdır. Temel amacı, gereksinimleri karşılayan basit, düşük sıralı, minimum bant genişliği denetleyicileri tasarlamaktır. kalite özellikleri belirsizlikler olduğunda.

Paket hesaplamanıza izin verir Çeşitli seçenekler kontrolörleri hem sürekli hem de ayrık alanda test etmek için geri bildirimler, filtreler. oluşturmanıza izin veren kullanıcı dostu bir grafik arayüze sahiptir. basit düzenleyiciler kullanıcının gereksinimlerini karşılayan.

QFT, tatmin edici kontrolörler tasarlamanıza olanak tanır. farklı gereksinimler, model parametrelerindeki değişikliklere rağmen. Ölçülen veriler, karmaşık sistem yanıtlarını tanımlamaya gerek kalmadan doğrudan kontrolörleri tasarlamak için kullanılabilir.

22. LMI Kontrol Araç Kutusu

LMI Kontrol Araç Kutusu

LMI (Doğrusal Matris Eşitsizliği) Kontrol paketi, sorunları belirlemek ve çözmek için entegre bir ortam sağlar doğrusal programlama. Başlangıçta kontrol sistemleri tasarlamak için tasarlanan paket, bu tür sorunların ortaya çıktığı hemen hemen her faaliyet alanında herhangi bir doğrusal programlama sorununu çözmenize olanak tanır. Paketin temel özellikleri:

    lineer programlama problemlerinin çözümü: kısıtlamaların uyumluluğu problemleri, lineer kısıtlamaların varlığında lineer hedeflerin minimizasyonu, özdeğerlerin minimizasyonu;

    doğrusal programlama problemlerinin incelenmesi;

    doğrusal programlama görevlerinin grafik editörü;

    sembolik biçimde sınırların belirlenmesi;

    düzenleyicilerin çok kriterli tasarımı;

    kararlılık kontrolü: ikinci dereceden kararlılık lineer sistemler, Lyapunov anlamında kararlılık, doğrusal olmayan sistemler için Popov kriterinin doğrulanması.

LMI Kontrol paketi, modern tek yönlü algoritmalar Doğrusal programlama problemlerini çözmek için. Verimliliği artıran ve bellek gereksinimlerini en aza indiren doğrusal kısıtlamaların yapısal bir temsilini kullanır. Paket, doğrusal programlamaya dayalı kontrol sistemlerinin analizi ve tasarımı için özel araçlara sahiptir.

Doğrusal programlama problem çözücülerinin yardımıyla dinamik sistemlerin ve doğrusal olmayan bileşenlere sahip sistemlerin kararlılığını kolayca kontrol edebilirsiniz. Daha önce, bu tür bir analizin uygulanamayacak kadar karmaşık olduğu düşünülüyordu. Paket, daha önce çok karmaşık ve yalnızca buluşsal yaklaşımların yardımıyla çözülebilir olarak kabul edilen böyle bir kriter kombinasyonuna bile izin veriyor.

Paket, kontrol, tanımlama, filtreleme, yapısal tasarım, çizge teorisi, enterpolasyon ve doğrusal cebir gibi alanlarda ortaya çıkan dışbükey optimizasyon problemlerini çözmek için güçlü bir araçtır.LMI Kontrol paketi iki tür grafik kullanıcı arayüzü içerir: Doğrusal Programlama Problemi Düzenleyici (LMI Düzenleyici) ve Magshape arabirimi. LMI Düzenleyici, sınırları sembolik biçimde belirlemenize olanak tanır ve Magshape, kullanıcıya paketle çalışmak için uygun araçlar sağlar.

23. Sistem tanımlama paketleri

Sistem tanımlama paketleri

Sistem Tanımlama Araç Kutusu

Sistem Tanımlama paketi, oluşturmak için araçlar içerir. Matematiksel modeller gözlemlenen girdi ve çıktı verilerine dayalı dinamik sistemler. Verileri düzenlemeye ve modeller oluşturmaya yardımcı olmak için esnek bir grafik arayüze sahiptir. Pakette yer alan tanımlama yöntemleri, kontrol sistemlerinin tasarımından sinyal işlemeye, zaman serileri ve titreşim analizine kadar çok çeşitli problemlere uygulanabilir. Paketin ana özellikleri:

    basit ve esnek arayüz;

    ön filtreleme, eğilimlerin ve önyargıların kaldırılması dahil olmak üzere veri ön işleme; О Analiz için veri aralığı seçimi;

    zamanında yanıt analizi ve frekans alanı;

    sistemin transfer fonksiyonunun sıfırlarının ve kutuplarının gösterilmesi;

    modeli test ederken kalıntı analizi;

    Nyquist diyagramı gibi karmaşık diyagramların oluşturulması.

Grafik arayüz, etkileşimli model tanımlama sürecinin yanı sıra veri ön işlemeyi de basitleştirir. Paket ile çalışmak da mümkündür. komut modu ve Simulink uzantısını kullanarak. Veri yükleme ve kaydetme, aralık seçme, ofset ve trend silme işlemleri ile yapılır. az çaba ve ana menüdedir.

Verilerin ve tanımlanan modellerin sunumu, etkileşimli tanımlama sırasında kullanıcının önceki çalışma adımına kolayca dönebileceği şekilde grafiksel olarak düzenlenir. Yeni başlayanlar için sonraki olası adımları görmek mümkündür. Grafik araçlar, uzmanın daha önce elde edilen modellerden herhangi birini bulmasını ve kalitesini diğer modellerle karşılaştırmalı olarak değerlendirmesini sağlar.

Çıktı ve girdiyi ölçerek başlayarak, sistemin davranışını dinamik olarak tanımlayan parametrik bir model oluşturabilirsiniz. Paket, otoregresyon, Box-Jenkins yapısı ve diğerleri dahil olmak üzere tüm geleneksel model yapılarını destekler.Hem ayrık hem de sürekli uzayda tanımlanabilen doğrusal durum uzayı modellerini destekler. Bu modeller şunları içerebilir: Rasgele sayı girdiler ve çıktılar. Paket, tanımlanan modeller için test verileri olarak kullanılabilecek işlevleri içerir. Doğrusal modellerin tanımlanması, bir nesnenin modelinin oluşturulması gerektiğinde, kontrol sistemlerinin tasarımında yaygın olarak kullanılmaktadır. Sinyal işleme problemlerinde, uyarlanabilir sinyal işleme için modeller kullanılabilir. Tanımlama yöntemleri finansal uygulamalar için de başarıyla kullanılmaktadır.

24. Frekans Alanı Sistem Tanımlama Araç Kutusu

Frekans Alanı Sistem Tanımlama Araç Kutusu

Frekans Alanı Sistem Tanımlama paketi, doğrusal dinamik sistemleri zaman veya frekans tepkilerine göre tanımlamak için özel araçlar sağlar. Frekans yöntemleri tanımlamaya yönelik sürekli sistemler, daha geleneksel ayrık tekniğe güçlü bir ektir. Paket yöntemleri, elektriksel, mekanik ve modelleme gibi problemlere uygulanabilir. akustik sistemler. Paket özellikleri:

    periyodik pertürbasyonlar, tepe faktörü, optimal spektrum, psödo-rastgele ve ayrık ikili diziler;

    genlik ve faz, sıfır ve kutupların güven aralıklarının hesaplanması;

    bilinmeyen gecikmeli sürekli ve ayrık sistemlerin tanımlanması;

    artıkların modellenmesi ve hesaplanması dahil olmak üzere model teşhisi;

    modelleri Sistem Tanımlama Araç Kutusu formatına dönüştürme ve bunun tersi.

Frekans yaklaşımını kullanarak, elde edilebilir en iyi model frekans alanında; ayrıklaştırma hatalarından kaçının; sinyalin sabit bileşenini izole etmek kolaydır; sinyal-gürültü oranını önemli ölçüde iyileştirir. Bozucu sinyaller elde etmek için paket, ikili diziler oluşturmak, tepenin büyüklüğünü en aza indirmek ve spektral özellikleri geliştirmek için işlevler sağlar. Paket, sürekli ve ayrık doğrusal statik sistemlerin tanımlanmasını, giriş sinyallerinin otomatik oluşturulmasını ve elde edilen sistemin transfer fonksiyonunun sıfırlarının ve kutuplarının grafiksel gösterimini sağlar. Modeli test etme fonksiyonları arasında artıkların hesaplanması, transfer fonksiyonları, sıfırlar ve kutuplar, test verileri kullanılarak modelin çalıştırılması yer alır.

25. Ek paketler MATLAB uzantıları

Ek MATLAB Uzatma Paketleri

İletişim Araç Kutusu

Çeşitli telekomünikasyon cihazlarını oluşturmak ve modellemek için uygulamalı programlar paketi: dijital hatlar iletişim, modemler, sinyal dönüştürücüler vb. En zengin model setine sahiptir. çeşitli cihazlar iletişim ve telekomünikasyon. Bir sayı içerir ilginç örnekler modelleme iletişim demektir ki, örneğin bir v34 modem, tek yan bant modülasyonu sağlamak için bir modülatör vb.

26. Dijital Sinyal İşleme (DSP) Blok Seti

Dijital Sinyal İşleme (DSP) Blok Seti

İşlemci kullanan aygıtları tasarlamak için uygulama yazılım paketi dijital işleme sinyaller. Öncelikle yüksek verimli dijital filtreler verilen veya sinyal parametreleri frekans yanıtına (AFC) uyarlanabilir. Simülasyon ve tasarım sonuçları dijital cihazlar Bu paketin kullanılması, modern dijital sinyal işleme mikroişlemcilerinde yüksek performanslı dijital filtreler oluşturmak için kullanılabilir.

27 Sabit Nokta Blok Seti

Sabit Nokta Blok Seti

Bu özel paket modellemeye odaklanmıştır. dijital sistemler Simulink paketinin bir parçası olarak kontrol ve dijital filtreler. Özel bir bileşen seti, sabit ve kayan nokta (nokta) hesaplamaları arasında hızla geçiş yapmanızı sağlar. 8-, 16- veya 32-bit kelime uzunlukları belirleyebilirsiniz. Paketin bir dizi yararlı özelliği vardır:

    imzasız veya ikili aritmetik kullanımı;

    ikili noktanın konumunun kullanıcı seçimi;

    ikili noktanın konumunun otomatik olarak ayarlanması;

    model sinyalinin maksimum ve minimum aralıklarının görüntülenmesi;

    sabit ve kayan nokta hesaplamaları arasında geçiş;

    taşma düzeltme ve mevcudiyet anahtar bileşenler sabit nokta işlemleri için; mantıksal operatörler, bir ve iki boyutlu referans tabloları.

28. Sinyal ve görüntü işleme paketleri

Sinyal ve Görüntü İşleme Paketleri

Sinyal İşleme Araç Kutusu

Her türlü sinyali işlemek, filtrelemelerini ve birçok dönüşümlerini sağlamak için cihazların analizi, modellenmesi ve tasarımı için güçlü bir paket.

Sinyal İşleme paketi, günümüzün bilimsel ve bilimsel çalışmaları için sinyal işleme programları oluşturmak için son derece zengin bir yetenek sağlar. teknik uygulamalar. Torba çeşitli filtreleme teknikleri kullanır ve en son algoritmalar Spektral analiz. Paket, doğrusal sistemlerin geliştirilmesi ve zaman serisi analizi için modüller içerir. Paket, özellikle ses ve video bilgi işleme, telekomünikasyon, jeofizik, kontrol görevleri gibi alanlarda faydalı olacaktır. gerçek mod zaman, ekonomi, finans ve tıp. Paketin ana özellikleri:

    sinyallerin ve lineer sistemlerin modellenmesi;

    sayısal ve analog filtrelerin tasarımı, analizi ve uygulanması;

    hızlı Fourier dönüşümü, ayrık kosinüs ve diğer dönüşümler;

    spektrum değerlendirmesi ve istatistiksel işleme sinyaller;

    zaman serilerinin parametrik işlenmesi;

    çeşitli şekillerde sinyallerin üretilmesi.

Sinyal İşleme paketi, sinyal analizi ve işleme için mükemmel bir paketleyicidir. Kriterlere göre seçilmiş, sahada kanıtlanmış algoritmaları kullanır maksimum verimlilik ve güvenilirlik. Paket, sinyalleri ve doğrusal modelleri temsil etmek için çok çeşitli algoritmalar içerir. Bu set, kullanıcının bir sinyal işleme komut dosyası oluşturacak kadar esnek olmasını sağlar. Paket, bir modeli bir görünümden diğerine dönüştürmek için algoritmalar içerir.

Sinyal İşleme paketi, çeşitli özelliklere sahip dijital filtreler oluşturmak için eksiksiz bir yöntem seti içerir. Chebyshev, Yule-Walker, eliptik vb. dahil olmak üzere yüksek ve alçak geçiren filtreler, bant geçiren ve durduran filtreler, çok bantlı filtreleri hızlı bir şekilde tasarlamanıza olanak tanır.

Grafik arayüz, sürükle ve bırak modunda onlar için gereksinimleri belirleyerek filtreler tasarlamanıza olanak tanır. Aşağıdaki yeni filtre tasarım yöntemleri pakete dahildir:

    doğrusal olmayan faz yanıtı, karmaşık katsayılar veya keyfi yanıt ile filtreler tasarlamak için genelleştirilmiş bir Chebyshev yöntemi. Algoritma 1995 yılında Maclenan ve Karam tarafından geliştirilmiştir;

    kısıtlı en küçük kareler, kullanıcının maksimum hatayı (düzeltme) açıkça kontrol etmesine izin verir;

    bir Kaiser penceresi ile minimum filtre sırasını hesaplamak için bir yöntem;

    en düzgün geçiş ve zayıflama bantlarına sahip düşük geçişli filtreler tasarlamak için genelleştirilmiş bir Butterworth yöntemi.

Dayalı optimal algoritma Fast Fourier Dönüşüm Sinyali İşleme paketi, frekans analizi ve spektral tahmin için rakipsiz bir performansa sahiptir. Paket, hesaplamak için işlevler içerir ayrık dönüşüm Fourier dönüşümü, ayrık kosinüs dönüşümü, Hilbert dönüşümü ve analiz, kodlama ve filtreleme için sıklıkla kullanılan diğer dönüşümler. Paket, Welch yöntemi, maksimum entropi yöntemi vb. gibi spektral analiz yöntemlerini uygular.

Yeni grafik arayüz, sinyallerin özelliklerini görüntülemenize ve görsel olarak değerlendirmenize, filtreler tasarlamanıza ve uygulamanıza, spektral analiz gerçekleştirmenize, etkiyi araştırmanıza olanak tanır. çeşitli metodlar ve sonuçtaki parametreleri. Grafik arayüz özellikle zaman serilerini, spektrumları, zaman ve frekans yanıtlarını ve sistem transfer fonksiyonlarının sıfır ve kutup konumlarını görselleştirmek için kullanışlıdır.

Sinyal İşleme paketi, diğer birçok sorunu çözmenin temelidir. Örneğin, Görüntü İşleme paketi ile birleştirilerek 2D sinyaller ve görüntüler işlenebilir ve analiz edilebilir. Sistem Tanımlama paketi ile birlikte Sinyal İşleme paketi, zaman alanında sistemlerin parametrik modellemesini yapmanızı sağlar. Neural Network ve Fuzzy Logic paketleri ile birlikte veri işleme veya sınıflandırma çıkarımı için birçok araç oluşturulabilir. Sinyal oluşturma aracı, çeşitli şekillerde darbe sinyalleri oluşturmanıza olanak tanır.

29. Yüksek Dereceli Spektral Analiz Araç Kutusu

Yüksek Dereceli Spektral Analiz Araç Kutusu

Yüksek Dereceli Spektral Analiz paketi, yüksek dereceli anları kullanan sinyal analizi için özel algoritmalar içerir. Paket şunları sağlar: geniş fırsatlar Gauss olmayan sinyallerin analizi için, algoritmalar içerdiğinden, sinyal analizi ve işleme için belki de en gelişmiş yöntemler. Paketin temel özellikleri:

    yüksek dereceli spektrumların değerlendirilmesi;

    geleneksel veya parametrik yaklaşım;

    genlik ve faz geri kazanımı;

    uyarlanabilir doğrusal tahmin;

    harmonik geri kazanım;

    gecikme tahmini;

    blok sinyal işleme.

Yüksek Dereceli Spektral Analiz paketi, Gauss olmayan gürültü ve doğrusal olmayan sistemlerde meydana gelen süreçler tarafından bozulan sinyalleri analiz etmenizi sağlar. Sinyalin yüksek dereceli momentleri olarak tanımlanan yüksek dereceli spektrumlar şunları içerir: Ek Bilgiler sadece otokorelasyon veya sinyal güç spektrumu analizi kullanılarak elde edilemez. Yüksek dereceli spektrumlar şunları sağlar:

    katkı rengi Gauss gürültüsünü bastırır;

    minimum fazlı olmayan sinyalleri tanımlar;

    gürültünün Gauss olmayan doğası nedeniyle bilgiyi vurgulayın;

    sinyallerin doğrusal olmayan özelliklerini algılar ve analiz eder.

Yüksek dereceli spektral analizin olası uygulamaları arasında akustik, biyotıp, ekonometri, sismoloji, oşinografi, plazma fiziği, radar ve konum belirleyiciler bulunur. Paketin temel özellikleri, yüksek dereceli spektrumları, çapraz spektral tahmini, doğrusal tahmin modellerini ve gecikme tahminini destekler.

30. Görüntü İşleme Araç Kutusu

Görüntü İşleme Araç Kutusu

Görüntü İşleme paketi, bilim insanlarına, mühendislere ve hatta sanatçılara dijital görüntü işleme ve analiz için çok çeşitli araçlar sağlar. Geliştirme ortamıyla yakından ilgili olmak MATLAB uygulamaları, Görüntü İşleme Araç Kutusu sizi zaman alan algoritma kodlama ve hata ayıklama işlemlerinden kurtararak, ana bilimsel veya pratik görev. Paketin ana özellikleri:

    görüntü detaylarının restorasyonu ve seçimi;

    görüntünün seçilen bir alanıyla çalışın;

    görüntü analizi;

    doğrusal filtreleme;

    görüntü dönüştürme;

    geometrik dönüşümler;

    önemli ayrıntıların kontrastını artırmak;

    ikili dönüşümler;

    görüntü işleme ve istatistik;

    renk dönüşümleri;

    palet değişikliği;

    görüntü türlerini dönüştürme.

Görüntü İşleme paketi, oluşturmak ve analiz etmek için geniş fırsatlar sunar. grafik görüntüler MATLAB ortamında. Bu paket, görüntüleri manipüle etmenize, grafikleri etkileşimli olarak tasarlamanıza, veri kümelerini görselleştirmenize ve teknik açıklamalar, raporlar ve yayınlar. Esneklik, paket algoritmalarının bir matris-vektör açıklaması gibi bir MATLAB özelliği ile kombinasyonu, paketi grafiklerin geliştirilmesi ve sunumunda hemen hemen her türlü görevi çözmek için çok iyi uyarlanmış hale getirir. Bu paketin MATLAB sistem ortamında kullanımına ilişkin örnekler Ders 7'de verilmiştir. MATLAB, verimliliği artırmak için özel olarak tasarlanmış prosedürleri içerir. grafik kabuğu. Özellikle, aşağıdaki özellikler not edilebilir:

    grafik geliştirirken etkileşimli hata ayıklama;

    algoritmanın yürütme süresini optimize etmek için profil oluşturucu;

    GUI şablonlarının geliştirilmesini hızlandırmak için etkileşimli bir grafik kullanıcı arabirimi (GUI Builder) oluşturmaya yönelik araçlar, kullanıcı görevleri için özelleştirmenize olanak tanır.

Bu paket, kullanıcının standart grafikler oluşturmak için önemli ölçüde daha az zaman ve çaba harcamasına ve böylece görüntülerin önemli ayrıntılarına ve özelliklerine odaklanmasına olanak tanır.

MATLAB ve Görüntü İşleme paketi, yeni fikirlerin ve kullanıcı yöntemlerinin geliştirilmesi, uygulanması için maksimum düzeyde uyarlanmıştır. Bunu yapmak için, alışılmamış bir ortamda her türlü özel görevi ve görevi çözmeyi amaçlayan bir dizi arayüzlü paket vardır.

Görüntü İşleme paketi şu anda dünya çapında 4.000'den fazla şirket ve üniversite tarafından yaygın olarak kullanılmaktadır. Aynı zamanda, kullanıcıların çözdüğü çok çeşitli görevler vardır. bu paket uzay araştırması, askeri geliştirme, astronomi, tıp, biyoloji, robotik, malzeme bilimi, genetik vb.

31 Dalgacık Araç Kutusu

Wavelet paketi, kullanıcıya dalgacıkları (kısa dalga paketleri) kullanarak çok boyutlu durağan olmayan fenomenleri incelemek için eksiksiz bir program seti sağlar. Nispeten yakın zamanda oluşturulan Wavelet paketi yöntemleri, Fourier ayrıştırma tekniğinin genellikle kullanıldığı alanlarda kullanıcının yeteneklerini genişletir. Paket, konuşma ve ses sinyali işleme, telekomünikasyon, jeofizik, finans ve tıp gibi uygulamalar için faydalı olabilir. Paketin ana özellikleri:

    gelişmiş grafik Kullanıcı arayüzü ve sinyal ve görüntülerin analizi, sentezi, filtrelenmesi için bir dizi komut;

    çok boyutlu sürekli sinyallerin dönüştürülmesi;

    ayrık sinyal dönüşümü;

    sinyal ve görüntülerin ayrıştırılması ve analizi;

    geniş seçim temel fonksiyonlar sınır etkilerinin düzeltilmesi dahil;

    sinyallerin ve görüntülerin toplu işlenmesi;

    entropiye dayalı sinyal paketlerinin analizi;

    sert ve yumuşak eşikler belirleme yeteneği ile filtreleme;

    optimal sinyal sıkıştırma

Paketi kullanarak, diğer sinyal analiz yöntemlerinin gözden kaçırdığı, yani trendler, aykırı değerler, yüksek dereceli türevlerdeki kırılmalar gibi özellikleri analiz edebilirsiniz. Paket, sinyalin hem yüksek hem de düşük frekans bileşenlerini kaydetmeniz gereken durumlarda bile, belirgin kayıplar olmadan sinyalleri sıkıştırmanıza ve filtrelemenize olanak tanır. için sıkıştırma ve filtreleme algoritmaları vardır. toplu işleme sinyaller. Sıkıştırma programları, sıkıştırma sisteminin sonraki aşamaları için çok önemli olan, orijinal bilgiyi en doğru şekilde temsil eden minimum sayıda katsayı tahsis eder. Pakete aşağıdaki dalgacık temel setleri dahildir: Biorthogonal, Haar, Mexican Hat, Mayer, vb. Pakete kendi bazlarınızı da ekleyebilirsiniz.

Kapsamlı bir kullanım kılavuzu, çok sayıda örnek ve eksiksiz bir referans bölümü ile paket yöntemleriyle nasıl çalışılacağını açıklar.

32. Diğer uygulama paketleri

Diğer uygulama paketleri

Finansal Araç Kutusu

Piyasa reformları dönemimizle oldukça ilgili olan, finansal ve ekonomik hesaplamalar için bir uygulamalı program paketidir. Bileşik faiz hesaplamak, banka mevduat işlemleri, kar hesaplamak ve çok daha fazlası için birçok fonksiyon içerir. Ne yazık ki, finansal ve ekonomik formüllerdeki sayısız (genel olarak çok temel olmasa da) farklılıklar nedeniyle, koşullarımızda kullanımı her zaman makul değildir - birçok yerli programlar bu tür hesaplamalar için - örneğin, "Muhasebe 1C". Ancak, finansal haber ajanslarının veritabanlarına - Bloom-berg, IDC Datafeed Toolbox MATLAB paketi aracılığıyla bağlanmak istiyorsanız, o zaman elbette finansal MATLAB uzantı paketlerini kullandığınızdan emin olun.

Mali paket, basit hesaplamalardan tam ölçekli dağıtılmış uygulamalara kadar MATLAB'daki birçok mali sorunu çözmenin temelidir. Mali paket, faiz oranlarını ve karları hesaplamak, türev gelirlerini ve mevduatları analiz etmek ve bir yatırım portföyünü optimize etmek için kullanılabilir. Paketin temel özellikleri:

    veri işleme;

    yatırım portföyünün etkinliğinin dağılım analizi;

    Zaman serisi analizi;

    menkul kıymetlerin karlılığının hesaplanması ve oranların değerlendirilmesi;

    istatistiksel analiz ve piyasa duyarlılığı analizi;

    yıllık gelirin hesaplanması ve nakit akışlarının hesaplanması;

    amortisman ve amortisman yöntemleri.

Bunun veya bunun tarihinin önemi göz önüne alındığında finansal işlem Mali paket, tarih ve saatleri manipüle etmek için çeşitli işlevler içerir. çeşitli formatlar. Mali paket, tahvillere yatırım yaparken fiyatları ve getirileri hesaplamanıza olanak tanır. Kullanıcı, düzensiz ve birbiriyle çakışmayan, borç ve alacak işlemleri için çizelgeler ve faturaları geri öderken nihai ödeme dahil olmak üzere standart dışı belirleme olanağına sahiptir. Ekonomik duyarlılık fonksiyonları farklı vadeler dikkate alınarak hesaplanabilir.

Nakit akışı göstergelerini ve finansal hesaplara yansıyan diğer verileri hesaplamak için Mali paketin algoritmaları, özellikle, faiz oranları krediler ve krediler, karlılık oranları, kredi tahsilatları ve nihai tahakkuklar hakkında, yatırım portföyünün değerini değerlendirin ve tahmin edin, amortisman göstergelerini hesaplayın, vb. Paket fonksiyonları, pozitif ve negatif nakit akışlarını (nakit akışı) dikkate alarak kullanılabilir ( sırasıyla ödemeler üzerindeki fazla nakit akışları veya makbuzlar üzerindeki nakit ödemeler).

Finansal paket, yatırım portföyünü, dinamikleri ve ekonomik duyarlılık faktörlerini analiz etmenize olanak tanıyan algoritmalar içerir. Özellikle yatırımların etkinliği belirlenirken paketin işlevleri, tatmin edici bir portföy oluşturmayı mümkün kılmaktadır. klasik problem G. Markowitz. Kullanıcı, Sharpe oranlarını ve getiri oranlarını hesaplamak için paketin algoritmalarını birleştirebilir. Dinamiklerin ve ekonomik hassasiyetlerin analizi, kullanıcının iki yönlü işlemler, riskten korunma ve sabit oranlı işlemler için pozisyonları belirlemesine olanak tanır. Mali paket ayrıca ekonomik ve mali faaliyet alanları için geleneksel olan grafikler ve çizelgeler biçiminde veri ve sonuçların sunumu ve sunumu için kapsamlı fırsatlar sunar. Nakit kullanıcının isteği üzerine ondalık, bankacılık ve yüzde biçimlerinde görüntülenebilir.

33. Haritalama Araç Kutusu

Haritalama paketi, coğrafi verileri analiz etmek, haritaları görüntülemek ve bunlara erişmek için bir grafik ve komut arayüzü sağlar. dış kaynaklar coğrafya verileri. Ek olarak, paket birçok tanınmış atlas ile çalışmak için uygundur. MATLAB ile birlikte tüm bu araçlar, kullanıcılara tüm koşulları sağlar. üretken iş bilimsel coğrafi verilerle Paketin temel özellikleri:

    grafik ve bilimsel verilerin görselleştirilmesi, işlenmesi ve analizi;

    60'tan fazla harita projeksiyonu (doğrudan ve ters);

    vektör, matris ve bileşik haritaların tasarımı ve gösterimi;

    haritalar ve veriler oluşturmak ve işlemek için grafiksel arayüz;

    küresel ve bölgesel veri atlasları ve yüksek çözünürlüklü hükümet verileriyle arayüz oluşturma;

    coğrafi istatistikler ve navigasyon işlevleri;

    yerleşik vurgulama ve gölgeleme ile haritaların üç boyutlu gösterimi;

    popüler coğrafi veri formatları için dönüştürücüler: DCW, TIGER, ETOP5.

Mapping paketi, Silindirik, Pseudocylindrical, Conic, Polyconic ve Pseudoconic, Azimuth ve Pseudoazimut dahil olmak üzere en yaygın kullanılan 60'tan fazla projeksiyonu içerir. Kullanıcı tarafından belirlenen standart dışı projeksiyon türlerinin yanı sıra önden ve arkadan projeksiyonlar da mümkündür.

Eşleme paketinde kart bir coğrafi noktaya veya alana sayısal bir değer yansıtan veya atayan herhangi bir değişken veya değişken kümesine denir. Paket, vektör, matris ve karışık veri haritaları ile çalışmanıza izin verir. Güçlü bir grafik arabirim, işaretçiyi bir nesnenin üzerine taşıma ve bilgi almak için üzerine tıklama gibi etkileşimli harita manipülasyonuna olanak tanır. MAPTOOL GUI, harita uygulamaları için eksiksiz bir geliştirme ortamıdır.

Paketin içinde dünyanın en çok bilinen atlasları olan Amerika Birleşik Devletleri astronomik atlasları yer alıyor. Coğrafi veri yapısı, atlaslardan ve haritalardan verilerin çıkarılmasını ve işlenmesini basitleştirir. Dijital Dünya Haritası (DCW), TIGER, TBASE ve ETOP5 formatlarının coğrafi veri yapısı ve harici coğrafi verileriyle birlikte çalışabilirliği, mevcut ve gelecekteki coğrafi veritabanlarına erişmek için güçlü ve esnek bir araç sağlamak üzere bir araya getirildi. Coğrafi verilerin dikkatli analizi genellikle matematiksel yöntemler küresel bir koordinat sisteminde çalışır. Haritalama paketi, coğrafi verileri analiz etmek için coğrafi, istatistiksel ve gezinme işlevlerinin bir alt kümesini sağlar. Navigasyon özellikleri, konumlandırma ve rota planlama gibi hareket görevlerini gerçekleştirmek için geniş bir fırsat sağlar.

34. Güç Sistemi Blok Seti

Veri Toplama Araç Kutusu ve Enstrüman Kontrol Araç Kutusu

Data Acquisition Toolbox - bilgisayarın dahili veri yoluna bağlı bloklar aracılığıyla veri toplama alanıyla ilgili bir uzantı paketi, fonksiyon üreteçleri, spektrum analizörleri - tek kelimeyle, araştırma amacıyla veri elde etmek için yaygın olarak kullanılan araçlar. Uygun bir bilgi işlem tabanı tarafından desteklenirler. Yeni Enstrüman Kontrol Araç Kutusu, bir seri arayüze ve Genel Kanal ve VXI arayüzlerine sahip enstrümanları ve cihazları bağlamanıza olanak tanır.

36. Veritabanı araç kutusu ve Sanal Gerçeklik Araç Kutusu

Veritabanı araç kutusu ve Sanal Gerçeklik Araç Kutusu

Veritabanı araç kutusunun hızı, ODBC veya JDBC sürücüleri aracılığıyla bir dizi veritabanı yönetim sistemi ile bilgi alışverişinin yapılması sayesinde 100 kattan fazla artırılmıştır:

  • 95 veya 97 Microsoft'a erişin;

    Microsoft SQL Server 6.5 veya 7.0;

    Sybase Uyarlanabilir Sunucu 11;

    Sybase (eski adıyla Watcom) SQL Server Anywhere 5.0;

    IBM DB2 Evrensel 5.0;

  • Computer Associates Ingres (tüm sürümler).

Tüm veriler MATLAB 6.0'da önceden bir hücre dizisine dönüştürülür. MATLAB 6.1'de ayrıca bir dizi yapı kullanabilirsiniz. Görsel Sorgu Oluşturucu, lehçelerde rastgele karmaşık sorgular oluşturmanıza olanak tanır SQL dili SQL bilgisi olmadan bile bu veritabanları. Tek bir oturumda birçok heterojen veritabanı açılabilir.

Sanal Gerçeklik Araç Kutusu paketi MATLAB 6.1'den itibaren mevcuttur. Simulink modelleri de dahil olmak üzere 3D animasyon ve animasyona izin verir. Programlama dili - VRML - modelleme dili sanal gerçeklik(Sanal Gerçeklik Modelleme Dili). Animasyon, VRML özellikli bir tarayıcı ile donatılmış herhangi bir bilgisayardan görüntülenebilir. Matematiğin, herhangi bir gerçek veya sanal dünyanın nicel ilişkilerinin ve uzamsal biçimlerinin bilimi olduğunu onaylar.

37.Excel Bağlantısı

kullanmanıza izin verir Microsoft Excel 97, MATLAB G/Ç işlemcisi olarak. Bunu yapmak için, Math Works tarafından Excel'de eklenti işlevi olarak sağlanan excllinkxla dosyasını yüklemeniz yeterlidir. Excel'de Service yazmanız gerekir. > Eklentiler > Gözat, \matlabrl2\toolbox\exlink dizininde bir dosya seçin ve kurun. Şimdi her Excel'i başlat MATLAB komut penceresi görünecek ve panel Excel kontrolleri getmatrix, putmatrix, evalstring düğmeleri ile desteklenecektir. MATLAB'ı Excel'den kapatmak için herhangi bir Excel hücresine =MLC1ose() yazmanız yeterlidir. Bu komutu yürüttükten sonra açmak için getmatrix, putmatrix, evalstring butonlarından birine tıklamanız veya Excel Araçları>Makro>Çalıştır matı yazmanız gerekir! abi ni t. Fare ile bir aralık seçme Excel hücreleri, getmatrix'e tıklayıp MATLAB değişken adını yazabilirsiniz. Matris Excel'de görünecektir. Bir dizi Excel hücresini sayılarla doldurduktan sonra, aralığı seçebilir, putmatrix'e tıklayabilir ve bir MATLAB değişken adı girebilirsiniz. İşlem bu nedenle sezgiseldir. MATLAB'ın aksine, Excel Link büyük/küçük harfe duyarlı değildir: I ve i, J ve j eşdeğerdir.

Genişletme paketlerinin demo örneklerini arayın.

Grafik nesnelerinin özelliklerinin referans kitabı

standart iletişim kutuları.

Oluşturulacak işlevler diyalog kutuları

MATLAB, standart iletişim kutuları oluşturmak için 15 fonksiyon tanımlar. İletişim kutularının görünümü, bu işlevlere giriş argümanları belirtilerek özelleştirilebilir. Aşağıda iletişim kutusu örnekleri ve amaçlarına karşılık gelen işlevlerin adları verilmiştir.

Mesaj İletişim Kutuları:

errordlg - bir hata mesajı içeren bir iletişim kutusu oluşturun;

helpdlg - bilgileri görüntülemek için bir iletişim kutusu oluşturma;

warndlg - bir uyarı iletişim kutusu oluşturun;

msgbox - bir mesajı görüntülemek için bir iletişim kutusu oluşturma.

Onay iletişim kutusu(questdlg işlevi)

Bilgi girmek için iletişim kutusu(inputdlg işlevi)

Listeden seçim yapmak için iletişim kutusu(listdlg işlevi)

Yazdırma seçeneklerini ayarlamak için iletişim kutuları

pagesetupdlg - sayfa seçeneklerinin ayarlanması ve grafik penceresinin içeriğinin nasıl yazdırılacağı için çok sayfalı bir iletişim kutusu görüntüler;

printdlg - Yazdırma seçeneklerini ve yazıcı ayarlarını seçmek için bir iletişim kutusu görüntüler.


Dosya İletişim Kutularını Aç ve Kaydet

uigetfile - Dosya açma iletişim kutusunu görüntüle

uiputfile - dosya kaydetme iletişim kutusunu görüntüle


Dizin Seçimi İletişim Kutusu(uigetdir işlevi)

Yazı tipi seçimi iletişim kutusu(uisetfont işlevi)

Renk Seçici İletişim Kutusu(uisetcolor işlevi)

İlerleme çubuğu olan pencere(bekleme çubuğu işlevi)

Hariç listelenen işlevler boş bir grafik penceresi oluşturmak için bir diyalog işlevi vardır. Bu grafik penceresinin özellikleri, diyalog fonksiyonunun giriş argümanları kullanılarak ayarlanabilir.

Örnek olarak dosya açma penceresini kullanarak standart iletişim kutularının kullanımını ele alalım.

Açık dosya iletişim kutusuna sahip örnek myview uygulaması

Grafik dosyalarını görüntülemenizi sağlayan bir grafik kullanıcı arayüzüne sahip bir myview uygulaması oluşturalım. Çalışan uygulamanın penceresi şek. 1. Görüntüyü Aç düğmesine basmak, standart Açılacak Dosyayı Seç iletişim kutusunu getirir. İçinde seçilen grafik dosyası uygulama penceresinde görüntülenir. Görüntüyü Kapat düğmesine tıklamak, myview uygulama penceresini temizler.

Pirinç. 1. Uygulama penceresi görünümüm.

GUIDE ortamında, Şekil 2'de gösterildiği gibi uygulama penceresinin boşluğuna eksenleri ve iki düğmeyi yerleştirin. Özellik denetçisinde, sol düğmeyi btnOpen etiketiyle etiketleyin ve String özelliğini Open Image olarak ayarlayın. Benzer şekilde sağ düğme: etiket - btnClose ve String - Resmi Kapat.

kullanarak görüntüyü görüntülemek için eksenlere ihtiyaç duyulacaktır. görüntü işlevleri. Eksenin ters olduğunu varsayan görüntü işlevine düşük seviyeli bir çağrı kullanacağız. y resim ters olmasın diye. Yani özellik denetçisinde eksenin yönünü değiştirin y YDir eksenleri özelliğini ters olarak ayarlayarak. Kılavuz çizgilerini ve eksen çizgilerini gizlemek için, Görünür özelliklerini kapalı olarak ayarlayarak eksenleri görünmez yapın.

Pirinç. 2. GUIDE ortamında uygulama penceresinin hazırlanması.

Uygulamayı myview adıyla kaydedin ve Görüntüyü Aç ve Görüntüyü Kapat düğmelerinin Geri Arama olaylarını programlayın.

Kullanıcı Resmi Aç'a tıkladığında, bir dosya açma iletişim kutusu görünmeli ve bir dosya seçtikten sonra, eksenlerde resim görüntülenmelidir. uigetfile işlevi tarafından oluşturulan standart dosya açma iletişim kutusunu kullanalım. Buna atıfta bulunmanın en basit yolu Aşağıdaki şekilde:

Uiget dosyası

Kullanıcı bir dosya seçmiş ve penceredeki Aç düğmesine basarak pencereyi kapatmışsa, ilk çıktı bağımsız değişkeni DosyaAdı dosya adını (uzantıyla birlikte) ve ikinci YolAdı dosyanın yolunu döndürür. Kullanıcı bir dosya seçmediyse (İptal'e bastıysa veya pencereyi başlık çubuğunda çarpı işareti olan düğmeyle kapattıysa veya ), o zaman DosyaAdı değişkeni sıfır olacaktır. Bu yüzden daha fazla eylemler DosyaAdı değerine bağlıdır.

Dosya seçildiyse, o zaman

1) biçim Ad Soyad dosya;

3) görüntü işlevini kullanarak görüntüyü eksende görüntüleyin.

Dosya seçilmediyse, hiçbir şey yapılması gerekmez.

Görüntüyü Kapat düğmesinin Geri Çağırma olayı yalnızca bir ifadeden oluşabilir - eksenleri temizlemek için cla işlevine yapılan bir çağrı.

Görüntüyü Aç ve Görüntüyü Kapat düğmelerinin Geri Çağırma olay işleme alt işlevlerini aşağıdaki gibi programlayın.

İşlev btnOpen_Callback(hObject, eventdata, tanıtıcılar) % Resmi Aç düğmesinin Geri Çağırma olayını işle % Dosya adını ve yolunu al = uigetfile; % DosyaAdı~=0 ise bir dosyanın seçilip seçilmediğini kontrol etme % Dosyanın tam yolunu oluşturma FullName = ; % Grafik dosyasından resmi oku Pict = imread(FullName); % Görüntüyü eksenler üzerine çizin image("CData", Pict) end function btnClose_Callback(hObject, eventdata, handles) % Close Image düğmesinin Callback olayını yönetin % cla eksenlerini temizleyin

Myview uygulamasını başlatın. Görüntüyü Aç düğmesini tıklattığınızda, Açılacak Dosyayı Seç iletişim kutusu görüntülenir. Ancak, geçerli klasörün içeriğini görüntüleyen alanda görünmez grafik dosyaları. Bunun nedeni, varsayılan olarak dosya filtresinin (Dosya türü açılır listesi) "Tüm MATLAB Dosyaları" dizesini içermesi ve yalnızca MATLAB'da kabul edilen uzantılara sahip dosyaların görünür olmasıdır. Elbette, bir görüntü dosyasını her açtığınızda, geçerli klasördeki tüm dosyaları görüntülemek için Dosya türü açılır listesinde "Tüm Dosyalar (*.*)" satırını seçebilirsiniz. Ancak, hemen şu şekilde ayarlanmış bir dosya açma iletişim kutusu oluşturmak çok daha iyidir. belirli uzantılar. Örneğin, bmp ve jpg uzantılı dosyaları görüntülemek için, uigetfile işlevini bir giriş bağımsız değişkeniyle - noktalı virgülle ayrılmış şablonları içeren bir dizeyle çağırmalısınız. istenilen uzantı*.bmp ve *.jpg:

Uigetfile("*.bmp;*.jpg");

btnOpen_Callback alt işlevinde, uigetfile referansını yukarıdakiyle değiştirin ve dosya açma iletişim kutusunun Dosya türü açılır listesinin yalnızca iki dize içerdiğinden emin olun: "*.bmp;*.jpg" (varsayılan) ve "Tüm Dosyalar" (*.*)".

uigetfile işlevi, dosya filtresi ayarları üzerinde daha esnek kontrol sağlar. Standart iletişim kutuları oluşturmak için işlevlerin açıklaması bölümünde bunlara bakacağız. Şimdi standart bir dosya açma iletişim kutusunda aynı anda birden çok dosya seçme yeteneğinin nasıl uygulanacağını tartışalım.

Dosya aç iletişim kutusunda birden çok dosya seçme. GUI uygulamasının alt işlevleri arasında veri alışverişi.

Bu bölümde iki soruyu ele alacağız:

1) çoklu dosya seçimi nasıl organize edilir standart pencere bir dosyayı açmak ve içeriğini uygun bir diziye okumak;

İlk sorunun cevabı basit. "MultiSelect" ve "on" ek girdi argümanları çiftiyle uigetfile işlevini çağırmamız gerekiyor:

Uigetfile(..., "MultiSelect", "on")

Kullanıcının seçimine bağlı olarak, çıktı argümanları aşağıdaki tiplerden olacaktır.

  • Kullanıcı dosya aç iletişim kutusunda birden çok dosya seçtiyse ( veya ), ardından DosyaAdı, her hücre dosya adı (ve uzantısı) olan bir dize içeren bir hücre dizisi olur ve YolAdı bu dosyaların yolunu içeren bir dize olur (tüm dosyaların yolu aynıdır, bu nedenle PathName bir hücre dizisi olmamalıdır).
  • Kullanıcı açık dosya iletişim kutusunda tek bir dosya seçerse, DosyaAdı dosya adıyla (uzantısıyla birlikte) bir dize olur ve YolAdı dosyanın yolunu içeren bir dize olur (önceki bölüme bakın).
  • Herhangi bir seçim yapılmadıysa, DosyaAdı null olur.

İkinci sorun (olay işleme alt işlevleri arasındaki veri alışverişi) genellikle GUI uygulamaları programlanırken ortaya çıkar. Aşağıdaki şekilde çözülür. Bazı alt işlevler yürütülürken kaydedilmesi gereken veriler, tanıtıcı yapısının alanlarına yazılır. Ardından, aynı alt işlevde, tutamaç yapısı guidata işlevi kullanılarak depolanır:

guidata(gcbo, tutamaçlar)

Başka bir alt işlevde veri almak için, tutamaç yapısının ilgili alanına başvurmalısınız. Örneğin, uygulamanın iki alt işlevi btnA_Callback ve btnB_Callback vardır. btnA_Callback alt işlevi yürütülürken, btnB_Callback alt işlevinde ihtiyaç duyulacak sayısal bir dizi oluşturuldu. O zaman bu alt fonksiyonlar aşağıdaki forma sahip olmalıdır.

btnA_Callback(hObject, eventdata, tanıtıcılar) işlevi. . . kolları.veri = ; guidata(gcbo, tutamaçlar) . . . function btnB_Callback(hObject, eventdata, tanıtıcılar) . . . bar(handles.data) . . .

Bir önceki bölümde oluşturulan myview uygulamasına bir göz atalım ve yeteneklerini genişletelim. Yükseltilmiş uygulama, aynı anda birkaç grafik dosyasının açılmasına ve tek tek görüntülenmesine izin vermelidir. Uygulama penceresinde birkaç grafik dosyası seçtikten sonra, sadece bir tanesi görüntülenir ve butona tıklandığında (hadi buna İleri diyelim) bir sonraki görüntünün görünümüne yol açar.

GUIDE ortamında, myview uygulama penceresinin boşluğuna (önceki bölümün Şekil 2'sine bakın), btnNext etiketi ve Sonraki etiketine sahip bir düğme ekleyin (bkz. Şekil 1). Özellik denetçisinde, Etkinleştir özelliğini kapalı olarak ayarlayarak bunu kullanılamaz hale getirin. Kullanıcı görüntüleme için birkaç grafik dosyası seçtiyse, uygulama işlemi sırasında kullanılabilir olacaktır.

Pirinç. 1. İleri düğmesi ile Myview uygulama penceresi

Şimdi, Open Image düğmesinin Callback olayını işlemek için btnOpen_Callback alt fonksiyonunu değiştirmemiz ve Next düğmesinin Callback olayını programlamamız gerekiyor. Dosya açma iletişim kutusunda kullanıcı tarafından dosya (veya dosya) seçimini işlerken, tüm olasılıkları göz önünde bulundurun: birden çok dosya seçildi, yalnızca bir dosya seçildi, hiçbir dosya seçilmedi.

Birden fazla grafik dosyası seçilirse (yani, DosyaAdı dizisi bir hücre dizisiyse), görüntüleri bir hücre dizisine okuyun ve tutamaç yapısının Pict alanında saklayın. Açık grafik dosyalarının sayısı (yani, DosyaAdı dizisinin uzunluğu), tanıtıcı yapısının ImageNum alanında depolanacaktır. Ayrıca, tutamaç yapısının CurImage alanını oluşturacağımızı hatırlamak için mevcut görüntünün numarasına ihtiyacımız var.

Dosyaları açtıktan sonra ilkinin içeriğini uygulama penceresinde görüntüleyeceğiz. Birden fazla dosya açılmışsa, İleri düğmesini kullanılabilir hale getireceğiz ve yalnızca bir taneyse, İleri'yi kullanılamaz hale getireceğiz.

Next düğmesinin Callback olayını işlerken, eksenleri temizleyeceğiz ve bir sonraki görüntüyü üzerlerinde göstereceğiz. Geçerli görüntü sonuncuysa, ilkini görüntüleyin.

Aşağıda btnOpen_Callback ve btnNext_Callback alt fonksiyonlarının metni bulunmaktadır. btnClose_Callback alt işlevi değişmeden kalır.

İşlev btnOpen_Callback(hObject, eventdata, handles) % Open Image düğmesinin Callback olayını işle % Dosya adlarını ve yolları (veya tek dosya adı ve yolu) al = uigetfile("*.bmp;*.jpg", "MultiSelect" , "on "); % iscell(DosyaAdı) ise kaç dosyanın seçildiğini öğrenin % DosyaAdı bir hücre dizisidir, bu nedenle birkaç dosya seçilir % seçilen dosyaların sayısını tutamaç yapısı tutamaçlarının ImageNum alanına yazın.ImageNum = uzunluk(FileName); % Döngüdeki her dosya için, % tam adını oluştururuz ve içeriğini hücre dizisinin k-inci hücresine okuruz, bu %, tanıtıcı yapısının Pict alanında depolanır.Pict = ; % önce diziyi k=1:handles için boş yapın.ImageNum FullName = ; handles.Pict(k) = imread(FullName); end % İlk resim mevcut olandır.CurImage = 1; % Eksenlerde göster image("CData", handles.Pict(handles.CurImage)) % BtnNext_Callback alt işlev guidata(gcbo, handles) içinde erişmek için tanıtıcı yapısını saklayın % Sonraki düğme setini etkinleştirin(handles.btnNext, "Etkinleştir ", "on") başka % Yalnızca bir dosya seçildi veya DosyaAdı~=0 ise hiçbiri yok % Bir dosya seçildi, bunun tam yolunu oluşturuyoruz FullName = ; % Resmi Pict değişkenine oku (tutamaç yapısına gerek yok) Pict = imread(FullName); % Eksen üzerindeki görüntüyü göster image("CData", Pict) % Sonraki düğmesini devre dışı bırak set(handles.btnNext, "Enable", "off") bitiş bitiş işlevi btnNext_Callback(hObject, eventdata, handles) % Geri Çağırma olayını ele al Görüntü Aç düğmesinin yüzdesi Hands.CurImage ise hangi görüntünün geçerli olduğunu kontrol edin.

Not

Myview uygulaması daha da geliştirilebilir, örneğin dosyaları seçtikten sonra ve ilkini görüntülemeden önce eksenleri temizlemek iyi bir fikirdir. Kullanıcının grafik olmayan dosyaları seçtiği de varsayılmalıdır.

İletişim kutuları oluşturmaya yönelik işlevler hakkında yardım.

Hata İletişim Kutusu Oluşturma - errordlg

Standart bir hata iletişim kutusu oluşturmak için errordlg işlevini kullanın. En yaygın arama seçeneği

h = errordlg("Mesaj metni", "Pencere başlığı").

h, bir hata mesajı ile oluşturulan grafik penceresine yönelik bir işaretçidir. Örneğin

h = errordlg("Sıfıra Bölme", ​​"Hesap Makinesi");

h işaretçisiyle bu pencereye yönlendirir:

Pencere, Tamam düğmesi, bir tuş, başlık çubuğunda çarpı işareti olan düğme veya başlık bağlam menüsü kullanılarak kapatılana kadar ekranda kalır.

Hata mesajı penceresi kalıcı değildir (diğer MATLAB uygulama pencerelerine gitmenizi sağlar). Kalıcı hale getirmek için, errordlg işleviyle pencereyi oluşturduktan sonra, grafik pencerenin WindowStyle özelliğini "modal" olarak ayarlayın: set(h, "WindowStyle", "modal")

Hata mesajlı kalıcı bir kutu oluşturmanın başka bir yolu da aşağıda açıklanan msgbox işlevini kullanmaktır.

Pencere boyutu metin satırlarının uzunluğuna göre otomatik olarak seçilir, çok uzun satırlar sarılır. Belirli bir şekilde satırlara bölünmüş çok satırlı bir mesaj almak için, bir hücre dizilimi belirtmeniz gerekir:

h = errordlg(("Yanlış veri formatı";"veya"; "eşleşmeyen veri"), "dlgname")

Aynı başlığa sahip hata mesajlarına sahip pencerelerin sıralı oluşturulması:

h = errordlg("Sıfıra Bölme", ​​"Hesap Makinesi"); ... h = errordlg("Yanlış işlem", "Hesap makinesi");

hata mesajları ile farklı pencerelerin oluşturulmasına yol açar. Bir pencereyi etkinleştirmek (diğer pencerelerin üzerine yerleştirmek) ve içinde yeni bir mesaj görüntülemek için, yeni bir pencere oluşturmak yerine, üçüncü argüman "on" ile errordlg'ye bir çağrı sağlanır:

h = errordlg("Sıfıra Bölme", ​​"Hesap Makinesi"); ... h = errordlg("Yanlış işlem", "Hesap makinesi", "açık"); % eski pencereyi etkinleştir

Tabii ki, eski pencere kapatılmışsa, o zaman h = errordlg(..., "on") basitçe yeni bir tane oluşturur.

Hata iletişim kutusu görüntülendikten sonra uygulama çalışmaya devam eder. Soru genellikle ortaya çıkar: iletişim kutusu kapanana kadar yürütmenin nasıl askıya alınacağı. Bu, belirli bir grafik nesnesi kaldırılana kadar uygulamanın yürütülmesini askıya alan waitfor işlevi kullanılarak yapılır. Bu nesneye bir işaretçi (bizim durumumuzda, hata penceresi), waitfor işlevine giriş argümanı olarak iletilir:

h = errordlg("Sıfıra Bölme", ​​"Hesap Makinesi"); set(h, "WindowStyle", "modal") waitfor(h) a=1; ....

Bir Uyarı İletişim Kutusu Oluşturma - warndlg

warndlg işlevi errordlg işleviyle hemen hemen aynı şekilde çalışır (yukarıya bakın), ancak üçüncü "on" girdi argümanıyla onu çağırmanın bir yolu yoktur. Örneğin,

h işaretçisiyle böyle bir pencereye yol açar

Uyarı penceresi, hata mesajı penceresinden yalnızca şu simgeyle farklılık gösterir:

Aynı giriş argümanlarıyla warndlg'yi tekrar çağırmak, eski pencere henüz kapatılmamış olsa bile yeni bir pencerenin oluşturulmasına neden olur.

Yardım bilgileri içeren bir iletişim kutusu oluşturma - helpdlg

helpdlg işlevi, warndlg ile aynı şekilde çalışır (yukarıya bakın). Örneğin,

h = warndlg("Dosya güncel değil", "Ön İşlemci")

h işaretçisiyle bu pencereye yönlendirir:

uyarı penceresinden yalnızca simgeyle farklıdır:

Aynı pencere başlığıyla helpdlg'yi tekrar çağırmak, kapatılmamışsa eski pencereyi yeniden etkinleştirecektir. Kapatıldıysa, yenisi oluşturulur.

Çok satırlı mesaj metni, pencere modalitesi ve pencere kapanana kadar uygulama yürütmesini askıya almanın tümü, errordlg çağrılırken olduğu gibi yapılır.

Bir mesaj kutusu oluşturma - genel işlev msgbox

msgbox işlevi, yukarıda tartışılan hata, uyarı ve yardım kutularını oluşturmanıza olanak tanır. Çok satırlı metin elde etmek için, ilk argüman olarak bir hücre dizileri dizisi belirtmelisiniz. Ayrıca, isteğe bağlı bir simgeye sahip bir pencere oluşturmak da mümkündür. Pencerenin modalitesi ve aynı başlığa sahip yeni bir pencerenin oluşturulması, msgbox giriş argümanları tarafından kontrol edilir. msgbox işlevi, oluşturduğu pencereye bir işaretçi döndürür.

h = msgbox("Çok ciddi bir hata!", "Program", "hata")- bir hata mesajı ve standart bir simge içeren bir pencere oluşturur (errordlg'ye benzer).

c = ("Çok ciddi bir hata!"; "Kimseye söyleme"); h = msgbox(c, "program", "hata")- öncekine benzer, ancak mesaj iki satırdan oluşur.

h = msgbox("Son uyarı!", "Program", "uyar")- bir uyarı ve standart bir simge içeren bir pencere oluşturur (warndlg'ye benzer).

h = msgbox("Kendinize yardım edin...", "Program", "yardım")- yardım bilgileri ve standart bir simge içeren bir pencere oluşturur (helpdlg'ye benzer).

h = msgbox("Burada resim yok", "Program", "yok")- simge içermeyen metinsel bilgiler içeren bir pencere oluşturur.

h = msgbox("Mesaj metni", "Pencere başlığı", "özel", resim, renk haritası)- örneğin bir kullanıcı simgesi olan bir pencere oluşturur:

= imread("telefon.gif"); % h dosyasından resim ve renkli haritayı oku = msgbox("Birisi seni arıyor", "Telefon", "özel", resim, harita)

bu pencereye yönlendirir

Son girdi argümanı ("modal", "modal olmayan" veya "replace"), pencerenin görünümünü ve aynı başlığa sahip yeni bir pencerenin nasıl görüntüleneceğini kontrol eder. Yeni bir pencere görüntüleme yöntemi belirtilmemişse, her zaman yeni bir pencere oluşturulur.

Örnekler:

h = msgbox("Çok ciddi hata!", "Program", "modal")- bir hata mesajı ile kalıcı bir standart pencere görüntüler

h = msgbox("Birisi sizi arıyor", "Telefon", "özel", resim, harita, "modal")- simge için belirli bir görüntü ve bir renk haritası içeren kalıcı bir pencere görüntüler.

h = msgbox("Çok ciddi bir hata!", "Program", "hata", "değiştir")- önceki pencereyi Program başlığıyla değiştirir, yoksa yeni bir tane oluşturur. Komutları yürütürken

h = msgbox("Çok ciddi bir hata!", "Program", "hata") h = msgbox("Bir gariplik var", "Program", "uyar", "değiştir")

ikinci pencere ilkinin yerini alacak.

Onay iletişim kutusu - questdlg işlevi

questdlg işlevi, birkaç düğmeli kalıcı bir onay iletişim kutusu oluşturur. Bir pencere oluştururken, düğmelerden herhangi birinin odağı olabilir. questdlg işlevi, kullanıcının seçimini (basılan düğmenin adını içeren bir dize) çıktı argümanı olarak veya pencere herhangi bir tuşa basılmadan kapatılmışsa boş bir dize olarak döndürür. Çok satırlı metin elde etmek için bir hücre dizisi kullanmalısınız. Uzun bir dize belirtilirse, otomatik olarak sarılır.

Örnekler:

buton = questdlg("Emin misiniz?")- Evet, Hayır, İptal düğmeleriyle standart bir onay penceresinin oluşturulması. Evet düğmesi odakta (varsayılan).

buton = questdlg("Emin misiniz?", "Program")- bir başlık ve Evet, Hayır, İptal düğmeleri ile standart bir onay penceresinin oluşturulması.

button = questdlg("Emin misiniz?", "Program", "Hayır")- bir başlık ve Evet, Hayır, İptal düğmeleri ile standart bir onay penceresinin oluşturulması. Odakta düğme yok.

button = questdlg("Emin misiniz?", "Program", "Evet", "Belki", "Belki")- bir başlık ve Evet ve Belki butonları olan standart bir onay penceresinin oluşturulması. Belki düğmesi odakta.

button = questdlg("Emin misiniz?", "Program", "Evet", "Hayır", "Bilmiyorum""bilmiyorum", "Hayır")- bir başlık ve üç buton Evet, Hayır ve Bilmiyorum ile standart bir onay penceresinin oluşturulması Hayır düğmesi odakta.

Bilgi girmek için iletişim kutusu (inputdlg işlevi)

inputdlg işlevi, belirtilen sayıda giriş satırına sahip bir iletişim kutusu oluşturur. Giriş satırlarının sayısı ve başlıkları, giriş argümanları tarafından belirlenir. Pencere, Tamam ve İptal düğmelerini içerir. Kullanıcı Tamam'ı tıklatırsa, inputdlg işlevinin çıkış argümanı, kullanıcı tarafından giriş satırlarına girilen bilgileri içeren bir hücre dizisidir. Pencere, İptal düğmesine basılarak veya başka bir yolla (Tamam düğmesi dışında) kapatılmışsa, çıktı bağımsız değişkeni boş bir hücre dizisidir.

Örnekler:

M = inputdlg(("ZAMAN" "DEĞERLER"))- bir iletişim kutusu oluşturur

Örneğin, kullanıcı ZAMAN satırına 0,1 0,3 0,55 4,5 ve DEĞERLER satırına 2,3 9,55 2,1 0,7 girer ve Tamam'a basarsa, M hücre dizisi aşağıdaki değerlere sahip olacaktır.

M = "0,1 0,3 0,55 4,5" "-2,3 9,55 2,1 0,7"

Bunları sayısal vektörlere dönüştürmek için str2num'u kullanabilirsiniz:

zaman = str2num(M(1)) değer = str2num(M(2))

M=inputdlg(("ZAMAN" "DEĞERLER"), "Giriş Verileri") - Giriş Verileri başlıklı bir iletişim kutusu oluşturur.

Çok satırlı metin girebilmek için, üçüncü girdi bağımsız değişkeni belirtilmelidir - her bir girdi alanındaki satır sayısı:

M = inputdlg(("matris A" "Matris B"), "Giriş Verileri", 3)- üçüncü bağımsız değişken birden büyük bir sayıysa, tüm girdi alanları aynı yüksekliğe sahiptir ve kaydırma çubuklarıyla sağlanır.

OK düğmesine basılarak giriş tamamlanırsa, M dizisinin her hücresi bir karakter dizisi içerir. Karakter dizisinde, karşılık gelen giriş alanına girilen sayıda satır vardır.

M = inputdlg(("vektör A" "Matris B"), "Veri Girdi", )- girdi alanlarının yüksekliğini ayrı ayrı ayarlamak için, üçüncü girdi bağımsız değişkeni olarak sütun vektöründeki her girdi alanının satır sayısını belirtin:

M = inputdlg(("vektör A" "Matris B"), "Veri Girdi",)- girdi alanlarının uzunluğunu karakter olarak ayarlamak için (bu durumda 100 karakter), üçüncü girdi bağımsız değişkeni bir matris olmalıdır:


M = inputdlg(("Ad" "Yıl"), "Bilgi", , (char("John","Smith") "1990"))- doldurulmuş alanları olan bir pencere elde etmek için (kullanıcıya giriş biçimini sormak için), dördüncü giriş argümanı belirtilir. İlk giriş argümanıyla aynı boyutta bir hücre dizisi olmalıdır:

M = inputdlg(("Ad" "Yıl"), "Bilgi", , (char("John","Smith") "1990"), "on")- son beşinci giriş argümanı "açık", kullanıcının iletişim kutusunu yeniden boyutlandırabileceği anlamına gelir.

Listeden seçim yapmak için iletişim kutusu - listdlg işlevi

listdlg işlevi, verilen dizeleri ve seçme ve seçimi kaldırma için düğmeleri içeren bir liste kutusu içeren bir iletişim kutusu oluşturur. Listenin satırları bir dizi hücre tarafından verilir. Liste öğelerinin çoklu seçimi desteklenir. Çıktı bağımsız değişkenleri şunu döndürür: Seçim - bir sayı veya seçili satırların numaralarını içeren bir vektör ve tamam - seçimin Tamam düğmesine basılarak tamamlanıp tamamlanmadığı (tamam = 1) veya pencerenin başka bir şekilde kapatılıp kapatılmadığı (tamam) hakkında bilgi = 0). Tamam = 0 ise, Seçim boş bir dizidir. Varsayılan olarak, birden çok liste öğesinin seçilmesine izin verilir (Ctrl tuşuna basarak) ve tüm öğeleri seçmek için bir Tümünü Seç düğmesi vardır.

= listdlg("ListString", ("Doğrusal"; "Kuadratik"; "Kübik"))- üç satırlık bir liste içeren bir seçim iletişim kutusu oluşturur: Doğrusal, Kuadratik, Kübik. Kullanıcı, örneğin Kuadratik'i seçip Tamam düğmesine bastıysa, Seçim = 2 ve tamam = 1. Kullanıcı Doğrusal ve Kübik'i seçip Tamam düğmesine bastıysa, Seçim = ve tamam = 1, vb.

listdlg işlevine genel biçimde erişilebilir:

= listdlg("ListString", dizilerin hücre dizisi, param1, val1, param2, val2, ...)

Parametreler ve olası değerleri şunlardır:

  • "SelectionMode" - listedeki satır seçim modu, değerler: "single" (yalnızca bir satır seçmek için) veya "multiple" (varsayılan olarak, birden çok satır seçmek için);
  • "ListSize" - liste alanının piksel cinsinden boyutu, değer [width height] vektörü tarafından belirlenir (varsayılan );
  • "InitialValue" - satırların ilk seçimi, değer, liste kutusu görüntülendiğinde seçilecek olan satır numaralarına sahip bir vektördür (varsayılan 1);
  • "Ad" - pencerenin başlığı, değer bir dize olarak verilir (varsayılan olarak boş dize);
  • "PromptString" - listenin üstündeki metin, değerler: dize veya dize dizisi veya dizelerden hücreler (çok satırlı metin için). Varsayılan olarak, boş bir hücre dizisi.
  • "OKString" - pencereyi seçmek ve kapatmak için düğmedeki yazı, değer bir dizedir (varsayılan "OK");
  • "CancelString" - seçim yapmadan pencereyi kapatmak için düğmenin üzerindeki yazı, değer bir dizedir (varsayılan "İptal" dir);
  • "uh" - pencere düğmelerinin yüksekliği, değer piksel olarak ayarlanır (varsayılan olarak 18);
  • "fus" - düğmeler ve liste arasındaki mesafe, değer piksel olarak ayarlanır (varsayılan olarak 18);
  • "ffs" - pencere sınırından listeye olan mesafe, değer piksel olarak ayarlanır (varsayılan olarak 8).
Örneğin, komut

= listdlg("ListString", ("Doğrusal"; "Kuadratik"; "Kübik"),... "Ad", "Yaklaşıklık", "ListSize", , "PromptString", "Yöntem seç", "fus", 5)

aşağıdaki birleşik giriş kutusu iletişim kutusuyla sonuçlanır:

Sayfa seçeneklerini ve grafik penceresi içeriğinin nasıl yazdırıldığını ayarlamak için iletişim kutusu - pagesetupdlg işlevi

pagesetupdlg - geçerli grafik penceresi için Sayfa Yapısı iletişim kutusunu çağırır (pencere yoksa yenisi oluşturulur).

pagesetupdlg(hF) - hF işaretçili grafik penceresi için Sayfa Yapısı iletişim kutusunu çağırır.

Sayfa Yapısı iletişim kutusunda yapılan ayarlar ilgili grafik penceresi özelliklerini etkiler: PaperSize, PaperType, PaperPosition, vb.

pagesetupdlg işlevi, yalnızca bir grafik penceresi için ayarları yapılandırmanıza olanak tanır; hF bir işaretçi vektörü olamaz. Birkaç grafik penceresinin ana parametrelerini aynı anda ayarlamak için, giriş argümanı grafik pencerelerine yönelik bir işaretçi vektörü olabilen pagedlg işlevini kullanın.

Sayfa Yapısı penceresi kalıcıdır; pencere kapatılana kadar uygulama yürütmesi askıya alınır.

Yazdırma seçeneklerini ve yazıcı ayarlarını seçmek için iletişim kutusu - printdlg işlevi

printdlg - geçerli grafik penceresini yazdırmak için standart bir Windows iletişim kutusunu çağırın (pencere yoksa yenisi oluşturulur).

printdlg(hF) - grafik penceresini hF işaretçisi ile yazdırmak için standart Windows iletişim kutusunu çağırın.

printdlg("-crossplatform", hF) - hF tutamacı ile grafik penceresini yazdırmak için MATLAB Yazdır iletişim kutusunu çağırın.

Yazdır iletişim kutusu kalıcıdır, pencere kapatılana kadar uygulama yürütmesi askıya alınır.

Dosya iletişim kutusunu aç - uigetfile işlevi

= uiget dosyası- geçerli dizinin içeriğine sahip bir dosyayı açmak için bir iletişim kutusu görüntüler. Dosya filtresi TÜM MATLAB dosyalarına ayarlanır, bu da yalnızca uzantıları MATLAB tarafından desteklenen dosyaların görüntülenmesine neden olur. Dosya türü açılır listesinde, yalnızca M dosyalarını veya yalnızca grafik pencerelerini vb. veya tüm dosyaları seçebilirsiniz.

Kullanıcı bir dosya seçtiyse (dosya simgesine tıklayıp Aç düğmesine basarak veya dosya simgesine çift tıklayarak ya da Dosya Adı satırına dosya adını yazıp Aç düğmesine basarak), ardından FName dosya adı ve uzantısına sahip bir dize içerir ve PName dosyanın yoludur. Kullanıcı bir dosya seçmediyse ve pencereyi kapattıysa, FName = 0 ve PName = 0 olur. uigetfile işlevini çağırdıktan sonra, dosyanın seçilip seçilmediğini kontrol edin. Öyleyse, tam dosya adını almak için bu satırları birleştirin:

= uiget dosyası; if ~ isequal(FName, 0) FullName = strcat(PName, FName); % daha sonra dosya sonundaki verileri oku

Dosya filtresi uigetfile işlevinin ilk girdi bağımsız değişkeninde belirtilen, örneğin

= uigetfile("*.txt");

Dosya Türü listesi iki dize içeren bir dosya açma iletişim kutusu oluşturur: "*.txt" ve "Tüm Dosyalar (*.*)". Birden fazla uzantı belirtebilirsiniz, ancak daha sonra bir hücre dizisi dizisini kullanmanız gerekir:

= uigetfile(("*.txt"; "*.dat"));

Dosya türlerinin tanımını Dosya Türü listesine yerleştirmek için iki sütunlu bir hücre dizisi belirtmelisiniz. Satırlarının her biri dosya uzantısını ve açıklamasını belirtir (bu durumda, "Tüm Dosyalar (*.*)" satırı, dosya açma iletişim kutusunun Dosya Türü listesine eklenmez):

Filter=("*.txt", "Metin dosyaları (*.txt)"; "*.dat", "Veri dosyaları (*.dat)"; "*.res", "Sonuçlar (*.res)") ; = uigetfile(Filtre);

Dosya adına sahip bir dize filtre olarak da kullanılabilir, ardından dosya aç iletişim kutusu göründüğünde Dosya adı satırındadır ve uzantısı varsayılan uzantı olarak alınır ve Dosya Türü listesinde " ile birlikte görünür. Tüm Dosyalar (*.*)".

Kullanıcının Dosya Türü listesinde hangi dosya türünü seçtiğini bilmeniz gerekiyorsa, üç çıktı bağımsız değişkeniyle uigetfile öğesine başvurmalısınız:

= uigetfile(Filtre);

FilterIndex, dosya türü numarasını içerir.

İş için özel pencere başlığı bir dosyayı açmak için (Açılacak Dosyayı Seç yerine), uigetfile işlevi ikinci bir girdi bağımsız değişkeni ile çağrılır:

= uigetfile(Filtre, "Dosyayı Aç");

Ve bir dosya açma penceresi oluştururken belirtilen dosya adını Dosya Adı dizesine yerleştirmek için, bunu üçüncü girdi bağımsız değişkeninde belirtmeniz gerekir (dosya adı tam olarak nitelenebilir):

= uigetfile(Filtre, "Dosya Aç", "input.txt")

Böylece, örneğin D sürücüsünün kök dizini gibi herhangi bir klasörün içeriğini görüntüleyebilirsiniz:

= uigetfile(Filtre, "Dosya Aç", "d:\")

Not
MATLAB dosyalarını uigetfile'ın varsayılan olarak sunduğu şekilde açmak istiyorsak, ancak özel bir pencere başlığı (ve dosya aç iletişim kutusundaki varsayılan klasör veya dosya) belirtin, o zaman ilk giriş argümanı olan filtre atlanamaz. Boş bir dize olmalıdır:

= uigetfile("", "Dosyayı Aç", "d:\");

Kullanıcının kullanabilmesi için birden fazla dosya seç uigetfile öğesini aşağıdaki yollardan biriyle aramalısınız:

= uigetfile("MultiSelect", "açık"); veya = uigetfile("*.dat", "MultiSelect", "on"); veya = uigetfile("*.dat", "Dosya Aç", "d:\", "MultiSelect", "açık")

Kullanıcı iletişim kutusunda birden çok dosya seçtiyse, FName çıktı bağımsız değişkeni, seçilen dosyaların adlarının bir hücre dizisidir (PName, dosyalar aynı klasörde seçildiğinden, elbette bir dize olarak kalır). Tam dosya adlarına sahip bir hücre dizisi elde etmek için aşağıdaki kod yeterlidir (strcat işlevi, bir diziyi hücre dizileriyle birleştirebilir):

= uigetfile("MultiSelect", "açık"); if ~isequal(FName, 0) FullName = strcat(PName, FName); son

Farklı formatlardaki dosyaları açmak için MATLAB işlevleri

Dosyaları açmaktan bahsettiğimiz için farklı formatlardaki dosyalarla çalışmak üzere tasarlanmış ana MATLAB fonksiyonlarını vermek uygun olur.

yük- ikili veya metin dosyasından veri okuma.

açık- bir dosya açma. Açma yöntemi uzantıya bağlıdır:

  • eklenti m- dosya M-dosya düzenleyicisinde açılır;
  • eklenti mdl- model Simulink'te açılır;
  • eklenti mat- bir dosyadan yapının alanlarına ikili veri yazma, yapının alanlarının adları dosyaya kaydedilen değişkenlerin adlarıyla çakışır;
  • eklenti incir- grafik penceresi açılır;
  • eklenti p- aynı ada sahip bir m dosyası varsa, M dosyası düzenleyicisinde açılır;
  • uzantılar html- dosya, MATLAB yardım sisteminin tarayıcı penceresinde açılır;
  • eklenti pdf- dosya Adobe Acrobat'ta açılır (Windows'ta ilişkilendirme ile açılması gerekir);
Standart olmayan bir uzantıya sahip bir dosyayı açmak için, varsayılan olarak çağrılacak kendi işlevinizi yazabilirsiniz. Adı open kelimesinden ve uzantısından oluşuyor, örneğin dtm uzantılı dosyaları açmak için opendtm işlevini yazmalısınız. Örnek. hadi açılalım ikili dosyalar dtm uzantılı, isimleri farklı olabilen iki değişkenin değerlerini içeren. Bu değişkenlerin değerleri tezgahın zaman ve veri değişkenlerine yazılmalıdır. Ardından opendtm fonksiyon dosyasını yazıyoruz:

function opendtm(fname) % veriyi yapıya oku S = load("-mat", fname); % yapı alanlarının isimlerini bul (değişken isimleri) F = fieldnames(S); % Çalışma alanı değişkenlerine zaman ve veri atama değerleri atama assignin("base", "time", S.(F(1))) assignin("base", "data", S.(F(2)))

opendtm özelliğini şu şekilde kullanabilirsiniz:

A = 1:10; B = kare(A); save("my.dtm", "A", "B") % A ve B'yi ikili biçimde bir dosyaya yaz open("my.dtm") % opendtm çağrıları ve çalışma tezgahında zaman ve veriler oluşturulur

Not. uiopen işlevi, uigetfile ve open'ın gücünü birleştirir - bir açık dosya iletişim kutusu oluşturur ve ardından onu açmak için open'i çağırır.

winopen - verilen uzantıyla ilişkili uygulama tarafından Windows'ta bir dosyanın açılması, örneğin: winopen("art.doc") - art.doc'un MS Word'de açılması; winopen("my.txt") - my.txt dosyasını not defterinde aç; winopen("all.htm") - all.htm'yi web tarayıcısında açın.

not defteri- MS Word'de bir M-kitap açma veya oluşturma.

Yayınla- hücrelere bölünmüş bir M dosyasının yürütülmesi ve sonucun belirtilen biçimde kaydedilmesi: html, doc, ppt, xml, rpt, lateks.

doz ve sistem- komutları yürütmek (ayrıca bakınız!), yürütülebilir dosyaları başlatmak, örneğin:

sistem ("hesap")- hesap makinesini başlatın.

uiimport- çeşitli biçimlerdeki verileri içe aktarmak için İçe Aktarma Sihirbazı penceresini açar.

verileri içe aktar- dosya uzantısına bağlı olarak verileri içe aktarın, ayrıca sınırlandırılmış bir metin dosyasından veri okumak için de kullanışlıdır.

csvread- virgülle ayrılmış bir metin dosyasından sayısal verileri okuma.

dlmread- belirli bir sınırlayıcı ile bir metin dosyasından sayısal verileri okuma.

metin okuma, metin tarama- belirli bir formata sahip bir metin dosyasından veri okuma.

xlsread- MS Excel dosyalarından veri okuma.

dalga okumak- bir ses wav dosyasını okumak.

havai fişek- avi dosyasını okuma.

gömmek- grafik dosyalarını okuma.

Listelenen işlevlere ek olarak, dosyalarla çalışmak için düşük düzeyli işlevler vardır. İsimleri f harfi ile başlar:

fclose- dosyayı kapatmak.

feof- dosyanın sonuna ulaşılıp ulaşılmadığını kontrol edin.

korku- giriş-çıkış sırasında son hata hakkında bilgi alma.

fgetl- satır sonlandırıcı olmadan bir metin dosyasından bir satır okuma.

fget'lar- satır sonu karakteri olan bir metin dosyasından bir satır okuma.

fopen- bir dosya açma.

fprintf- kaydı dosyaya formatlayın.

korku- ikili dosyadan okuma.

rüzgar- dosyanın başına atla.

fscanf- bir dosyadan okuma biçimi.

fseek- dosyada belirtilen konuma atlayın.

ftell- dosyadaki mevcut konumu almak.

fwrite- ikili dosyaya yazma.

Veri okumak için tüm fonksiyonlar yardım sisteminde listelenmiştir: MATLAB: Fonksiyonlar -- Kategorik Liste: Dosya G/Ç.

Dosya iletişim kutusunu kaydet - uiputfile işlevi

uiputfile kullanımı, yukarıda tartışılan uigetfile ile benzerdir. Aynı şekilde, uzantı filtresi, pencere başlığı, dosya veya varsayılan yol ayarlanır. Aradaki fark, uiputfile'de "MultiSelect" seçeneğinin olmamasıdır (kaydederken buna gerek yoktur). Ayrıca, kullanıcı dosyayı kaydet iletişim kutusunda mevcut bir dosyanın adını seçerse, bir onay kutusu görünecektir. Evet'i seçmek, dosya kaydetme iletişim kutusunu kapatır ve Hayır, sizi dosya kaydetme penceresine döndürür. Kullanıcı eylemlerinin kontrol edilmesi ve tam dosya adının alınması, uigetfile durumunda olduğu gibi tamamen aynı şekilde yapılır.

Dosyalara Veri Kaydetmek için MATLAB Fonksiyonları

Çeşitli türlerdeki verileri depolamak için tasarlanmış ana MATLAB işlevlerini listeleyelim.

kaydetmek- metin ve ikili dosyalarda veri kaydetme

Not.
uisave işlevi, uigetfile ve save'in gücünü birleştirir - tüm çalışma ortamı değişkenlerini kaydedecek bir dosya kaydetme iletişim kutusu oluşturur.

csvwrite- virgülle ayrılmış bir metin dosyasına sayısal veri yazma.

dlmyaz- belirli bir sınırlayıcı aracılığıyla bir metin dosyasına sayısal veri yazma.

xlswrite- MS Excel formatında veri kaydı.

wavwrite- bir wav dosyası kaydetme.

avifile- bir avi dosyası oluşturur ve bunun için diğer işlevlerde kullanılan bir tanımlayıcı döndürür: addframe, close.

film2avi- her sütunu bir kare hakkında bilgi depolayan bir matristen bir avi dosyası oluşturma (bkz. fonksiyonlar: movie, getframe, im2frame).

yaz- bir grafik dosyası yazma.

Listelenen işlevlere ek olarak, adları f harfiyle başlayan dosyalarla çalışmak için düşük düzeyli işlevler vardır (yukarıdaki "Farklı Biçimlerdeki Dosyaları Açmak için MATLAB İşlevleri" bölümüne bakın).

Dizin seçimi iletişim kutusu - uigetdir işlevi

uigetdir işlevi, Klasöre gözat iletişim kutusunu açar ve seçilen dizine giden yolu veya kullanıcı bir seçim yapmadıysa null değerini döndürür. Bir dizinin seçili olup olmadığının kontrol edilmesi, dosya açma iletişim kutusu için uigetfile işlevinde olduğu gibi yapılır. uigetdir'i çağırmanın yolları:

dname=uigetdir- Geçerli MATLAB dizinini vurgulayan bir dizin seçimi iletişim kutusu açar.

dname = uigetdir("startpath")- belirtilen dizinin seçildiği bir dizin seçimi iletişim kutusu açar, örneğin: dname = uigetdir("c:\").

dname = uigetdir("startpath", "metin")- belirtilen dizinin seçildiği bir dizin seçimi iletişim kutusu açar ve belirtilen metni hiyerarşik bir dizin yapısıyla pencerenin üstüne yerleştirir. Geçerli MATLAB dizinini vurgulayan bir dizin seçimi iletişim kutusu açmak istiyorsanız, ilk giriş argümanı yerine boş bir dize sağlamalısınız: dname = uigetdir("", "text").

Katalogları Manipüle etmek için MATLAB Fonksiyonları

Kullanıcı bir dizin adı seçtikten sonra yapılacak diğer işlemler, dizinlerle çalışmak üzere tasarlanmış MATLAB işlevlerini kullanmayı içerir.

CD- mevcut MATLAB dizinini değiştir

yön- komut penceresinde bir dizinin içeriğini görüntülemek veya bir dizi yapıya içerik hakkında bilgi yazmak.

yol, yol- MATLAB arama yollarını yönetme.

Notlar.
Yol aracı işlevi, MATLAB arama yollarını kontrol etmek için özel bir Yol Ayarla iletişim kutusu görüntüler.
Dosya tarayıcı işlevi, geçerli dizinin içeriği, yeni bir geçerli dizin seçme ve MATLAB'da dosyaları açma yeteneği ile özel bir Geçerli Dizin iletişim kutusu görüntüler.

MATLAB'da kataloglarla çalışmak için tüm fonksiyonlar yardım sisteminde MATLAB altında listelenmiştir: Fonksiyonlar -- Kategorik Liste: Masaüstü Araçları ve Geliştirme Ortamı: Çalışma Alanı, Arama Yolu ve Dosya İşlemleri.

Yazı tipi seçimi iletişim kutusu - uisetfont işlevi

uisetfont işlevi iki amaç için kullanılabilir:
1) bir yazı tipi seçim diyalogu oluşturmak ve seçilen yazı tipi (ad, boyut, stil) hakkında yapıya bilgi yazmak;
2) bir yazı tipi seçimi diyalog kutusu oluşturmak ve bu pencerede yapılan ayarlara göre metin nesnelerini, eksen etiketlerini veya kontrollerini değiştirmek.

S=uisetyazı tipi- bir yazı tipi seçimi iletişim kutusunun görünümüne yol açar ve eğer seçim yapılmışsa, alanları aşağıdaki anlamlara sahip olan S yapısı döndürülür:

S.FontName - yazı tipi adıyla dize; S.FontUnits - ölçü birimleri ("noktalar"); S.FontSize - boyut; S.FontWeight - ağırlık ("normal" veya "kalın"); S.FontAngle - stil ("normal" veya "italik").

Kullanıcı bir yazı tipi seçmediyse ve pencereyi kapattıysa, S sıfırdır.

S = uisetfont(S0)- varsayılan yazı tipinin S0 yapısının alanlarının değerlerine göre seçildiği bir yazı tipi seçimi iletişim kutusunun görünümüne yol açar, örneğin:

S0.FontName = "Arial"; S0.FontUnits = "puan"; S0.FontSize = 20; S0.FontWeight = "kalın"; S0.FontAngle = "normal"; S = uisetfont(S0)

S = uisetfont("Pencere başlığı") veya S = uisetfont(S0, "Pencere başlığı")- önceki seçeneklerle aynı, yalnızca yazı tipi seçim penceresinin belirli bir başlığı vardır.

uisetfont(h)- bir metin nesnesi, eksenler veya h işaretçisi olan bir kontrol için yazı tipi seçimi iletişim kutusunu çağırın.

uisetfont(h, "Pencere başlığı")- uisetfont(h) ile aynı, sadece yazı tipi seçim kutusu verilen başlığa sahiptir.

S = uisetfont(h), S = uisetfont(h, "Pencere başlığı")- önceki iki seçenekle aynı, S yapısında ek olarak yalnızca kullanıcının seçimiyle ilgili bilgiler döndürülür.

Grafik nesnelerinin yazı tipini değiştirmeye bir örnek

hA = eksenler; % eksenleri oluştur plot(rand(10)) % grafiği çiz hT = title("Rastgele Grafik") % başlığı ekle % eksen yerleşimi için yazı tipini seçmek için diyalog kutusunu aç uisetfont(hA, "Eksenler için yazı tipini ayarla "); % başlık yazı tipini seçmek için diyalog kutusunu aç uisetfont(hT, "Başlık için yazı tipini ayarla"); Renk Seçici İletişim Kutusu - uisetcolor İşlevi

uisetfont gibi uisetcolor işlevi iki amaç için kullanılabilir:
1) bir renk seçimi iletişim kutusu oluşturmak ve seçilen rengi RGB formatında bir vektöre yazmak;
2) Renk seçimi diyalog kutusu oluşturma ve bu pencerede yapılan ayarlara göre Color özelliğine sahip grafik nesnelerini değiştirme.

C = uisetcolor- bir renk seçimi iletişim kutusu oluşturma (içindeki mevcut renk varsayılan olarak beyazdır) ve seçilen rengi RGB formatında C vektörüne yazma. Kullanıcı bir seçim yapmadıysa, C sıfırdır.

C = uisetcolor(C0)- önceki sürümle aynı, yalnızca renk seçimi iletişim kutusunda, geçerli renk, RGB'de C0 vektörü tarafından belirtilen renktir. Kullanıcı bir seçim yapmadıysa, C, C0 ile aynıdır.

C = uisetcolor("Pencere başlığı"), C = uisetcolor(C0, "Pencere başlığı")- önceki sürümle aynı, yalnızca renk seçimi iletişim kutusunun belirli bir başlığı var.

uisetcolor(h)- h işaretçisiyle bir grafik nesnesinin rengini ayarlamak için bir renk seçimi iletişim kutusu açma (grafik nesnesi Color özelliğine sahip olmalıdır).

uisetcolor(h, "Pencere başlığı")- öncekine benzer, ancak iletişim kutusunun belirli bir başlığı var.

C = uisetcolor(h) veya C = uisetcolor(h, "Pencere başlığı")- son iki yöntemle aynı. Nesnenin rengini değiştirmeye ek olarak, seçilen renk RGB formatında C vektörüne yazılır.

Grafik nesnelerin rengini değiştirmeye bir örnek.

hA = eksenler; % eksen oluşturma % çizim x = 0:0.1:10; y = günah(x); hL = plot(x,y) hT = title("Rastgele Grafik") % başlık ekle % çizgi rengini seçmek için diyalog kutusunu aç uisetcolor(hL, "Çizgi rengini seç") % başlık rengini seçmek için diyalog kutusunu aç uisetcolor(hT, "Başlık rengini seçin") % eksen rengini seçmek için diyalog kutusunu açın uisetcolor(hA, "Eksen rengini seçin")

İlerleme çubuğu olan pencere - bekleme çubuğu işlevi

Bekleme çubuğu işlevi, ilerleme çubuğu olan bir pencere oluşturur ve onu güncellemenize olanak tanır.

h = bekleme çubuğu(x, "metin")- ilerleme çubuğu ve çubuğun üzerinde belirtilen metni içeren bir pencere görüntüler. İlerleme çubuğunun uzunluğu, 0 ile 1 arasında olması gereken x değeriyle orantılıdır. Çıktı argümanı h, ilerleme çubuğu ile grafik penceresinin bir göstergesidir.

bekleme çubuğu(x, h)- ilerleme çubuğunun uzunluğunu h imleciyle x değerine göre artırır.

% boş ilerleme çubuğu olan pencere oluştur h = waitbar(0, "Özdeğer problemlerini çözme..."); i=1:100 için A = rand(30); L = eig(A); waitbar(i/100) % ilerleme çubuğunu güncelle bitiş % ilerleme çubuğu kapalıyken grafik penceresini sil kapat(h)

Çubuğun bir çokgen nesnesi olduğu, eksenlerin soyundan geldiği ve bunun da bekleme çubuğu işlevi tarafından oluşturulan grafik penceresinin soyundan geldiği göz önüne alındığında, çubuğun rengi değiştirilebilir. Örnek:

% boş ilerleme çubuğu olan pencere oluştur h = waitbar(0, "Özdeğer problemlerini çözme..."); % çokgen nesnesine işaretçi araması hP = findobj(h, "Tür", "patch"); % poligon nesnesinin iç ve kenarlık rengini ayarla set(hP, "FaceColor", "g", "EdgeColor", "g") for i=1:1000 waitbar(i/1000, h) end close( h)

Pencerenin kendisinin özellikleri, hem bir işaretçi hem de bekleme çubuğu işlevinin giriş argümanlarında pencere özelliklerini ayarlamanıza izin verdiği gerçeği kullanılarak değiştirilebilir, örneğin:

h = waitbar(0, "Sadece beyaz", "Renk", "w", "Ad", "program");

Düğmelerle bir iletişim kutusu oluşturma - menü işlevi

Menü işlevi, verilen etiketlerle bir sütunda düzenlenmiş metin ve düğmeler içeren bir pencere oluşturur. Kullanıcı düğmeye tıkladıktan sonra, menü işlevinin çıktı argümanında numarası döndürülür.

button = menu("Yöntem seç", "Newton", "Gauss", "Zeidel")

Kullanıcı bir seçim yapmadıysa, buton = 0.

Kodlar

Komut satırında çalışmanın yanı sıra komutları çalıştırmanın başka bir yolu daha vardır. Bu programlar yazıyor.

Komut dosyası, ".m" uzantılı bir dosyaya yazılan MATLAB komutları dizisidir. Bunlar normal metin dosyalarıdır. Bunları yazmak için herhangi bir metin düzenleyiciyi kullanabilirsiniz.

Bir komut dosyası oluşturmak için, genel olarak, elinizde normal bir metin düzenleyiciye sahip olmak yeterlidir. MATLAB ortamında yerleşik düzenleyiciyi kullanacağız. Yeni bir komut dosyası oluşturmak için sol üst köşedeki "Yeni Komut Dosyası" düğmesini kullanın. Bu düğmeye bastıktan sonra bir metin düzenleyici penceresi açılacaktır (Şekil 5).

Şekil 5. MATLAB Code Editor Küçük bir program oluşturalım:

fprintf("Merhaba Dünya!\n")

Şimdi bu betiği kaydetmeniz gerekiyor, bunun için sol üst köşedeki "Kaydet" düğmesine tıklamanız gerekiyor, ardından MATLAB onu mevcut dizine ("Geçerli Klasör") kaydetmeyi teklif edecek. Komut dosyasına "Example1.m" adını verelim ve kaydedelim. Komut dosyasının geçerli dizine kaydedilmesi arzu edilir, bu nedenle MATLAB çalıştırılacak komut dosyalarını arayacaktır.


MATLAB dahili değişken yolunda listelenen klasörlerde. Bu liste aynı zamanda MATLAB ortamında sağda özel bir kayan alanda görüntülenen geçerli dizini de içerir. Varsayılan olarak, komut dosyası geçerli dizine kaydedilir, böylece onu hemen arayabilirsiniz. Komut satırına adını (kaydedildiği m-dosyasının adı) girerek ve kod düzenleyicide "Enter" veya "Çalıştır" düğmesine basarak komut dosyasını yürütmeye başlatabilirsiniz. Her iki durumda da komut penceresi aşağıdaki çıktıyı görüntüler:

>> Örnek1 Merhaba Dünya!

Başka bir örnek düşünelim. Bir komut dosyası var:

x = 0:0.02:2*pi; a = 0.3;

y = a * günah(x) + b * cos(x); arsa(x, y)

Örnek2.m dosyasına kaydedelim ve yürütme için çalıştıralım. Sonuç olarak MATLAB, y = a sin(x )+ b cos(x ) fonksiyonunu hesaplayacak ve çizecektir.

Ayrıca, komut dosyasının yürütülmesinden sonra, Çalışma Alanı penceresinde x , a , b ve y değişkenlerinin göründüğünü de not ediyoruz. Bunun neden böyle olduğunu açıklamak için MATLAB'da çalışma alanı olarak çok önemli bir kavramı düşünün.

MATLAB'de çalışma alanı

MATLAB sisteminin çalışma alanı, sistem değişkenlerinin bulunduğu bellek alanıdır. MATLAB'deki çalışma alanları iki tiptir:

temel çalışma alanı - temel çalışma alanı;

fonksiyon çalışma alanı - fonksiyon çalışma alanı.

Çalışma alanındaki tüm değişkenler, bu çalışma alanıyla çalışırken bildirildikleri andan itibaren clear komutu kullanılarak açıkça silinene kadar veya çalışma alanının geçerliliğinin sonuna kadar, örneğin temel çalışma alanı için bu, MATLAB'ı kapatır.

Komut dosyası çalıştırıldığında, yeni bir çalışma alanı oluşturmaz, ancak çağrıldığı çalışma alanı ile çalışır.

Komut penceresinden scripti çağırdığımızda, base workspace ile çalışır, yani script çağrılmadan önce oluşturduğumuz tüm değişkenlere erişimi olur. Ayrıca, komut dosyası daha fazla değişken oluşturursa, bunlar daha sonra kullanılabilir durumda kalacaktır.


onun tamamlanması.

Yorumlar

Yazdığınız kod hakkında yorum yapmak kod yazarken iyi bir uygulamadır. Yorumlar, programın çalışmasını hiçbir şekilde etkilemez ve ek bilgi sağlamaya hizmet eder. Yorumlar, diğer insanların algoritmanızı anlamasına yardımcı olacak ve programladığınız şeyi çoktan unuttuğunuzda, belirli bir süre sonra yazdıklarınızın özünü hatırlamanıza yardımcı olacaktır. MATLAB, bir yorumun başlangıcını belirtmek için "%" karakterini kullanır.

% Düzgün dağılmış rasgele sayılar üretme

% Üretilen sayıların matematiksel beklentisini hesaplama

% Verileri Grafikte Görüntüleme

% 50 rastgele sayılar

% Rastgele bir vektör oluştur ve ata

r değişkeninin değerleri

% Oluşturulan vektörü grafikte göster

% Bir çizgi çiz

(0, m) ve (n, m) ile

% Değerlerin aritmetik ortalamasını hesaplayın

vektör r

komplo(,)

title("Rastgele Tekdüzen Verilerin Ortalaması") % Grafik Başlığı

Fonksiyonlar

MATLAB programlarının bir diğer türü de fonksiyonlardır. Komut dosyalarından farklı olarak, bir işlev çağrıldığında yeni bir çalışma alanı oluşturur, bu nedenle kodunun dışında bildirilen değişkenler işlevin içinde görünmez. Bu nedenle, işlevi harici kodla ilişkilendirmek için giriş ve çıkış parametreleri kullanılır. Bir işlev bildiriminin genel sözdizimini düşünün:

fonksiyon = fonksiyon_adı(x1,...,xM) operatör_1 operatör_2

operatör_n sonu

İşlev ayrı bir m dosyasında bulunur.

Bir fonksiyon, function anahtar sözcüğü ve ardından kare ile başlar


virgülle ayrılmış parantezler, çıktı değişkenlerinin adlarıdır. Ardından "=" işareti ve işlevin adı gelir. Bir işlev adı, değişken adlarıyla aynı kuralları izler. Ayrıca, işlevin adının, tanımlandığı dosyanın adıyla mutlaka eşleşmesi gerektiğini unutmayın. Parantez içindeki işlev adından sonra virgülle ayrılmış giriş parametrelerinin adları bulunur.

Aşağıdaki satırlar, işlevin gövdesini (herhangi bir geçerli MATLAB ifadesi) içerir.

İşlev, sonunda end anahtar sözcüğüyle biter, ancak isteğe bağlıdır ve atlanabilir.

Ayrıca, işlev yalnızca bir parametre döndürürse, onu köşeli parantez içine almanın gerekli olmadığını unutmayın, örneğin:

fonksiyon s = triaArea(a, b)

% dik üçgenin alanını hesaplama

% a, b - üçgenin bacakları

s = bir * b / 2; son

İşlev hiç parametre döndürmezse, işlev anahtar sözcüğünden hemen sonra işlevin adı gelir, örneğin:

işlev merhabaDünya()

Giriş ve çıkış parametreleri olmayan % fonksiyon örneği disp("Merhaba dünya!");

Bir işlevi çağırmak için aşağıdaki sözdizimi kullanılır:

işlev_adı(z1,...,zM)

burada k1, ..., kN fonksiyonun çıkış değerlerinin yazılacağı değişkenler, AZ1,...,zM ise fonksiyon argümanlarıdır.

İşlev yalnızca bir parametre döndürürse, köşeli parantezler atlanabilir, örneğin:

s = triaAlan(1,2)

Gerçek ve biçimsel işlev parametreleri

Gerçek ve biçimsel işlev parametreleri arasında ayrım yapmak önemlidir:

gerçek parametre - çağrıldığında işleve iletilen argüman;

biçimsel parametre - bir işlevi bildirirken veya tanımlarken belirtilen bir argüman.

Bu farkı bir örnekle açıklayalım.