15 Temmuz 2013 Pazartesi

MATLAB PROGRAMLAMA

MATLAB PROGRAMLAMAYA GİRİŞ




Bu yazının amacı, MATLAB ile programlama konusunda temel fikirleri tanıtmaktır. Hiçbir programlama deneyimi gerektirir, ama MATLAB ile bazı aşinalık tavsiye edilir. Gerekli tüm arka plan öğretici bulunabilir MATLAB giriş.


MATLAB PROGRAMLAMAProgramlama yapıları MATLAB için geçerli aşağıda sunulmuştur. Ancak, bu yapıların çok döngüler, mantıksal işlemler, vb, MATLAB çalışma, diğer başlayan programlama için iyi hazırlanmış olacaktır nasıl anlayarak, C, Java, Pascal, vb gibi diğer bilgisayar dilleri, çok benzer dilleri de.
Verilen örnekler çoğu bu derse ilgisiz gibi görünüyor olabilir. Ancak, bu yazının görünüşte aptal ve bazen matematiksel ilgisiz örnekler ve alıştırmalar anlayarak, tüm ödev sorunları çözmek için programlar yazmak için tüm altyapıya sahip olacak.
Bir çok örnek verilmiş aşağıda verilecektir. Onlar MATLAB kod olarak verilecektir ancak bu programları çalıştırdığınızda alırsınız çıktı verilmeyecektir. Bu eğitimde üzerinde giderken, MATLAB komut penceresinde onları çalıştırmak ve dikkatle sonuçları değerlendirildi ve kodu ile mukayese sonra örnekler kendiniz uygulamak ve tavsiye edilir.

MATLAB bir program düzenlemek ve çalıştırmak için nasıl

Programları yazarken,, ayrı bir pencerede bu yapmanız gereken editör çağırdı.Editör açmak için, "Dosya" menüsüne gidin ve ya "Yeni ... M-dosyası" (Yeni bir program oluşturmak istiyorsanız) veya "Aç" (eski bir belgeyi açmak için) seçeneğini seçin. Düzenleyicisinde artık perinizi bir kelime işlemci kullanarak yazarsınız nasıl, kodunuzu yazabilirsiniz. Sadece favori kelime işlemci gibi, metin düzenleme için menüler vardır. Editörü kodunuzu yazarken, hiçbir komut yapılacaktır! Bir programı çalıştırmak için aşağıdakileri yapın:
  1. <filename> Olarak kodu kaydedin. <filename> Dosya adı isteyen bir şey olduğunu m,. Bu dosya sonunda ". M" eklemek için önemlidir. Aksi takdirde MATLAB program anlamak olmayabilir.
  2. Komut penceresine gidin. Gerekirse, dosyasını içeren dizine dizinleri değiştirin. Dizinde dosya kaydedilmiş Örneğin, "C: \ mymatlab", bu dizine MATLAB geçerli dizini değiştirmek gerekir. Bu UNIX ve DOS için ortak cd komutunu kullanarak yapılabilir. Ya da, alternatif olarak, etiketli düğmeyi seçebilirsiniz "...""Geçerli dizini" penceresi ve grafiksel değişim dizinleri. Sen pwd komutu yazarak geçerli dizin görüntüleyebilirsiniz.
  3. Programı çalıştırmak için, komut istemine program içeren dosyanın adını yazın. Komut penceresinde dosya adı yazarak ". M" dahil değildir. Enter basarak, MATLAB programı çalıştırmak ve dosyasında verilen tüm komutları gerçekleştirir.
Kodunuzu hatalar var Eğer komut penceresinde programı çalıştırmayı denediğinizde, MATLAB şikayet edecek. Bu durumda, Hata iletilerini yorumlamak ve editörü kod için gerekli değişiklikleri yapmayı deneyin. MATLAB tarafından bildirilen hata soruna neden dosyasında hattına bağlantısı sunulur. Eğer değişiklikleri yaptıktan sonra böylece doğru hataya neden oldu programınızda satır atlayabilirsiniz Fareyi kullanarak., Komut penceresinde programı yeniden çalıştırılmadan önce dosyayı kaydetmek emin olun.

Genel programlama tavsiye

Programlarken, aynı anda kod yazmak için denemek asla, hatta en deneyimli programcı için, son derece önemlidir.Sen küçük adımlarla programına ve bu küçük adımların her biri olarak bir sonraki adıma programlamak geçmeden önce beklendiği gibi çalışır emin olun.Aslında editörü içine yazmadan önce uzun kod yazarken, her zaman kod anahat kalem ve kağıt kullanın.

Basic programlama yapıları

Giriş / Çıkış

MATLAB böyle bir değişkenin değerini döndürmek gibi bir çıkış, vermek-yapmak için, herhangi bir noktalı virgül olmadan değişkenin adını yazın (,) değişken takip.Birçok durumda, bu MATLAB kullanan bir değişken her zaman değerini görmek için bir ihtiyaç vardır.MATLAB bir değişken 1000 kez değerini yeniden hesaplar, biz muhtemelen sonuç her zaman görmek istemiyorum.Bir değerin çıkış surpress için, sadece değişken sonra bir noktalı virgül ekleyin.Daha sonra MATLAB komutu gerçekleştirir, ancak ekranda gösterilmez.
Diyelim ki kullanıcı biz çalışmak için programı istediğiniz bir değer girin istediklerini söylüyorlar. Bu sözdizimi ile giriş komutunu kullanarak yapılabilir

değişken = input ('metin');

Bu komut ekranda metin çıktı ve sonra bir sayı girmek için kullanıcı bekler. Değişken artık kullanıcının girdiği numarası tahsis edilecektir. (Yerine sayı okuma harfler için bu komutu kullanarak biraz daha karmaşıktır ve bu öğretici kapsamında değildir.)
Şimdi bizim ilk örnek zamanı geldi. Aşağıdaki program, dolar bir miktar için kullanıcı sorar ve yabancı para cinsinden bu tutarın değerini döndürür.

Örnek 1.

temizleyin 
= 0.5 exchange_rate; 
miktarı = girişi ('dolar miktarı verin:'); 
amount_in_foreign_currency = exchange_rate * miktarı

İyi bir uygulama açık, hangi siler tüm değişkenleri ile kodunuzu başlayacak. Bunu yoksa keşfetmek çok zor programı çalıştırdığınızda, hataları alabilirsiniz.

İlişkisel ve mantıksal operatörler

Bu başlık korkutucu gelebilir ama gerçekten programlama için kullanılan temel operatörlerin bazıları için sadece bir fantezi adıdır.Aşağıda bazı yararlı komutlar içeren bir liste izler.

Mantıksal operatörler


Çalışma:MATLAB komut:
Mantıksal ve&
Mantıksal veya|
Inkâr etmek~

İlişkisel operatörler


Çalışma:MATLAB komut:
Az kesinlikle<
Küçük veya eşit<=
Dan çok büyük>
Büyük veya eşit> =
Eşit==
Eşit değil~ =

Bu = ve == arasındaki farkı bilmek önemlidir. Örneğin, x = 3, bir değişkene bir sayı atarken eski, =, kullanılır;. İkincisi, ==, iki ifade eşit olup olmadığını kontrol etmek için kullanılır. Bu durum aşağıdaki örneklerde, ama önce biz if-ifadesi ne bir bilmek yeterlidir. Sık sık bir açıklama doğru veya yanlış olup olmadığını kontrol edin ve bu testin sonucuna bağlı olarak farklı işlemleri gerçekleştirmek için bilgisayar istiyorum programlarken. Bu sözde bir if-ifadesi kullanılarak yapılabilir. Sözdizimi aşağıda verilmiştir.


mantıksal ifade ise
komutları
başka
komutları
son

Her eğer için, bir ucu if-ifadesi "kapatmak" gerektiğini unutmayın. S ve son: hep maç emin olun! (Bu programlama hataları için ortak bir kaynaktır.)
Bu paragrafın içeriği soyut görünüyordu olabilir ama dikkatlice aşağıdaki üç örnek eğitim ve Egzersiz 1 yaparak umarım netleşecek.
Örnek 2.

temizleyin 
N = girişi ('pay verin:'); 
D = input ('payda verin:'); 
Eğer D == 0

'Üzgünüm, sıfıra bölme olamaz'
başka
oranı = N / D
son
Bir sonraki örnekte, MATLAB bizim ay "geçer" hangi testi bağlı olarak bir şeyler yazmak olun. MATLAB çıkış olarak metin yazmak için, metin etrafında tek tırnak'kullanın.
Örnek 3.

temizleyin 
ay = input ('ay sayısı (1-12) verin:'); 
ay == 1 ise | ay == 3 | ay == 5 | ay == 7 | ay == 10 | ay == 12

'Sizin ay 31 gün bulunur
başka
ay == 2 ise
'Sizin Ay 28 Gün bulunur
başka
'Sizin ay 30 gün'
son
son
Bir sonraki örnekte komut rem (kalan) kullanın. Sözdizimi
REM uykusu (x, y)
ve iki tamsayı, x ve y bölünmesi sonra geri kalanı verir.
Örnek 4.

temizleyin 
numarası = input ('bir tamsayı verin:'); 
remainder2 = rem (sayı, 2); 
remainder3 = rem (sayı, 3); 
remainder2 == 0 & remainder3 == 0 ise

'Sizin numarası 2 ve 3 ile bölünebilir'
başka
remainder2 == 0 ise
'Numaranız ancak 3 ile 2 ile divisble olduğunu'
başka
remainder3 == 0 ise
'Numaranız ancak 2 ile 3 ile bölünebilir'
başka
'Sizin numarası 2 veya 3 ya bölünebilir değil'
son
son
son
1 Egzersiz.
Iki farklı döviz kurları, exchange_rate1 = 0.5 ve exchange_rate2 = 0.25 işleyebilir Örnek 1'deki benzer bir "para birimi değişim programı" yazın. Ilk dolar miktarı için sormak ve sonra hızı (sayıları sırasıyla 1 ve 2 ile temsil edilir) o / o istediği kullanıcı sormak programı tasarlayın. Program istenen yabancı para cinsinden miktarı geri dönelim.

Tekrarlanan işlemleri (döngüler)

Bilgisayarların gücü onlar (sıkılmadan!) Tekrar tekrar işlemleri yapabiliyor olmasıdır.Gelecek dönem göreceğimiz gibi, örneğin, bir ODE-çözücü binlerce küçük bir zaman adımı ile çözüm bilgisayar kez bir fonksiyonu değerini hesaplamak olabilir.Tekrar tekrar yapılır bir işlem daha sık tekrar eden bir işlem veya, bir döngü denir.Orada döngüler farklı türü vardır ama en yaygın olanı için-döngü.Bir için döngü için sözdizimi aşağıdaki gibidir:

döngü değişkeni için = startvalue: Á
komutları
son
Son değer ulaşılıncaya kadar bu döngü her adımda 1 başlangıç ​​değeri, artış döngü değişken olarak döngü değişkeni initate olacaktır. Aşağıda-döngüler için nasıl kullanılacağına ilişkin birkaç örnek izler.
Örnek 5.

temizleyin 
i = 01:20 için

x (i) = i / 7;
son

x
Aşağıdaki örnekte döngü için iç içe bir sözde bakın. Bu daha sonra başka bir şey, bir "bir döngü içinde döngü" dir. Biz bir son ile her "yakın" olmalıdır nasıl unutmayın. Bu örnekte nasıl çalıştığını anlamak emin olun!
Örnek 6.

temizleyin 
i = 01:05 için

J = 01:05 için
A (i, j) = 10 * i + j;
son
son

Bir
Aşağıdaki örnekte, değişken mySum amacını anlamak emin olun. Bu programlarken toplamları yerine ortak bir yoludur.
Örnek 7.

temizleyin 
mySum = 0; 
k = 00:10 için

mySum = mySum +1 / gama (k +1);
son

e_approximation = mySum
e_exact = exp (1)
Bir sonraki örnekte, vektör endeksleme "shift" var dikkat edin. Vektör veya matris-endeksleri! MATLAB programlama en yaygın hatalardan biri olarak MATLAB sıfır olmayan, pozitif tamsayılar olması gerektiğini programı bir yerine sıfır indeksleme başlar. Ayrıca kodu metin önce bir yüzde işareti (%) yazarak, MATLAB kod olarak bu metni yorumlamaz nasıl unutmayın. Sadece kodu kullanarak herhangi bir kişi için bir yorum olarak hizmet vermektedir. Programları yazarken kodunuzu yorumlayan esastır.
Örnek 8.

temizleyin 
k = 0:70 için

x (k +1) = 0,1 * k, vektörlerin% Endeksleri OLMAYAN SIFIR olmalı!
= 0 Özetle;

m = 00:10 için
toplam = toplam + (x (k +1) ^ m) / gama (m +1); kullanarak% Yaklaşık exp (x) kendi Taylor serisi
son

E (k +1) = toplam;% E (k +1) Taylor serisi yaklaşık içerir. , x = x (k +1)
son

semiloloji (x, e)
başlık ('e ^ x x 0 ila 7 Yaklaşım')
xlabel ('x')
ylabel ('e ^ x')
2 Egzersiz.
Toplamı hesaplanarak PI yaklaşan bir program yazmak
 .
Eğer toplama tutmak daha fazla terim, daha doğru cevap olacaktır. (M sonsuza gider gibi Aslında, dizi PI için yakınsar.) Eğer 5 ondalık ile yaklaşık PI gerekir kaç şartlarına bakın. (Not: yaklaşık PI için en verimli şekilde yoluyla bu, ancak formülü oldukça güzel ...)

3 Egzersiz.
10, 100, 1000, 10000 ve 100000 terimleri kullanarak yaklaşık PI için Egzersiz 2'de verilen toplam kullanın. Bu sayı her biri için, yaklaşım hata hesaplamak. Toplamı kullanılan terimlerin sayısının bir fonksiyonu olarak, hata çizilir.



1 yorum: