Matlab - teknik hesaplama problemlerini çözmek için bir uygulamalı program paketi - kurulum ve konfigürasyon. Matlab Temelleri

  • 29.07.2019

Anlatım 3. MATLAB ortamında programlama.

1. M dosyaları. ................................................................ ................................................................ ................................................................

1.1. Editör'de çalışıyor M-dosyaları. ................................................................ ................................................................ ...

1.2. M dosyalarının türleri. Program dosyası. ................................................................ ................................................................

1.3. Dosya işlevleri. ................................................................ ................................................................ ................................................

Dosya işlevleri bir giriş argümanı ile.......................................................................................

Dosya işlevleri çoklu giriş argümanları ile........................................................................

Dosya işlevleri birden fazla çıktı argümanı ile.....................................................................

1.4. Alt fonksiyonlar. ................................................................ ................................................................ ................................................

2. Programlama dilinin kontrol yapıları....................................................................

2.1. Döngü operatörleri..............................................................................................................................

Döngü için. ................................................................ ................................................................ ................................................

Döngü sırasında. ................................................................ ................................................................ ................................................

2.2. Şube operatörleri....................................................................................................................

koşullu operatör Eğer. ................................................................ ................................................................ ................................

Anahtar deyimi. ................................................................ ................................................................ ................................

2.3. Break, Continue ve return deyimleri. ................................................................ ................................................

2.4. MATLAB'da rasyonel programlama teknikleri........................................................

Birçok matematiksel sistem, kullanıcının problemlerini çok az programlama ile veya hiç programlama ile çözeceği varsayımıyla oluşturulmuştur. Ancak, böyle bir yolun sakıncaları olduğu ve genel olarak kusurlu olduğu en başından belliydi. Birçok görev, algoritmalarının yazılmasını basitleştiren ve bazen ikincisini oluşturmak için yeni yöntemler açan gelişmiş programlama araçları gerektirir.

Bir yandan MATLAB, daha önce oldukça karmaşık programlar hazırlamak için gerekli olan birçok pratik sorunu başarıyla çözen çok sayıda yerleşik operatör ve işlev (bin'e yakın) içerir. Örneğin, bunlar matrisleri ters çevirme veya aktarma, türev veya integral değerlerini hesaplama vb. Gibi işlevlerdir. Sistemin genişleme paketlerini dikkate alarak bu tür işlevlerin sayısı zaten binlerce kişiye ulaşır ve sürekli artıyor. Ancak öte yandan, başlangıcından bu yana MATLAB, teknik hesaplamalar için güçlü bir matematik odaklı programlama dili olarak oluşturulmuştur. yüksek seviye. Ve birçoğu, haklı olarak, sistemin yeni, en karmaşık matematik problemlerini çözmek için uygulama olasılığını gösteren önemli bir avantajı olarak gördü.

MATLAB, BASIC'e benzeyen bir giriş diline sahiptir (Fortran ve Pascal dokunuşuyla). Sistemde program yazmak gelenekseldir ve bu nedenle çoğu bilgisayar kullanıcısına aşinadır. Ayrıca sistem, kullanıcıya aşina olan herhangi bir metin düzenleyiciyi kullanarak programları düzenlemeyi mümkün kılar. Ayrıca bir hata ayıklayıcı ile kendi editörüne sahiptir. MATLAB sistem dili, matematiksel hesaplamaları programlama açısından, herhangi bir evrensel üst düzey programlama dilinden çok daha zengindir. Nesne yönelimli ve görsel programlama dahil olmak üzere neredeyse tüm bilinen programlama araçlarını uygular. Bu, deneyimli programcılara kendilerini ifade etmeleri için geniş fırsatlar sunar.

1. M dosyaları.

V Önceki derslerde, yürütmek için komut satırına birkaç komut yazmayı gerektiren oldukça basit örneklere baktık. Daha karmaşık görevler için komutların sayısı artar ve komut satırında çalışmak verimsiz hale gelir. Komut geçmişini kullanma,

ortam değişkenlerini kaydetme veya günlük içeren bir günlük tutma ihmal edilebilir

iş verimliliğini artırmak. Etkili bir çözüm, çalışma ortamından veya editörden çalıştırılabilen programlar (M-files) şeklinde kendi algoritmalarınızı tasarlamaktır. MATLAB'deki yerleşik M-dosya düzenleyicisi, yalnızca programın metnini yazıp tamamen veya kısmen çalıştırmanıza değil, aynı zamanda algoritmada hata ayıklamanıza da izin verir. M dosyalarının ayrıntılı bir sınıflandırması aşağıda verilmiştir.

1.1. M dosyalarının düzenleyicisinde çalışın.

M-dosyalarını hazırlamak, düzenlemek ve hata ayıklamak için özel bir çok pencereli düzenleyici kullanılır. Tipik bir Windows uygulaması gibi tasarlanmıştır. Düzenleyici, komut satırından edit komutuyla veya ana menüdeki komutla Dosya | Yeni | M-dosyası. Bundan sonra, editör penceresinde kendi dosyanızı oluşturabilir, hata ayıklamak ve başlatmak için araçları kullanabilirsiniz. Dosyayı çalıştırmadan önce, Dosya | Editör menüsünde farklı kaydedin.

Şekil 1, düzenleyici / hata ayıklayıcı penceresini göstermektedir. Dosyanın hazırlanan metni (bu en basit ve MATLAB programlama dilindeki ilk programımızdır) diske yazılabilir. Bunu yapmak için, belirtilen ada sahip bir dosya yazmak için standart bir Windows penceresi kullanan Farklı Kaydet komutunu kullanın. M-dosyasının adının benzersiz olması gerektiğine ve dosya adı gereksiniminin MATLAB ortam değişken adlarıyla aynı olduğuna dikkat edin. Dosya diske yazıldıktan sonra, araç çubuğundan veya Hata Ayıklama menüsünden Çalıştır komutunu çalıştırabilir veya ., m-dosyasını yürütmek için.

İlk bakışta, editör/hata ayıklayıcı, kullanıcı-MATLAB zincirinde sadece fazladan bir bağlantı gibi görünebilir. Gerçekten de, dosyanın metni sistem penceresine girilebilir ve aynı sonucu alabilir. Ancak gerçekte editör/hata ayıklayıcı önemli bir rol oynar. Komut modunda çalışmaya eşlik eden çok sayıda "kabuk" olmadan bir m dosyası (program) oluşturmanıza olanak tanır. Böyle bir dosyanın metni, birçok kullanıcı hatasının belirlendiği ve ortadan kaldırıldığı kapsamlı bir sözdizimi kontrolüne tabi tutulur. Böylece editör, dosyanın sözdizimsel kontrolünü sağlar.

Düzenleyicinin başka önemli hata ayıklama araçları vardır - dosya metninde kesme noktaları adı verilen özel etiketler ayarlamanıza olanak tanır. Bunlara ulaşıldığında, hesaplamalar duraklatılır ve kullanıcı, hesaplamaların ara sonuçlarını değerlendirebilir (örneğin, değişkenlerin değerleri), döngülerin doğruluğunu kontrol edebilir, vb. Son olarak, editör yazmanıza izin verir. metin formatında bir dosya oluşturun ve çalışmanızı MATLAB dosya sisteminde ölümsüzleştirin.

Düzenleyici / hata ayıklayıcı ile çalışmanın rahatlığı için, içindeki program satırları sıralı olarak numaralandırılmıştır. Editör çok pencerelidir. Her programın penceresi bir sekme olarak tasarlanmıştır. Hata ayıklayıcı düzenleyici, değişkenlerin değerlerini görüntülemeyi kolaylaştırır. Bunu yapmak için, fare imlecini değişken adına getirin ve basılı tutun - değişkenin adı ve değeri ile birlikte bir araç ipucu görünecektir.

M-dosya düzenleyicisinin çok kullanışlı bir özelliği, bazı komutların yürütülmesi. Bunu yapmak için, içerik menüsünden veya Metin ana menüsünden Seçimi Değerlendir komutunu veya sadece fonksiyon tuşunu kullanın. seçilen program metnini yürütmenize izin verir.

Pirinç. 1. M dosyaları düzenleyicisinin penceresi.

1.2. M-dosyalarının türleri. Program dosyası.

MATLAB'de iki tür M dosyası vardır: Bir dizi komut içeren Komut Dosyası M Dosyaları ve kullanıcı tanımlı işlevleri tanımlayan İşlev M Dosyaları.

Dosya programları, M dosyalarının en basit türüdür. Girdi veya çıktı argümanları yoktur ve üretim ortamında var olan değişkenler üzerinde çalışırlar veya yeni değişkenler oluşturabilirler. Bir önceki bölümü okuduğunuzda mydemo program dosyasını yazmışsınız. Program dosyasında bildirilen tüm değişkenler, yürütüldükten sonra üretim ortamında kullanılabilir hale gelir. Şekil 1'deki listede gösterilen mydemo program dosyasını çalıştırın. Çalışma Alanı penceresine gidin ve M dosyasına girilen tüm değişkenlerin çalışma alanında göründüğünden emin olun. Bir M dosyasının yürütülmesi sırasında oluşturulan tüm değişkenler, tamamlandıktan sonra çalışma ortamında kalır ve diğer dosya programlarında ve komut satırından yürütülen komutlarda kullanılabilir.

Dosya programı iki şekilde başlatılabilir.

1. Yukarıda açıklandığı gibi M-dosya düzenleyicisinden.

2. Komut satırından veya başka bir dosya-program, bu durumda M-dosyasının adı (uzantısız) komut olarak kullanılır. İkinci yöntemin kullanımı, özellikle oluşturulan dosya programı daha sonra tekrar tekrar kullanılacaksa çok daha uygundur. Aslında oluşturulan M dosyası, MATLAB'ın anlayacağı bir komut haline gelir.

Tüm grafik pencerelerini kapatın ve komut satırına mydemo yazın, mydemo.m program dosyasındaki komutlara karşılık gelen bir grafik penceresi görünür. MATLAB mydemo komutunu girdikten sonra aşağıdaki işlemleri gerçekleştirir.

1. Girilen komutun bir isim olup olmadığını kontrol eder tanımlanan değişkenlerden herhangi biri

v çalışma ortamı. Bir değişken girilirse, değeri görüntülenir.

2. Herhangi bir değişken girilmezse MATLAB, girilen komutu yerleşik işlevler arasında arar. Komut yerleşik bir işlev olduğu ortaya çıkarsa, yürütülür.

3. Değişken olmayan ve yerleşik olmayan bir fonksiyon girilirse, MATLAB aramaya başlar. Komutun adı ve m uzantısına sahip M dosyası. Arama ile başlar geçerli dizin(Geçerli Dizin); M-dosyası içinde bulunamazsa, MATLAB arama yolunda (Yol) ayarlanan dizinleri arar. (Geçerli dizini ayarlamak için araç çubuğundaki aynı adla seçim penceresini veya cd komutunu kullanabilirsiniz. Arama yolları kullanılarak ayarlanır.

Dosya menüsündeki Yol Ayarla komutunu kullanarak veya addpath komutunu kullanarak).

Yukarıdaki eylemlerin hiçbiri başarıya yol açmadıysa, örneğin bir hata yaparsanız komut penceresinde bir mesaj görüntülenir.

MATLAB arama dizisi, bir M-dosyasına kaydederken kendi program dosyanızı doğru bir şekilde adlandırmanın çok önemli olduğunu gösterir. İlk olarak, adı MATLAB'deki mevcut fonksiyonların adıyla aynı olmamalıdır. Mevcut fonksiyonu kullanarak bir ismin alınıp alınmadığını öğrenebilirsiniz.

İkinci olarak, dosya adı, bir ifade girerken MATLAB tarafından hata olarak yorumlanabilecek karakterlere sahip bir kelimede bir rakam, "+" veya "-" işaretleri ile başlamamalıdır. Örneğin, M dosyasını 5prog.m program dosyasıyla adlandırırsanız, düzenleyici menüsünden başlattığınızda veya bir hata mesajı alın. Bu şaşırtıcı değildir, çünkü MATLAB prog ile aritmetik ifadeyi değerlendirmek için 5 + prog (veya 5, prog) olmasını bekler (veya prog satır vektörüne ilk eleman olarak 5 ekleyin). Bu nedenle, doğru ad prog5.m (veya en azından p5rog.m) olacaktır, ancak yalnızca bir harfle başlamalıdır.

Bir M-dosyasının vurgulanmış komutlarını (tüm komutlar vurgulanabilir) kullanarak yanlış bir adla çalıştırırsanız, lütfen unutmayın. , o zaman hata olmayacak. Aslında, komut satırından çağrılmasından farklı olmayan ve bir dosya programının çalışmasından farklı olmayan komutların sıralı yürütülmesi gerçekleşir.

Bir dosya programının adını belirtirken, ilk bakışta anlaşılmaz sonuçlara yol açan çok yaygın bir hata daha vardır: program yalnızca bir kez başlatılır. Yeniden başlatma programı yürütmez. Bu duruma, mydemo.m dosyasına kaydettiğiniz Liste 5.1'deki dosya programı örneğini kullanarak bakalım. Dosyayı x.m olarak yeniden adlandırın, ardından tüm çalışma alanı değişkenlerini Çalışma Alanı Değişkenleri Tarayıcısı penceresinden veya komut satırından kaldırın:

>> hepsini temizle

Program dosyasını, örneğin düzenleyiciden düğmesine basarak yürütün. ... İki grafikli bir grafik penceresi belirir ve hiçbir şey için iyiye işaret etmez. Şimdi grafik penceresini kapatın ve programı yeniden başlatın. Grafik penceresi artık oluşturulmaz, ancak x dizisinin değerleri, yukarıdaki MATLAB arama algoritmasının ilk paragrafına göre komut penceresinde görüntülenir. Dosya programının adını seçerken bu koşullar dikkate alınmalıdır. Aynı derecede önemli bir soru da MATLAB arama algoritmasının üçüncü noktası olan geçerli dizin ve arama yolları ile ilgilidir. Tipik olarak, kendi M dosyalarınız kullanıcının dizinlerinde saklanır. MATLAB'ın onları bulması için, M dosyalarının konumunu gösteren yolları ayarlamanız gerekir.

1.3. Dosya işlevleri.

Yukarıdaki dosya programları bir MATLAB komutları dizisidir; girdi ve çıktı argümanları yoktur. Hesaplama problemlerini çözmek ve kendi uygulamalarınızı MATLAB'da yazmak için, genellikle gerekli işlemleri girdi argümanlarıyla gerçekleştiren ve sonucu çıktı argümanlarında döndüren dosya fonksiyonlarını programlamanız gerekir. Girdi ve çıktı argümanlarının sayısı çözülmekte olan probleme bağlıdır - sadece bir girdi ve bir çıktı argümanı, her ikisinden birkaçı veya sadece girdi argümanları olabilir.

Giriş ve çıkış argümanlarının olmaması mümkündür. Bu bölüm, dosya işlevleriyle nasıl çalışacağınızı anlamanıza yardımcı olacak birkaç basit örnek içermektedir. Dosya programları gibi dosya işlevleri M-dosya düzenleyicisinde oluşturulur.

Bir giriş bağımsız değişkeni ile dosya işlevleri.

Hesaplamalarda sıklıkla bir işlev değeri kullanmanız gerektiğini varsayalım:

- xx 2

Bir kez bir dosya işlevi yazmak ve ardından belirli bir argüman için bu işlevi hesaplamak için gerekli olan her yerde onu çağırmak mantıklıdır. Bunu yapmak için M-dosya düzenleyicisinde yeni bir dosya açın ve metni yazın:

f fonksiyonu = eğlencem (x)

İlk satırdaki işlev sözcüğü, bu dosyanın bir işlev dosyası içerdiğini belirtir. İlk satır fonksiyon başlığı, işlevin adını ve giriş ve çıkış argümanlarının listelerini içerir. Giriş argümanları, fonksiyon adından sonra parantez içinde yazılır. Örneğimizde, yalnızca bir girdi argümanı vardır, x. f çıktı bağımsız değişkeni, işlev başlığındaki eşittir işaretinin solunda görünür. Dosya fonksiyonunun adını seçerken, MATLAB'de kullanılan isimlerle çakışma olmamasına dikkat edilmelidir. Benzer bir soruyu yukarıda tartıştık: bir program dosyasını benzersiz bir ada sahip bir dosyaya nasıl kaydedebiliriz. Dosya işlevinin adını belirtmek için var olan işleve yapılan çağrıya dayalı olarak aynı yaklaşımı kullanabilirsiniz.

Başlıktan sonra, dosya işlevinin gövdesi yerleştirilir - girdi değişkenlerinden çıktı değişkenlerinin değerini elde etmek için algoritmayı uygulayan bir veya birkaç operatör (bunlardan oldukça fazla olabilir). Örneğimizde, algoritma basittir - verilen bir x için aritmetik bir ifade hesaplanır ve sonuç f'ye yazılır.

Şimdi dosyayı çalışma dizinine veya MATLAB tarafından bilinen başka bir yere kaydetmeniz gerekiyor. Dosya menüsünün Kaydet veya Farklı Kaydet ... öğelerini seçtiğinizde, varsayılan dosya adı myfun işlevinin adıyla aynıdır. İşlev dosyasını bu önerilen adla kaydetmelisiniz. Artık oluşturulan işlev, örneğin komut satırından yerleşik sin, cos ve diğerleri ile aynı şekilde kullanılabilir:

>> y = eğlencem (1.3) y =

myfun dosya fonksiyonunu oluştururken, atama ifadesini noktalı virgülle sonlandırarak f'nin komut penceresine çıktısını bastırdık. Bu yapılmazsa, y = myfun (1.3) çağrılırken görüntülenecektir. Kural olarak, bir dosya işlevi içindeki komut penceresine ara hesaplama sonuçlarının çıktısını vermekten kaçınmak daha iyidir.

Önceki örnekte gösterilen dosya işlevinin önemli bir dezavantajı vardır. Bir diziden fonksiyon değerlerini hesaplamaya çalışmak, yerleşik fonksiyonlarda olduğu gibi bir değerler dizisinden ziyade bir hata ile sonuçlanır.

>> x =;

>> y = eğlencem (x)

??? ==> kullanılırken hata ^ Matris kare olmalıdır.

==> C: \ MATLAB6p5 \ work \ myfun.m'de hata

2. satırda ==> f = exp (-x) * sqrt ((x ^ 2 + 1) / (x ^ 4 + 0.1));

Açıkçası, bu hatayı önlemek için eleman bazında işlemleri kullanmak gerekir. Özellikle fonksiyonumuzun doğru çalışması için fonksiyonun metni aşağıdaki biçimde yeniden yazılmalıdır:

f fonksiyonu = eğlencem (x)

f = exp (-x) * sqrt ((x. ^ 2 + 1) ./ (x. ^ 4 + 0.1));

Şimdi myfun işlevinin argümanı bir sayı veya bir vektör veya bir değerler matrisi olabilir, örneğin:

>> x =;

>> y = eğlencem (x)

myfun işlevinin çağrılmasının sonucunun yazıldığı y değişkeni, otomatik olarak gerekli boyutta bir vektör olur.

Fonksiyonların kullanımına bir örnek verelim. Bir dosya programı kullanarak veya komut satırından myfun işlevini bir segmente çiziyoruz:

>> x = 0: 0,5: 4;

>> y = eğlencem (x);

>> arsa (x, y)

MATLAB kullanarak hesaplama problemlerini çözmek, eldeki göreve karşılık gelen dosya fonksiyonlarını programlayabilmenizi gerektirecektir (örneğin, bir diferansiyel denklem sisteminin veya bir integralin sağ tarafı).

Şimdi dosya işlevlerini kullanmanın matematiksel işlevleri görselleştirmeyi nasıl kolaylaştırdığına dair basit bir örneğe bakacağız. Şimdi arsa kullanarak bir arsa çizdik. y vektörünü hesaplamak için myfun çağırmanın gerekli olmadığını unutmayın - bunun için hemen bir ifade yazabilir ve ardından bir çift x ve y girişi belirtebilirsiniz. Bizim emrimizde olan myfun dosya işlevi, dosya işlevimizin adını (kesme işareti içinde) veya bir işaretçiyi (işlev adının önünde @ operatörü ile) ve sınırlarını belirtmesi gereken özel fplot işlevini çağırmamızı sağlar. grafiği çizmek için segmentin (iki elemanlı bir vektörde)

>> fplot ("benim eğlencem",)

>> fplot (@myfun,)

Argümanın adımını otomatik olarak seçmek için fplot işlevinin algoritması eklenmelidir, bu, kullanıcıya verilerin iyi bir görüntüsünü veren, incelenen işlevin hızlı değişim alanlarında onu azaltır.

Birden çok giriş bağımsız değişkenine sahip dosya işlevleri.

Birkaç girdi argümanıyla dosya fonksiyonları yazmak, bir argüman durumundaki ile pratik olarak aynıdır. Tüm girdi bağımsız değişkenleri virgülle ayrılmış bir listeye yerleştirilir. Aşağıdaki örnek, üç boyutlu bir noktanın yarıçap vektörünün uzunluğunu hesaplayan bir dosya işlevi içerir.

boşluklar x 2 + y 2 + z 2.

fonksiyon r = yarıçap3 (x, y, z) r = sqrt (x. ^ 2 + y. ^ 2 + z. ^ 2);

>> R = yarıçap3 (1, 1, 1)

MATLAB, birden çok bağımsız değişkene sahip işlevlere ek olarak, birden çok değer döndüren, yani birden çok çıktı bağımsız değişkenine sahip işlevler oluşturmanıza olanak tanır.

Birden çok çıktı bağımsız değişkenine sahip dosya işlevleri.

Birden çok çıktı bağımsız değişkenine sahip dosya işlevleri, birden çok değer döndüren işlevleri değerlendirmek için kullanışlıdır (matematikte bunlara vektör işlevleri denir). Çıktı argümanları, çıktı argümanları listesine virgülle ayrılmış olarak eklenir ve listenin kendisi köşeli parantez içine alınır. Aşağıdaki örnek, saniye cinsinden bir zamanı saat, dakika ve saniyeye dönüştürmek için bir hms dosyası işlevi sağlar:

fonksiyon = hms (sn) saat = kat (sn / 3600);

Birkaç çıktı argümanıyla dosya işlevlerini çağırırken, sonuç uygun uzunlukta bir vektöre yazılmalıdır:

>> = hms (10000) H =

Bu işlevi kullanırken çıktı parametrelerini açıkça belirtmezseniz, işlevi çağırmanın sonucu yalnızca ilk çıktı bağımsız değişkeni olacaktır:

>> hms (10000) an =

Çıktı argümanları listesi boşsa, yani başlık şuna benziyorsa: function myfun (a, b) veya function = myfun (a, b),

daha sonra dosya işlevi herhangi bir değer döndürmez. Bu işlevler bazen de yararlıdır.

MATLAB fonksiyonlarının bir başka kullanışlı özelliği de help fplot gibi help komutunu kullanarak onlar hakkında bilgi alma yeteneğidir. Yorum satırları kullanılarak bu özellik ile özel dosya işlevleri de sağlanabilir. Yardım komutuyla birlikte, başlıktan sonra ve işlevin gövdesinden önceki tüm yorum satırları veya boş bir satır komut penceresinde görüntülenir. Örneğin, işlevimiz için bir ipucu oluşturabilirsiniz:

fonksiyon = hms (sn) % hms - saniyeyi saat, dakika ve saniyeye çevir

% hms işlevi saniyeleri çevirmek içindir

% saat dakika ve saniye cinsinden.

% = hms (sn)

saat = kat (sn / 3600);

dakika = kat ((sn - saat * 3600) / 60); saniye = sn - saat * 3600 - dakika * 60;

1.4. Alt fonksiyonlar.

Başka bir tür işlev düşünelim - alt işlevler. Alt işlevlerin kullanımı, algoritmanın bir bölümünün, metni ana işlevle aynı dosyada bulunan bağımsız bir işleve ayrılmasına dayanır. Bir örneğe bakalım.

basit işlev;

% Temel fonksiyon a = 2 * pi;

fl = f (1.1, 2.1) f2 = f (3.1, 4.2) -a f3 = f (-2.8, 0.7) + a

fonksiyon z = f (x, y)% Alt fonksiyon

z = x ^ 3 - 2 * y ^ 3 - x * y + 9;

İlk basit fonksiyon ana işlev simple.m'de, kullanıcı örneğin komut satırından basit bir çağrı yaptığında yürütülen ifadelerdir. Ana işlevde bir alt işleve yapılan her çağrı, alt işlevde yer alan ifadelere bir geçişe yol açar ve ardından ana işleve geri döner.

Bir fonksiyon dosyası, kendi giriş ve çıkış parametreleri ile bir veya birkaç alt fonksiyon içerebilir, ancak sadece bir ana fonksiyon olabilir. Yeni bir alt fonksiyonun başlığı da bir öncekinin sonunun bir işaretidir. Ana işlev, alt işlevlerle yalnızca giriş ve çıkış parametrelerini kullanarak iletişim kurar. Alt fonksiyonlarda ve ana fonksiyonda tanımlanan değişkenler yereldir, fonksiyonlarının içinde bulunurlar.

Bir M dosyasındaki tüm işlevler için ortak olan değişkenlerin olası bir kullanımı, bu değişkenleri ana işlevin ve alt işlevin başında, boşlukla sınırlandırılmış değişken adları listesiyle global kullanarak global olarak bildirmektir.

2. Programlama dilinin kontrol yapıları.

Önceki iki bölümde oluşturduğunuz dosya işlevleri ve dosya programları, programların en basit örnekleridir. İçlerinde bulunan tüm MATLAB komutları yürütülür. sürekli. Daha birçok ciddi sorunu çözmek için, eylemlerin döngüsel olarak tekrarlandığı ve belirli koşullara bağlı olarak programın çeşitli bölümlerinin yürütüldüğü programlara ihtiyaç vardır. Bu bölüm, hem dosya programları hem de dosya işlevleri yazılırken kullanılabilen MATLAB programlama dilinin kontrol yapılarını açıklar.

2.1. Döngü operatörleri.

Benzer ve tekrarlayan eylemler, for ve while döngüsü deyimleri kullanılarak gerçekleştirilir. For döngüsü, belirli sayıda tekrarlayan eylemi gerçekleştirmek için tasarlanmıştır, bir süre - sayısı önceden bilinmeyen eylemler için, ancak döngüye devam etme koşulu bilinir.

Döngü için.

for kullanımı şu şekilde yapılır:

sayım için = başlangıç: adım: son

MATLAB komutları

Burada count döngü değişkenidir, start başlangıç ​​değeridir, final son değerdir, astep döngüye her girildiğinde sayımın artırıldığı adımdır. Sayı, finalden büyük olduğunda döngü sona erer. Döngü değişkeni yalnızca tam sayıları değil, aynı zamanda herhangi bir işaretin gerçek değerlerini de alabilir. For döngüsünün kullanımına bir örnek verelim. x için bir eğriler ailesinin grafiklerini göstermemiz istensin.

y (x, a) = e - ax sinx fonksiyonu tarafından verilir, a parametresine bağlı olarak, a parametresinin -0.1'den -0.1'e kadar olan değerleri için

0,02'lik bir adımla 0,1. Elbette, y (x, a)'yı sırayla hesaplayabilir ve grafiklerini farklı a değerleri için çizebilirsiniz, ancak for döngüsünü kullanmak çok daha uygundur. Program dosyasının metni:

şekil% grafiksel bir pencere oluştur

x = 0: pi / 30: 2 * pi; % argüman değerleri vektörünü hesapla

% bir döngüde parametre değerleri üzerinde yineleme a = -0.1 için: 0.02: 0.1

% mevcut değer için fonksiyon değerlerinin vektörünü hesaplamak ...

parametre

y = exp (-a * x) * günah (x); % fonksiyon grafiği ekle beklet

arsa (x, y) sonu

Bu dosya programının yürütülmesinin bir sonucu olarak, Şekil 2'de gösterilen bir grafik pencere görünecektir. 2, gerekli eğri ailesini içerir.

Pirinç. 2. Bir eğri ailesi.

For döngüleri iç içe olabilir, iç içe döngülerin değişkenleri farklı olmalıdır. İç içe döngüler, matrisleri doldurmak için kullanışlıdır. Hilbert matrisi oluşturmaya bir örnek:

a = sıfırlar (n); i = 1: n için

j = 1: n için

a (i, j) = 1 / (i + j-1);

Bu bölümün sonunda, sabit bir adımla gerçek bir döngü sayacı ayarlama yeteneğinin yanı sıra, for döngüsünü oldukça evrensel kılan for döngüsünün bir özelliğine daha dikkat çekiyoruz. Bir döngü değişkeni için değerler olarak bir dizi değer kullanılabilir:

saymak için = A

MATLAB komutları

A bir satır vektörüyse, bu durumda count, döngüye her girildiğinde öğelerinin değerini sırayla alır. İki boyutlu bir A dizisi olması durumunda, döngünün i. adımında, count bir A sütunu (:, i) içerir. Tabii ki, eğer A bir sütun vektörüyse, o zaman döngü A sayısıyla yalnızca bir kez çalışacaktır.

For döngüsü, sınırlı sayıda şey için kullanışlıdır. Daha esnek bir while döngüsünde uygulanabilen bilinmeyen sayıda tekrara sahip algoritmalar vardır.

Döngü sırasında.

while döngüsü, tekrar sayısının önceden bilinmediği ve belirli bir koşulun yerine getirilmesiyle belirlendiği durumda aynı tür eylemlerin tekrarlarını düzenlemek için kullanılır. Günahın (x) seri açılımına bir örnek düşünün:

x 2k + 1

S (x) = ∑ (- 1)

(2k + 1)!

k = 0

Tabii ki, sonsuza kadar toplamak mümkün olmayacak, ancak miktarı belirli bir doğrulukla, örneğin 10-10'da biriktirebilirsiniz. Açıkçası, bu durumda dizinin üye sayısı bilinmemektedir, bu nedenle for operatörünün kullanılması imkansızdır. Çıkış yolu, döngü koşulu yürütüldüğü sürece çalışan bir while döngüsü kullanmaktır:

while döngüsü tekrarlama koşulu

MATLAB komutları

V Bu örnekte, döngünün tekrarlanmasının koşulu, mevcut terimin modülünün

x 2k + 1 (2k + 1)! 10-10'dan fazla. Bir dizinin toplamını temel alarak hesaplayan mysin dosyası işlevinin metni

Tekrarlama ilişkisi:

k - 1

2k (2k + 1)

fonksiyon s = mysin (x)

% Seri genişleme ile sinüs hesaplama

% Kullanım: y = mysin (x),-pi< х < pi

% k = 0 toplamının ilk teriminin hesaplanması k = 0;

% yardımcı değişkenin hesaplanması

abs (u)> 1.0e-10 k = k+1 iken;

u = -u * x2 / (2 * k) / (2 * k + 1); s = s + u;

Yüksek matematikle uğraşanlar bazen ne tür matematiksel "canavarlarla" karşılaşmanız gerektiğini çok iyi bilirler. Örneğin, dev bir üçlü integrali hesaplamak çok zaman alabilir, zihinsel güç ve yenilenmeyen sinir hücreleri alabilir. Elbette, integrale meydan okumak ve onu almak çok ilginç. Ama ya integral sizi almakla tehdit ederse? Ya da daha kötüsü, kübik üç terim kontrolden çıkıp öfkelendi mi? Bunu bir düşman için de istemezsin.


Önceden, sadece iki seçenek vardı: her şeye tükürmek ve yürüyüşe çıkmak ya da integral ile çok saatli bir savaşa girmek. Kime kaç saat, kime dakika - kim nasıl çalıştı. Ama mesele bu değil. Yirminci yüzyıl ve amansız ilerleme bize üçüncü bir yol sunuyor, yani en karmaşık integrali "hızlı bir şekilde" almamıza izin veriyorlar. Aynı şey her türlü denklemi çözmek, fonksiyonları kübik hiperboloidler şeklinde çizmek vb. için de geçerlidir.

Öğrenciler arasında böyle sıra dışı, ancak periyodik olarak meydana gelen durumlar için güçlü bir matematiksel silah var. Henüz bilmeyenlerle tanışın - MATLAB yazılım paketi.

Matlab hem denklemi çözecek, hem de yaklaşık olarak hesaplayacak ve fonksiyonu çizecektir. Bunun ne anlama geldiğini anladınız mı arkadaşlar?

Bu, bugün mevcut olan en güçlü veri işleme paketlerinden biri olduğu anlamına gelir. Adı anlamına gelir MatrisLaboratuvar. Matris Laboratuvarı, rusça ise . Programın yetenekleri matematiğin hemen hemen tüm alanlarını kapsamaktadır. Yani, matlab kullanarak şunları yapabilirsiniz:

  • Matrisler üzerinde her türlü işlemi gerçekleştirin, lineer denklemleri çözün, vektörlerle çalışın;
  • Herhangi bir derecedeki polinomların köklerini hesaplayın, polinomlar üzerinde işlem yapın, eğrileri farklılaştırın, tahmin edin ve enterpolasyon yapın, herhangi bir fonksiyonun grafiklerini oluşturun;
  • Dijital filtreleme, istatistiksel regresyon kullanarak verilerin istatistiksel analizini yapın;
  • Diferansiyel denklemleri çözün. Kısmi türevlerde, doğrusal, doğrusal olmayan, sınır koşulları ile - önemli değil, matlab her şeyi çözecektir;
  • Tamsayı aritmetik işlemleri gerçekleştirin.

Tüm bunlara ek olarak, MATLAB'ın yetenekleri, verileri üç boyutlu grafiklerin oluşturulmasına ve animasyonlu videoların oluşturulmasına kadar görselleştirmenize olanak tanır.

Matlab tanımımız elbette tam olmaktan uzak. Üretici tarafından sağlanan özelliklere ve işlevlere ek olarak, sadece meraklıları veya diğer şirketler tarafından yazılmış çok sayıda matlab aracı vardır.

Bir programlama dili olarak MATLAB


Ayrıca programla çalışırken doğrudan kullanılan bir programlama dilidir. Detaylara girmeyeceğiz, sadece MATLAB ile yazılan programlar iki tiptir: fonksiyonlar ve scriptler.


Programın ana çalışma dosyası M dosyasıdır. Bu sonsuz bir metin dosyasıdır ve içinde hesaplamaların gerçek programlaması gerçekleşir. Bu arada, bu kelimeden korkmayın - MATLAB'da çalışmak için profesyonel bir programcı olmanıza gerek yok.

M-dosyaları ayrılır

  • M-scriptleri. M betiği, M dosyasının en basit türüdür ve giriş ve çıkış bağımsız değişkenleri yoktur. Bu dosya, tekrarlayan hesaplamaları otomatikleştirmek için kullanılır.
  • M-fonksiyonları. M-fonksiyonları, girdi ve çıktı argümanlarına izin veren M dosyalarıdır.

MATLAB'da işin nasıl yapıldığını net bir şekilde gösterebilmek için aşağıda matlab'da bir fonksiyon oluşturma örneği veriyoruz. Bu fonksiyon vektörün ortalamasını hesaplayacaktır.
F y = ortalama (x)
% ORTALAMA Vektör öğelerinin ortalama değeri.
% ORTALAMA (X), burada X bir vektördür. Bir vektördeki öğelerin ortalamasını hesaplar.
% Giriş argümanı bir vektör değilse, bir hata üretilir.
= boyut (x);
if (~ ((m == 1) | (n == 1)) | (m == 1 & n == 1))
hata ("Giriş dizisi bir vektör olmalıdır")
son
y = toplam (x) / uzunluk (x); % Gerçek hesaplama

Fonksiyon tanımlama satırı, MATLAB sistemine dosyanın bir M-fonksiyonu olduğunu söyler ve ayrıca girdi argümanlarının bir listesini tanımlar. Yani, ortalama fonksiyonun tanım satırı:
fonksiyon y = ortalama (x)
Nereye:

  1. işlev, bir M işlevini tanımlayan bir anahtar sözcüktür;
  2. y çıktı argümanıdır;
  3. ortalama - işlev adı;
  4. x bir giriş argümanıdır.

Bu yüzden matlab'da bir fonksiyon yazmak için, MATLAB'daki her fonksiyonun bunun gibi bir fonksiyon tanımlama satırı içerdiğini hatırlamanız gerekir.

Elbette böylesine güçlü bir paket sadece öğrencilerin hayatını kolaylaştırmak için gerekli değildir. Günümüzde MATLAB, bir yandan birçok bilim ve mühendislik alanındaki uzmanlar arasında oldukça popülerdir. Öte yandan, büyük matrislerle çalışabilme yeteneği, MATLAB'ı finansal analistler için vazgeçilmez bir araç haline getirerek, örneğin iyi bilinen Excel'den çok daha fazla sorunu çözmenize olanak tanır. Bununla ilgili daha fazla bilgiyi inceleme makalesinde okuyabilirsiniz.

MATLAB ile çalışmanın dezavantajları


MATLAB ile çalışmanın zorlukları nelerdir? Belki tek bir zorluk vardır. Ama temel. MATLAB'ın yeteneklerini tam olarak ortaya çıkarmak ve karşılaştığınız sorunları kolayca çözmek için, önce matlabın kendisiyle (bir dosya nasıl oluşturulur, bir işlev nasıl oluşturulur, vb.) uğraşmanız gerekecek. Ve bu o kadar kolay değil, çünkü güç ve geniş olanaklar fedakarlık gerektiriyor.

Tüm arzuyla, MATLAB'ın -basit program. Bununla birlikte, yukarıdakilerin hepsinin, ustalaşmaya başlamak için yeterli bir argüman olacağını umuyoruz.

Ve sonunda. Hayatınızdaki her şeyin neden böyle gittiğini bilmiyorsanız, aksi halde değil, matlab'a sorun. Komut satırına "neden" yazmanız yeterlidir. Cevap verecek. Dene!

Artık Matlab'ın olanaklarını biliyorsunuz. Eğitimde, MATLAB genellikle sayısal yöntemler ve lineer cebir öğretiminde kullanılır. Laboratuvar çalışmaları sırasında yürütülen bir deneyin sonuçlarını işlerken birçok öğrenci onsuz yapamaz. MATLAB ile çalışmanın temellerinin hızlı ve kaliteli bir şekilde öğrenilmesi için, her zaman, herhangi bir sorunuzu yanıtlamaya hazır olana başvurabilirsiniz.

TAMBOV DEVLET TEKNİK ÜNİVERSİTESİ


SANDALYE

"Bilgi Süreçleri ve Yönetimi"

Metodik geliştirme

1 numaralı laboratuvar dersi için

"Karar Teorisi" disiplininde

disiplinin adı

Konu adı

Tema: Tek boyutlu optimizasyon yöntemlerinin araştırılması

İşin amacı:

Matematiksel, bilimsel ve teknik hesaplamaların otomasyonu için çok işlevli entegre sistem ortamında tek boyutlu optimizasyon yöntemleri ve bunların algoritmik uygulama yöntemlerinin incelenmesi MATLAB 7.1;

Yöntemlerin hesaplama maliyetlerinin hacminin karşılaştırmalı değerlendirmesi: doğrudan tarama, ikilik, "altın bölüm" ve Fibonacci yöntemi.

Edebiyat:

1. Aoki M. Optimizasyon yöntemlerine giriş. Moskova: Nauka, 1977.444 s.

2. Batishchev D.I. Optimal tasarım yöntemleri. M.: "Radyo ve iletişim", 1984. 248 s.

3. Bodrov V.I., Lazareva T.Ya., Martemyanov Yu.F. Matematiksel karar verme yöntemleri: Ders kitabı. ödenek. Tambov: Tamb'ın yayınevi. durum onlar. Üniversite, 2004.124 s.

4. Polak E. Sayısal optimizasyon yöntemleri. Moskova: Mir, 1997.376 s.

5. Himmelblau D. Uygulamalı doğrusal olmayan programlama. Moskova: Mir, 1975.534 s.

6. Yudin D.B. Hesaplamalı karar teorisi yöntemleri. Moskova: Nauka, 1989.316 s.

7. Ketkov Yu.L., Ketkov A. Yu., Shultz MM MATLAB 7: programlama, sayısal yöntemler. - SPb.: BHV-Petersburg, 2005 .-- 752 s.

ders için

"Karar Verme Teorisi" disiplinindeki laboratuvar dersleri, öğrenciler tarafından çeşitli sınıflarda ve eğitim materyallerinin bağımsız çalışması sürecinde kazanılan teorik bilgileri derinleştirmek ve pekiştirmek, pratik uygulamada beceri kazanmaları amacıyla yürütülür. matematiksel karar verme yöntemleri. Laboratuar çalışmalarının sonuçlarına dayanarak, öğrenciler şunları yapmalıdır:

Modellemenin gerçekleştirildiği teorik materyalin yanı sıra programlarda resmileştirilen fiziksel süreçlerin özü;

İlgili süreçleri modellemenin temel yöntemleri;

Ana parametrelerin simülasyon sonucu üzerindeki etkisini seçin ve değerlendirin;

Elde edilen sonuçları analiz edin ve özetleyin.

Laboratuar çalışması üç aşamadan oluşur: laboratuar oturumu için ön hazırlık, fiili oturum, laboratuar oturumu hakkında raporlama.

Ders, teorik materyal ve uygulama arasındaki bağlantıyı göstermeyi ve öğrencilere teoriyi pratik problemleri çözmede uygulamayı öğretmeyi amaçlar.

Laboratuvarlar, öğrencilerin MATLAB bilgisini ima etmeyecek şekilde yapılandırılmıştır. Her laboratuvar, öğrenciye ödevi tamamlamak için gereken arka plan bilgilerinin verildiği bir MATLAB kısa açıklamasıyla başlar.

Derse hazırlık

Dersin arifesinde, öğrenciler şunları yapmalıdır:

Bu laboratuvar çalışması için kılavuza aşina olun;

Ders materyalini gözden geçirin ve bu konuyla ilgili önerilen literatürü inceleyin;

İş yapma prosedürünü inceleyin;

Güvenlik sorularını yanıtlamaya hazırlanın.

dersin sırası

Dersin giriş bölümünde çalışma grubu alınır, daha önce çalışılan materyal ile bağlantı verilir, bu dersin konusu, amacı, prosedürü ve özellikleri duyurulur, çalışma grubunun derse hazırlığı kontrol edilir.

Daha sonra öğrenciler metodolojiye uygun olarak araştırma yapmaya başlarlar. Laboratuar dersi ile ilgili anlaşılmayan tüm sorular için öğrenciler, bilgisayar dersinin öğretmeni, mühendislik personeli veya öğretim elemanı ile iletişime geçmelidir. Araştırma sonuçları ve sonuçlar, bir laboratuvar oturumu hakkında bir rapor şeklinde düzenlenir. Rapor bir öğrencinin çalışma belgesidir ve savunma sırasında lider öğretmene sunulur. Daha sonra laboratuvar dersi ile ilgili raporlar savunulur ve sonunda - dersin sonuçları özetlenir.

Ders raporlama

Öğrenciler laboratuvar çalışmaları için kredi almalıdır. Raporlama ilkesi bireyseldir ve dersin ana kısmı tamamlandıktan sonra sözlü veya yazılı olarak gerçekleştirilebilir. Bir test puanı belirlerken, aşağıdakiler dikkate alınır: form raporunun mevcudiyeti, okuryazarlığı ve doğruluğu, laboratuvar çalışmasının kalitesi, kontrol sorularına verilen cevapların sonuçları. Kredi almayan ve bu laboratuvar dersine devam etmeyen öğrenciler, kişisel zamanlarında bunun hakkında rapor verirler.

MATLAB'ın kısa özellikleri

MATLAB (Matris Laboratuvarı) sistemi, çeşitli bilim alanlarından çok çeşitli matematiksel ve teknik problemlerin çözülmesine izin veren çok sayıda özel programdan oluşur. Ana unsuru MATLAB sisteminin çekirdeğidir. Buna ek olarak, sistem, çeşitli matematik, matematiksel fizik, tasarım, iletişim, ekonomi vb. dallarına karşılık gelen yaklaşık 80 farklı komut kümesi ("Araç Kutuları" olarak adlandırılır) içerir. Bu çalışmada temel MATLAB programlama araçları kullanılmıştır: M dosyaları - fonksiyonlar, yerleşik fonksiyonlar, operatörler, komutlar, vb.

1. Sistem Masaüstü

Şekil 1, sistem masaüstünü göstermektedir. Menü çubuğu (Dosya, Düzenle vb.), Microsoft Word düzenleyicisininkine çok benzer. Aşağıda bulunan simge satırı da Word düzenleyicidekiyle aynı işlemleri gerçekleştirir (son 3 hariç). Sistem masaüstü, bileşimi menü komutları kullanılarak değiştirilebilen birkaç pencereden oluşur. Masaüstü. Soldaki üst penceredeki Şekil 1, çalışma alanının içeriğini gösterir. çalışma alanı, çalışma sırasında kullanıcı tarafından girilen tüm sabitlerin ve işlevlerin açıklamalarını içerir. Alt pencerede Komut Geçmişi yürütülen komutların sırası verilir. Pencerelerin boyutları, fare ile kenarlık sürüklenerek ayarlanır. Ana masaüstü penceresi Komut Penceresi(komut penceresi). Komut penceresinde, ">>" işaretinden sonra, " tuşuna basıldıktan sonra yürütülen komut satırı yazılır. Girmek".

MATLAB, diğer üst düzey programlama dillerine benzer program dosyaları oluşturmanıza olanak tanır. Bununla birlikte, güçlü bir programlanabilir hesap makinesinin özelliklerine sahiptir. Bu çalışmada, arama algoritmalarının yazılım uygulaması M - fonksiyon dosyaları kullanılarak gerçekleştirilir ve programların başlatılması ve ilk verilerin girişi komut penceresinden gerçekleştirilebilir.

Sayı biçimi menü tarafından belirlenir Dosya(şekil 1) bölümünde Tercihler işlevi kullanmak Sayısal Biçim. 12 olası formattan en yaygın olarak kullanılanları şunlardır: Kısa boylu ve Uzun- kısa ve uzun sayı biçimleri.

MATLAB'ın temel kavramlarından bazıları şunlardır: değişkenler ve onay .

Değişken tek bir harfle veya bir harfle başlayan bir dizi harf ve sayı ile gösterilir. Bir kümedeki toplam harf ve rakam sayısı on dokuzu geçmemelidir. Beyan aşağıdaki forma sahiptir:

>> değişken = ifade

Bir ifade girdiğinizde, değişkene eşittir işaretinden sonraki ifade veya herhangi bir matematiksel işlem içeriyorsa bu işlemleri yaptıktan sonra elde edilen sonuç atanır. MATLAB programının M dosyasına veya komut penceresine bir ifade girebilirsiniz. ">>" işareti, iddiaların girilebileceğini belirtmek için komut penceresindeki ekranda görünen bir komut istemidir.

Temel aritmetik operatörler Tablo 1.1'de gösterilmiştir. " tuşuna bastıktan sonra komut penceresinde hesaplamalar yaparken Girmek"sonuç parametreye atanır" ans"eğer ilgili ifadeye bir ad atanmamışsa veya adı - aksi takdirde (değişkenlerin, sabitlerin ve işlevlerin adları bir harfle (Latin harfleri) başlamalıdır, sayılar ve alt çizgi içerebilir). işaretini ayarlayın; (noktalı virgül) .

Tablo 1.1

Örneğin, ifadeyi değerlendirmek gerekiyor ve sonucu bir değişkene atayın NS... Bu durumda, ifade (program) aşağıdaki forma sahip olacaktır (ondalık kesirlerde, kesirli kısımdan tamsayı kısmı bir nokta ile ayrılır):

>> x = log (1 + 5 * ((log10 (100)) ^ 2-0.2 * pi) / sqrt (1 + 2.71828 ^ 3))

Açıklamanın girişinden sonra, yani. Enter tuşuna basıldığında, sonuç hemen aşağıda görüntülenir. Sonucun engellenmesi gerekiyorsa, yani. Ekranda yayınlamak gerekli değildir, ardından ifadenin sonuna “işareti” koymanız gerekir; "(Noktalı virgül). Önceki ifade farklı bir biçimde sunulabilir:

>> a = (log10 (100)) ^ 2;

>> b = kare (1 + 2.71828 ^ 3);

>> x = log (1 + 5 * (a-0.2 * pi) / b)

MATLAB'ın birkaç yerleşik değişkeni vardır: pi, eps, inf, ben ve J. Değişken pi bir sayıyı ifade eder, eps= 2 -52 = 2.2204 * 10 -16 - kayan noktalı sayılarla işlemler için hata, enf- Sonsuzluk ( ), ben ve J- hayali birim ( ben = J= ).

Solda hiçbir argüman belirtilmediğinde, ifadenin sonucu, paylaşılan değişken ans'a atanır.

İlişkisel operatörler (Tablo 1.2) koşullu operatörlerde, döngü operatörlerinde vb. kullanılır. M işlevlerini kullanarak arama algoritmalarını uygularken (alt rutinler-fonksiyonlar .m uzantılı dosyalara yazılır).

Tablo 1.2

Bu nedenle, MATLAB sistemindeki programlar, programların program kodları biçiminde kaydedilmesini içeren metin biçimindeki M dosyalarıdır.

MATLAB giriş dili, 14 fonksiyon kelimesi kullanan toplam 9 operatöre sahiptir. Karşılık gelen sözdizimsel yapılar tabloda verilmiştir. 1.3.

Tablo 1.3

Operatör formatı Açıklama
var = ifade Atama operatörü. İfadenin değerlerini hesaplar ve sonuçları bir değişkende saklar var
ifcondition_1 ifadeleri_1 sonu Koşullu operatör. koşul_1 doğruysa, deyimler grubu_1 yürütülür, koşul_2 doğruysa, deyimler grubu_2, ... Belirtilen koşulların tümü yanlışsa, o zaman else ve end arasında yer alan deyimler yürütülür
switchexpr casevail ifadeleri_1 caseval2 ifadeleri_2. ... ... ... ... ... ... ... ... [diğer ifadeler] bitiş İfade ifadesinin değerine göre geçiş yapın. Eğer vail değeriyle eşleşirse, o zaman deyim_1 grubu yürütülür, val2 değeriyle eşleşirse, o zaman deyimler_2, ... grubu yürütülür, expr değeri listelenen değerlerden herhangi biriyle eşleşmiyorsa, deyimler othervis ve end arasında bulunan yürütülür
forvar = el: e3 bitiş ifadeleri Döngü gövdesinin her tekrarında var değişkeninin e2'lik bir adımla başlangıç ​​değeri el'den son değer e3'e değiştiği aritmetik ilerleme türünde bir döngü
koşul ifadeleri sona ererken Belirtilen koşul doğru olduğu sürece tekrar eden bir ön koşullu döngü
ifadeleri deneyin_1 ifadeleri yakalayın 2 son Bir grup ifadeyi çalıştırma girişiminde bulunuldu_1. Yürütülmesinin bir sonucu olarak bir istisna oluşması şartıyla, kontrol operatör_2 grubuna aktarılır (hata durumlarının işlenmesi). Herhangi bir hata oluşmazsa, deyim_2 grubu yürütülmez.
kırmak for, while, switch, try - catch gibi kontrol yapılarından erken çıkış
fonksiyon f1 fonksiyon f2 (x1, x2,...) fonksiyon y = f3 (xl, x2, ...) fonksiyon = f4 (xl, x2,...) Fonksiyon başlığı (xl, x2, ... giriş parametreleridir; y, yl, y2, ... çıkış parametreleridir)
dönüş İşlev gövdesinden erken çıkış

Fonksiyon programları yazarken, programın hafızaya alındığı M-dosyasının adının mutlaka fonksiyonun adıyla aynı olması gerekir.

Global değişkenler (global deyim tarafından bildirilen), giriş ve çıkış parametreleri hariç, bir fonksiyonun gövdesinde görünen tüm değişkenler yerel olarak kabul edilir. Yerel bir çalışma alanı oluştururlar ve yalnızca onları oluşturan işlevin gövdesinde bulunurlar ve başka hiçbir işlev bunları kullanamaz.

MATLAB bir operatör içermez git... Bu bağlamda, m-file metinlerinde operatör etiketi yoktur. Alarmların oluştuğu hatları belirlemek için sistem tarafından atanan dahili numaralar kullanılır.

MATLAB, üst düzey bir teknik hesaplama dili, etkileşimli bir algoritma geliştirme ortamı ve modern bir veri analiz aracıdır.
MATLAB, geleneksel programlama dilleriyle (C / C ++, Java, Pascal, FORTRAN) karşılaştırıldığında, tipik problemleri çözme süresini bir büyüklük sırasına göre azaltmayı mümkün kılar ve yeni algoritmaların geliştirilmesini büyük ölçüde basitleştirir.
MATLAB, tüm MathWorks ürün ailesinin belkemiğidir ve aşağıdaki alanlarda çok çeşitli bilimsel ve uygulamalı problemleri çözmek için ana araçtır: nesneler ve kontrol sistemlerinin geliştirilmesi, iletişim sistemleri, sinyal ve görüntü işleme, sinyal ölçümü ve test etme, finansal modelleme, hesaplamalı biyoloji vb.
MATLAB çekirdeği, gerçek, karmaşık ve analitik veri türlerinin matrisleriyle ve veri yapıları ve arama tablolarıyla çalışmayı mümkün olduğunca kolaylaştırır. MATLAB, lineer cebir (LAPACK, BLAS), hızlı Fourier dönüşümü (FFTW), polinomlarla çalışma fonksiyonları, temel istatistik fonksiyonları ve diferansiyel denklemlerin sayısal çözümü için yerleşik fonksiyonlar içerir; Intel MKL için genişletilmiş matematik kitaplıkları. MATLAB çekirdek yerleşik işlevlerinin tümü, C/C++ eşdeğerleriyle aynı şekilde veya daha hızlı performans gösterecek şekilde uzmanlar tarafından tasarlanmış ve optimize edilmiştir.

Dil Açıklama

MATLAB, matris tabanlı veri yapıları, geniş bir işlev yelpazesi, entegre bir geliştirme ortamı, nesne yönelimli yetenekler ve diğer programlama dillerinde yazılmış programlara arayüzler içeren üst düzey bir programlama dilidir.

MATLAB'da yazılmış iki tür program vardır - işlevler ve betikler. Fonksiyonlar, ara hesaplama sonuçlarını ve değişkenleri depolamak için kendi çalışma alanlarının yanı sıra girdi ve çıktı argümanlarına sahiptir. Komut dosyaları ortak bir çalışma alanını paylaşır. Hem komut dosyaları hem de işlevler makine koduna yorumlanmaz ve metin dosyaları olarak kaydedilir. Ayrıca, önceden ayrıştırılmış programları - makinenin yürütülmesi için uygun bir biçimde işlenen işlevler ve komut dosyaları olarak adlandırılanları kaydetme fırsatı da vardır. Genel olarak, bu tür programlar normalden daha hızlı çalışır.

MATLAB dilinin ana özelliği, dilin yaratıcılarının Think vectorized sloganıyla ifade ettiği matrislerle çalışma konusundaki kapsamlı yetenekleridir.

Matematik ve Bilgisayar

MATLAB, kullanıcıya, özellikle matematiğin hemen hemen tüm alanlarını kapsayan, veri analizi için çok sayıda (birkaç yüz) işlev sağlar:
Matrisler ve lineer cebir - matris cebiri, lineer denklemler, özdeğerler ve vektörler, tekillikler, matris çarpanlara ayırma ve diğerleri.
Polinomlar ve enterpolasyon - polinomların kökleri, polinomlar üzerindeki işlemler ve bunların farklılaşması, enterpolasyon ve eğrilerin ekstrapolasyonu ve diğerleri.
Matematiksel istatistik ve veri analizi - istatistiksel fonksiyonlar, istatistiksel regresyon, dijital filtreleme, hızlı Fourier dönüşümü ve diğerleri.
Veri İşleme - çizim, optimizasyon, sıfır arama, sayısal entegrasyon (dörtgenlerde) ve diğerleri dahil olmak üzere bir dizi özel işlev.
Diferansiyel denklemler - diferansiyel ve diferansiyel cebirsel denklemleri çözme, gecikmeli diferansiyel denklemler, kısıtlamalı denklemler, kısmi diferansiyel denklemler ve diğerleri.
Seyrek matrisler, özel uygulamalarda kullanılan özel bir MATLAB veri sınıfıdır.
Tamsayı aritmetiği - MATLAB ortamında tamsayı aritmetik işlemleri gerçekleştirir.


algoritma geliştirme

MATLAB, nesne yönelimli programlama kavramlarını kullanan üst düzey olanlar da dahil olmak üzere algoritma geliştirmek için uygun araçlar sağlar. Hata ayıklayıcı ve profil oluşturucu dahil tüm gerekli IDE araçlarını içerir. Tamsayı veri türleriyle çalışma işlevleri, gerektiğinde mikrodenetleyiciler ve diğer uygulamalar için algoritmalar oluşturmayı kolaylaştırır.


Veri goruntuleme

MATLAB paketi, üç boyutlu, görsel veri analizi ve animasyonlu videolar oluşturma dahil, grafikler oluşturmak için çok sayıda işlev içerir.

Yerleşik geliştirme ortamı, düğmeler, giriş alanları ve diğerleri gibi çeşitli kontrollerle grafiksel kullanıcı arabirimleri oluşturmanıza olanak tanır. MATLAB Derleyici bileşenini kullanarak, bu grafik arayüzler bağımsız uygulamalara dönüştürülebilir.


Harici arayüzler

MATLAB paketi, diğer programlama dillerinde yazılmış harici rutinlere, Bileşen Nesne Modeli veya Dinamik Veri Değişimi teknolojileri aracılığıyla iletişim kuran verilere, istemcilere ve sunuculara ve doğrudan MATLAB ile iletişim kuran çevre birimlerine erişmek için çeşitli arabirimler içerir. Bu yeteneklerin çoğu MATLAB API olarak bilinir.


COM

MATLAB paketi, COM nesneleri (hem istemciler hem de sunucular) oluşturmanıza, değiştirmenize ve silmenize izin veren işlevlere erişim sağlar. ActiveX teknolojisi de desteklenmektedir. Tüm COM nesneleri, MATLAB paketinin özel bir COM sınıfına aittir. Otomasyon denetleyici işlevlerine sahip tüm programlar MATLAB'a bir Otomasyon sunucusu olarak erişebilir.


DDE

MATLAB paketi, Dinamik Veri Değişimi (DDE) teknolojisi aracılığıyla bu uygulamaların MATLAB verilerine erişmesinin yanı sıra diğer Windows uygulamalarına erişmesine izin veren işlevleri içerir. DDE sunucusu olabilen her uygulamanın kendi benzersiz tanımlayıcı adı vardır. MATLAB için bu isim Matlab'dır.


Ağ hizmetleri

MATLAB, web servislerinin yöntemlerini çağırma yeteneği sağlar. Özel bir işlev, web hizmeti API'sinin yöntemlerine dayalı bir sınıf oluşturur.

Matlab, web hizmetinin müşterisiyle, ondan gelen paketleri kabul ederek, işleyerek ve bir yanıt göndererek etkileşime girer. Aşağıdaki teknolojiler desteklenir: Basit Nesne Erişim Protokolü (SOAP) ve Web Hizmetleri Açıklama Dili (WSDL).


COM bağlantı noktası

MATLAB seri bağlantı noktası arabirimi, bir seri bağlantı noktası (COM bağlantı noktası) aracılığıyla bir bilgisayara bağlanan modemler, yazıcılar ve bilimsel ekipman gibi çevresel aygıtlara doğrudan erişim sağlar. Bir arabirim, seri bağlantı noktası için özel bir sınıf nesnesi oluşturarak çalışır. Bu sınıfın mevcut yöntemleri, seri bağlantı noktasına veri okumanıza ve yazmanıza, olayları ve olay işleyicilerini kullanmanıza ve bilgisayar diskine gerçek zamanlı olarak bilgi yazmanıza izin verir. Bu, deneyler, gerçek zamanlı simülasyonlar ve diğer uygulamalar için kullanışlıdır.


MEX dosyaları

MATLAB paketi, C ve Fortran dillerinde yazılmış harici uygulamalarla etkileşim için bir arayüz içerir. Bu etkileşim MEX dosyaları aracılığıyla gerçekleştirilir. MATLAB'dan C veya Fortran ile yazılmış alt programları paketin yerleşik fonksiyonlarıymış gibi çağırmak mümkündür. MEX dosyaları, MATLAB'da yerleşik yorumlayıcı tarafından yüklenebilen ve yürütülebilen dinamik bağlantı kitaplıklarıdır.


DLL

MATLAB genel DLL arabirimi, sıradan dinamik bağlantı kitaplıklarında bulunan işlevleri doğrudan MATLAB'dan çağırmanıza olanak tanır. Bu işlevlerin bir C arabirimi olmalıdır.

Ayrıca MATLAB, paket fonksiyonların C ile yazılmış harici uygulamalarda kullanılmasına izin veren C arayüzü üzerinden yerleşik fonksiyonlarına erişme yeteneğine sahiptir. Bu teknolojiye MATLAB'da C Motoru denir.


Araç kitleri

MATLAB için işlevselliğini artıran özel araç kutuları oluşturmak mümkündür. Araç takımları, belirli bir problem sınıfını çözmek için MATLAB'da yazılmış fonksiyon koleksiyonlarıdır. Mathworks, aşağıdakiler de dahil olmak üzere birçok alanda kullanılan araç takımları sağlar:
Sinyallerin, görüntülerin ve verilerin dijital olarak işlenmesi: DSP Araç Kutusu, Görüntü İşleme Araç Kutusu, Dalgacık Araç Kutusu, İletişim Araç Kutusu, Filtre Tasarım Araç Kutusu - çok çeşitli sinyal işleme, görüntüler, dijital filtre tasarımı sorunlarını çözmenize izin veren bir dizi işlev ve iletişim sistemleri.
Kontrol sistemleri: Kontrol Sistemleri Araç Kutusu, µ-Analiz ve Sentez Araç Kutusu, Sağlam Kontrol Araç Kutusu, Sistem Tanımlama Araç Kutusu, LMI Kontrol Araç Kutusu, Model Öngörülü Kontrol Araç Kutusu, Model Tabanlı Kalibrasyon Araç Kutusu - dinamik sistemlerin analizini ve sentezini kolaylaştıran fonksiyon setleri, Sağlam kontrol, H∞-kontrol, LMI-sentezi, µ-sentezi ve diğerleri gibi modern kontrol algoritmaları dahil kontrol sistemlerinin tasarımı, modellenmesi ve tanımlanması.
Finansal Analiz: GARCH Araç Kutusu, Sabit Gelir Araç Kutusu, Finansal Zaman Serisi Araç Kutusu, Finansal Türev Araç Kutusu, Finansal Araç Kutusu, Veri Besleme Araç Kutusu - çeşitli finansal bilgileri hızlı ve verimli bir şekilde toplamanıza, işlemenize ve aktarmanıza olanak tanıyan işlevler seti.
Üç boyutlu dahil olmak üzere coğrafi haritaların analizi ve sentezi: Haritalama Araç Kutusu.
Deneysel verilerin toplanması ve analizi: Veri Toplama Araç Kutusu, Görüntü Toplama Araç Kutusu, Enstrüman Kontrol Araç Kutusu, Kod Oluşturucu Stüdyosu Bağlantısı - gerçek zamanlı da dahil olmak üzere deneyler sırasında elde edilen verileri kaydetmenize ve işlemenize olanak tanıyan işlev setleri. Çok çeşitli bilimsel ve mühendislik ölçüm ekipmanları desteklenmektedir.
Veri görselleştirme ve sunum: Sanal Gerçeklik Araç Kutusu - sanal gerçeklik teknolojileri ve VRML kullanarak etkileşimli dünyalar oluşturmanıza ve bilimsel bilgileri görselleştirmenize olanak tanır.
Geliştirme araçları: COM için MATLAB Builder, Excel için MATLAB Builder, MATLAB Derleyici, Filtre Tasarımı HDL Coder - MATLAB ortamından bağımsız uygulamalar oluşturmanıza olanak tanıyan işlevler kümesi.
Harici yazılım ürünleriyle etkileşim: MATLAB Rapor Üreticisi, Excel Bağlantısı, Veritabanı Araç Kutusu, MATLAB Web Sunucusu, ModelSim için Bağlantı - diğer programların onlarla çalışabilmesi için verileri çeşitli biçimlerde kaydetmenize olanak tanıyan işlevler kümesi.
Veritabanları: Veritabanı Araç Kutusu - veritabanlarıyla çalışmak için araçlar.
Bilimsel ve matematiksel paketler: Biyoinformatik Araç Kutusu, Eğri Uydurma Araç Kutusu, Sabit Nokta Araç Kutusu, Bulanık Mantık Araç Kutusu, Genetik Algoritma ve Doğrudan Arama Araç Kutusu, OPC Araç Kutusu, Optimizasyon Araç Kutusu, Kısmi Diferansiyel Denklem Araç Kutusu, Spline Araç Kutusu, İstatistik Araç Kutusu, RF Araç Kutusu - setleri genetik algoritmaların geliştirilmesi, kısmi türevlerdeki problemlerin çözülmesi, tamsayı problemleri, sistem optimizasyonu ve diğerleri dahil olmak üzere çok çeşitli bilimsel ve mühendislik problemlerinin çözülmesine izin veren özel matematiksel fonksiyonlar.
Sinir Ağları: Sinir Ağı Araç Kutusu - Sinir ağlarının sentezi ve analizi için araçlar.
Sembolik hesaplama: Symbolic Math Toolbox - Maple sembolik programıyla etkileşime girme yeteneğine sahip sembolik hesaplama araçları.

Yukarıdakilere ek olarak, diğer şirketler ve meraklılar tarafından yazılmış binlerce başka MATLAB araç takımı vardır.

    Paketin temel özelliklerimatlab

    Paket Araç Kitlerimatlab

    Paket yapısı ve çalışma pencerelerimatlab

    Komut modunda çalışma

    Programlama dilinin temel unsurlarımatlab

1. Matlab paketinin ana özellikleri

MATLAB(İngilizce "Matrix Laboratuvarı" ndan kısaltılmıştır) - teknik hesaplama problemlerini çözmek için uygulamalı programlar paketi ve bu pakette kullanılan aynı adı taşıyan programlama dili. MATLAB, 1.000.000'den fazla mühendis ve bilim insanı tarafından kullanılmaktadır ve Linux, Mac OS, Solaris (Solaris artık R2010b'de desteklenmemektedir) ve Microsoft Windows dahil olmak üzere çoğu modern işletim sisteminde çalışmaktadır.

Tarih. MATLAB, 1970'lerin sonlarında New Mexico Üniversitesi Bilgisayar Bilimleri Dekanı iken Cleve Moler tarafından bir programlama dili olarak geliştirildi. Geliştirmenin amacı, fakülte öğrencilerine Fortran çalışmasına gerek kalmadan Linpack ve EISPACK yazılım kütüphanelerini kullanma fırsatı vermekti. Yeni dil kısa sürede diğer üniversitelere de yayıldı ve uygulamalı matematik alanında çalışan bilim adamları tarafından büyük ilgi gördü. İnternette açık kaynak olarak dağıtılan Fortran'ın 1982 sürümünü hala bulabilirsiniz. Mühendis John N. (Jack) Little, Clive Mowler'ın 1983'te Stanford Üniversitesi'ni ziyareti sırasında dille tanıştı. Yeni dilin büyük bir ticari potansiyele sahip olduğunu fark ederek, Cleve Mowler ve Steve Bangert ile birlikte çalıştı. Birlikte MATLAB'ı C'de yeniden yazdılar ve daha da geliştirmek için 1984'te The MathWorks'ü kurdular. C'de yeniden yazılan bu kütüphaneler uzun zamandır JACKPAC olarak biliniyor. Başlangıçta kontrol sistemi tasarımı (John Little'ın ana uzmanlık alanı) için tasarlanan MATLAB, diğer birçok bilim ve mühendislik alanında hızla popülerlik kazandı. Ayrıca eğitimde, özellikle lineer cebir ve sayısal yöntemlerin öğretiminde yaygın olarak kullanılmıştır.

MATLAB dilinin tanımı. MATLAB dili üst düzeydir yorumlanmış bir programlama dili dahil olmak üzere matrisler veri yapıları, geniş bir işlev yelpazesi, entegre bir geliştirme ortamı, nesneye yönelik yetenekler ve diğer programlama dillerinde yazılmış programlara arayüzler.

MATLAB'da yazılan programlar iki tiptir - işlev ve Kodlar.

Fonksiyonlar, ara hesaplama sonuçlarını ve değişkenleri depolamak için kendi çalışma alanlarının yanı sıra girdi ve çıktı argümanlarına sahiptir.

Komut dosyaları ortak bir çalışma alanını paylaşır. Hem komut dosyaları hem de işlevler makine koduna derlenmez ve metin dosyaları olarak kaydedilir.

Sözde kaydetmek de mümkündür önceden ayrıştırılmış programlar - makine yürütmesi için uygun bir biçimde işlenen işlevler ve komut dosyaları. Genel olarak, bu tür programlar, özellikle işlev grafik komutları içeriyorsa, normal programlardan daha hızlı çalışır.

MATLAB dilinin ana özelliği, dilin yaratıcılarının "düşünme vektörü" (İng. Düşünmek vektörleştirilmiş).

MATLAB'ın uygulanması.

Matematik ve Bilgisayar. MATLAB, kullanıcıya, özellikle matematiğin hemen hemen tüm alanlarını kapsayan, veri analizi için çok sayıda (birkaç yüz) işlev sağlar:

    Matrisler ve lineer cebir - matris cebiri, lineer denklemler, özdeğerler ve vektörler, tekillikler, matris çarpanlara ayırma ve diğerleri.

    Polinomlar ve enterpolasyon - polinomların kökleri, polinomlar üzerindeki işlemler ve bunların farklılaşması, enterpolasyon ve eğrilerin ekstrapolasyonu ve diğerleri.

    Matematiksel istatistik ve veri analizi - istatistiksel fonksiyonlar, istatistiksel regresyon, dijital filtreleme, hızlı Fourier dönüşümü ve diğerleri.

    Veri işleme, çizim, optimizasyon, sıfır arama, sayısal entegrasyon (dörtgenlerde) ve diğerleri dahil olmak üzere bir dizi özel işlevdir.

    Diferansiyel denklemler - diferansiyel ve diferansiyel cebirsel denklemleri çözme, gecikmeli diferansiyel denklemler, kısıtlamalı denklemler, kısmi diferansiyel denklemler ve diğerleri.

    Seyrek matrisler, özel uygulamalarda kullanılan özel bir MATLAB veri sınıfıdır.

    Tamsayı aritmetiği - MATLAB ortamında tamsayı aritmetik işlemleri gerçekleştirir.

Algoritmaların geliştirilmesi. MATLAB, nesne yönelimli programlama kavramlarını kullanan üst düzey olanlar da dahil olmak üzere algoritma geliştirmek için uygun araçlar sağlar. Hata ayıklayıcı ve profil oluşturucu dahil tüm gerekli IDE araçlarını içerir. Tamsayı veri türleriyle çalışma işlevleri, gerektiğinde mikrodenetleyiciler ve diğer uygulamalar için algoritmalar oluşturmayı kolaylaştırır.

Veri goruntuleme. MATLAB paketi, üç boyutlu, görsel veri analizi ve animasyonlu videolar oluşturma dahil olmak üzere çok sayıda grafik işlevi içerir.

Yerleşik geliştirme ortamı, düğmeler, giriş alanları ve diğerleri gibi çeşitli kontrollerle grafiksel kullanıcı arabirimleri oluşturmanıza olanak tanır.

Bağımsız uygulamalar. MATLAB programları, hem konsol hem de GUI, bileşen kullanılarak oluşturulabilir. MATLAB Derleyicisi MATLAB'den bağımsız yürütülebilir uygulamalara veya diğer bilgisayarlarda çalışması için ücretsiz bir dağıtım ortamı gerektiren DLL'lere MATLAB Derleyici Çalışma Zamanı(MCR).

Dış arayüzler. MATLAB paketi, diğer programlama dillerinde yazılmış harici rutinlere, Bileşen Nesne Modeli veya Dinamik Veri Değişimi teknolojileri aracılığıyla iletişim kuran verilere, istemcilere ve sunuculara ve doğrudan MATLAB ile iletişim kuran çevre birimlerine erişmek için çeşitli arabirimler içerir. Bu yeteneklerin çoğu MATLAB API olarak bilinir.

COM. MATLAB paketi, COM nesneleri (hem istemciler hem de sunucular) oluşturmanıza, değiştirmenize ve silmenize izin veren işlevlere erişim sağlar. ActiveX teknolojisi de desteklenmektedir. Tüm COM nesneleri, MATLAB paketinin özel bir COM sınıfına aittir. Otomasyon kontrolörünün işlevlerine sahip tüm programlar (İng. Otomasyon kontrolör) bir otomasyon sunucusu olarak MATLAB'a erişebilir. Otomasyon sunucu).

.AĞ. Microsoft Windows üzerindeki MATLAB paketi, .NET Framework yazılımına erişim sağlar. MATLAB ortamından .NET Assemblies yüklemek ve .NET sınıfının nesneleri ile çalışmak mümkündür. MATLAB 7.11 (R2010b), .NET Framework 2.0, 3.0, 3.5 ve 4.0 sürümlerini destekler.

DDE. MATLAB paketi, Dinamik Veri Değişimi (DDE) teknolojisi aracılığıyla bu uygulamaların MATLAB verilerine erişmesinin yanı sıra diğer Windows uygulamalarına erişmesine izin veren işlevleri içerir. DDE sunucusu olabilen her uygulamanın kendi benzersiz tanımlayıcı adı vardır. MATLAB için bu isim - matlab.

Ağ hizmetleri. MATLAB, web servislerinin yöntemlerini çağırma yeteneği sağlar. Özel bir işlev, web hizmeti API'sinin yöntemlerine dayalı bir sınıf oluşturur.

MATLAB, bir web hizmeti istemcisinden gelen paketleri kabul ederek, bunları işleyerek ve bir yanıt göndererek etkileşime girer. Aşağıdaki teknolojiler desteklenir: Basit Nesne Erişim Protokolü (SOAP) ve Web Hizmetleri Açıklama Dili (WSDL).

COM bağlantı noktası. MATLAB seri bağlantı noktası arabirimi, bir seri bağlantı noktası (COM bağlantı noktası) aracılığıyla bir bilgisayara bağlanan modemler, yazıcılar ve bilimsel ekipman gibi çevresel aygıtlara doğrudan erişim sağlar. Bir arabirim, seri bağlantı noktası için özel bir sınıf nesnesi oluşturarak çalışır. Bu sınıfın mevcut yöntemleri, seri bağlantı noktasına veri okumanıza ve yazmanıza, olayları ve olay işleyicilerini kullanmanıza ve bilgisayar diskine gerçek zamanlı olarak bilgi yazmanıza izin verir. Bu, deneyler, gerçek zamanlı simülasyonlar ve diğer uygulamalar için kullanışlıdır.

MEX dosyaları. MATLAB paketi, C ve Fortran dillerinde yazılmış harici uygulamalarla etkileşim için bir arayüz içerir. Bu etkileşim MEX dosyaları aracılığıyla gerçekleştirilir. MATLAB'dan C veya Fortran ile yazılmış alt programları paketin yerleşik fonksiyonlarıymış gibi çağırmak mümkündür. MEX dosyaları, MATLAB'da yerleşik yorumlayıcı tarafından yüklenebilen ve yürütülebilen dinamik bağlantı kitaplıklarıdır. MEX rutinleri ayrıca MATLAB yerleşik komutlarını çağırma yeteneğine de sahiptir.

DLL. MATLAB genel DLL arabirimi, sıradan dinamik bağlantı kitaplıklarında bulunan işlevleri doğrudan MATLAB'dan çağırmanıza olanak tanır. Bu işlevlerin bir C arabirimi olmalıdır.

Ayrıca MATLAB, paket fonksiyonların C ile yazılmış harici uygulamalarda kullanılmasına izin veren C arayüzü üzerinden yerleşik fonksiyonlarına erişme yeteneğine sahiptir. MATLAB'da bu teknolojiye denir. C Motoru.

Alternatif paketler. Sayısal analiz problemlerini çözmek için çok sayıda yazılım paketi vardır. Bu paketlerin çoğu ücretsiz yazılımdır.

MATLAB ile programlama dili düzeyinde uyumlu:

İşlevsellikte benzer:

    APL ve torunları: ör. J

    Python, Python (x, y) yazılım paketiyle ve NumPy, SciPy ve matplotlib gibi kitaplıklarla kullanıldığında benzer yetenekleri uygular.

    IDL (İng. etkileşimli Veri Dilim Bir zamanlar MATLAB'ın ticari rakibi olan interaktif bir veri tanımlama dili), sayısal analiz yazılım ürünleri pazarındaki payı düşmüş olmasına rağmen, günümüzde birçok uygulama alanında ciddi bir rakip olmaya devam etmektedir.

    Sun Microsystems tarafından oluşturulan bir programlama dili olan Fortress, Fortran'ın halefidir, ancak onunla uyumlu değildir.

    Sayısal analiz için büyük projeler geliştirmek gerekirse, statik tiplemeyi destekleyen ve modüler bir yapıyı destekleyen genel amaçlı programlama dillerini kullanmak mümkündür. Örnekler Modula-3, Haskell, Ada, Java'yı içerir. Aynı zamanda, bilimsel ve mühendislik ortamında bilinen özel kütüphanelerin kullanılması tavsiye edilir.

2. Matlab araç kutuları

Matlab'da, adı verilen özel program grupları tarafından önemli bir rol oynanır. araç kutuları... Araç kutuları, belirli bir problem sınıfını çözmek için MATLAB'da yazılmış kapsamlı bir işlevler (m-dosyaları) koleksiyonudur. Mathworks, aşağıdakiler de dahil olmak üzere birçok alanda kullanılan araç takımları sağlar:

    Sinyallerin, görüntülerin ve verilerin dijital olarak işlenmesi: DSP Araç Kutusu, Görüntü İşleme Araç Kutusu, Dalgacık Araç Kutusu, İletişim Araç Kutusu, Filtre Tasarımı Araç Kutusu- sinyal işleme, görüntüler, dijital filtrelerin tasarımı ve iletişim sistemlerinin çok çeşitli görevlerini çözmeye izin veren işlev setleri.

    Kontrol sistemleri: Kontrol Sistemleri Araç Kutusu, µ-Analiz ve Sentez Araç Kutusu, Sağlam kontrol araç kutusu, Sistem Tanımlama Araç Kutusu, LMI Kontrol Araç Kutusu, Model Tahmine Dayalı Kontrol Araç Kutusu, Model Tabanlı Kalibrasyon Araç Kutusu- sağlam kontrol, H∞-kontrol, LMN-sentezi, µ-sentezi ve diğerleri gibi modern kontrol algoritmaları dahil olmak üzere, dinamik sistemlerin analizini ve sentezini, kontrol sistemlerinin tasarımını, simülasyonunu ve tanımlanmasını kolaylaştıran fonksiyon setleri.

    finansal analiz: GARCH Araç Kutusu, Sabit Gelir Araç Kutusu, Finansal Zaman Serisi Araç Kutusu, Finansal Türev Araç Kutusu, Finansal Araç Kutusu, Veri Beslemesi Araç Kutusu- çeşitli finansal bilgileri hızlı ve verimli bir şekilde toplamanıza, işlemenize ve aktarmanıza olanak tanıyan işlevler kümesi.

    Üç boyutlu dahil olmak üzere coğrafi haritaların analizi ve sentezi: Haritalama Araç Kutusu.

    Deneysel verilerin toplanması ve analizi: Veri Toplama Araç Kutusu, Görüntü Toplama Araç Kutusu, Enstrüman Kontrol Araç Kutusu, Code Composer Studio için Bağlantı- gerçek zamanlı da dahil olmak üzere deneyler sırasında elde edilen verileri kaydetmenize ve işlemenize izin veren işlev setleri. Çok çeşitli bilimsel ve mühendislik ölçüm ekipmanları desteklenmektedir.

    Veri görselleştirme ve sunum: Sanal Gerçeklik Araç Kutusu- sanal gerçeklik teknolojileri ve VRML kullanarak etkileşimli dünyalar oluşturmanıza ve bilimsel bilgileri görselleştirmenize olanak tanır.

    Geliştirme araçları: COM için MATLAB Oluşturucu, Excel için MATLAB Oluşturucu, NET için MATLAB Oluşturucu, MATLAB Derleyicisi, Filtre Tasarımı HDL Kodlayıcı- MATLAB ortamından bağımsız uygulamalar yaratmanıza izin veren fonksiyon setleri.

    Harici yazılım ürünleriyle etkileşim: MATLAB Rapor Üreticisi, Excel Bağlantısı, Veritabanı Araç Kutusu, MATLAB Web Sunucusu, ModelSim için bağlantı- verileri, diğer programların onlarla çalışabileceği şekilde kaydetmenize izin veren işlev setleri.

    Veri tabanı: Veritabanı Araç Kutusu- veritabanlarıyla çalışmak için araçlar.

    Bilim ve matematik paketleri: Biyoinformatik Araç Kutusu, Eğri Uydurma Araç Kutusu, Sabit Noktalı Araç Kutusu, Bulanık Mantık Araç Kutusu, Genetik Algoritma ve Doğrudan Arama Araç Kutusu, OPC Araç Kutusu, Optimizasyon Araç Kutusu, Kısmi Diferansiyel Denklem Araç Kutusu, Spline Araç Kutusu, İstatistik Araç Kutusu, RF Araç Kutusu- genetik algoritmaların geliştirilmesi, kısmi türevlerde problemlerin çözülmesi, tamsayı problemleri, sistem optimizasyonu ve diğerleri dahil olmak üzere çok çeşitli bilimsel ve mühendislik problemlerinin çözülmesine izin veren özel matematiksel fonksiyon setleri.

    Nöral ağlar: Sinir Ağı Araç Kutusu- sinir ağlarının sentezi ve analizi için araçlar.

    Bulanık mantık: Bulanık Mantık Araç Kutusu- bulanık kümeler oluşturmak ve analiz etmek için araçlar.

    sembolik hesaplama: Sembolik Matematik Araç Kutusu- Maple programının sembolik işlemcisi ile etkileşime girme yeteneğine sahip sembolik hesaplamalar için araçlar.

Yukarıdakilere ek olarak, diğer şirketler ve meraklılar tarafından yazılmış binlerce başka MATLAB araç takımı vardır.