MATLAB - GNU Oktav Eğitimi

GNU Octave, MATLAB gibi üst düzey bir programlama dilidir ve çoğunlukla MATLAB ile uyumludur. Ayrıca sayısal hesaplamalar için de kullanılır.

Octave, MATLAB ile aşağıdaki ortak özelliklere sahiptir -

  • matrisler temel veri türüdür
  • karmaşık sayılar için yerleşik desteğe sahiptir
  • yerleşik matematik işlevleri ve kitaplıkları vardır
  • kullanıcı tanımlı işlevleri destekler

GNU Octave ayrıca serbestçe yeniden dağıtılabilen bir yazılımdır. Özgür Yazılım Vakfı tarafından yayınlanan GNU Genel Kamu Lisansı (GPL) koşulları altında yeniden dağıtabilir ve / veya değiştirebilirsiniz.

MATLAB ve Octave

Çoğu MATLAB programı Octave'de çalışır, ancak bazı Octave programları MATLAB'da çalışmayabilir çünkü Octave, MATLAB'ın izin vermediği bazı sözdizimlerine izin verir.

Örneğin, MATLAB yalnızca tek tırnakları destekler, ancak Octave, dizeleri tanımlamak için hem tek hem de çift tırnakları destekler. Octave hakkında bir eğitim arıyorsanız, hem MATLAB hem de Octave'yi kapsayan bu öğreticiyi en baştan gözden geçirin.

Uyumlu Örnekler

Bu eğitimde kapsanan hemen hemen tüm örnekler MATLAB ve Octave ile uyumludur. Herhangi bir sözdizimi değişikliği olmadan aynı sonucu üreten MATLAB ve Octave'de aşağıdaki örneği deneyelim -

Bu örnek, g = xe - (x 2 + y 2 ) fonksiyonu için bir 3B yüzey haritası oluşturur . Bir komut dosyası oluşturun ve aşağıdaki kodu yazın -

[x,y] = meshgrid(-2:.2:2);
g = x .* exp(-x.^2 - y.^2);
surf(x, y, g)
print -deps graph.eps

Dosyayı çalıştırdığınızda, MATLAB aşağıdaki 3-B haritayı görüntüler -

Uyumlu olmayan Örnekler

MATLAB'ın tüm temel işlevleri Octave'de mevcut olsa da, her iki dilde de tam olarak eşleşmeyen Diferansiyel ve Entegrasyon Hesabı gibi bazı işlevler vardır. Bu öğretici, sözdizimlerinde farklılık gösteren her iki tür örneği de vermeye çalıştı.

MATLAB ve Octave'in bir eğrinin alanını elde etmek için farklı fonksiyonlardan yararlandığı aşağıdaki örneği düşünün: −4 ≤ x ≤ için f (x) = x 2 cos (x) 9. Kodun MATLAB versiyonu aşağıdadır -

f = x^2*cos(x);
ezplot(f, [-4,9])
a = int(f, -4, 9)
disp('Area: '), disp(double(a));

Dosyayı çalıştırdığınızda, MATLAB grafiği çizer -

Aşağıdaki sonuç görüntülenir

a =
8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9)
 
Area: 
   0.3326

Fakat Octave'de aynı eğrinin alanını vermek için şunlardan yararlanmanız gerekecek symbolic aşağıdaki gibi paket -

pkg load symbolic
symbols

x = sym("x");
f = inline("x^2*cos(x)");

ezplot(f, [-4,9])
print -deps graph.eps

[a, ierror, nfneval] = quad(f, -4, 9);
display('Area: '), disp(double(a));