27
MATLAB GİRİŞ CONTROL LAB1 MATLAB ORTAMI Komut Penceresi Yardım Alma: e.g help sin, lookfor cos Değişkenler Vektörler, Matrisler ve Lineer Cebir (det, inv …) Grafik çizme, plot(x,y,’r’), hist (colormap([0 0 0])), semilog, loglog

MATLAB GİRİŞ CONTROL LAB1 - Weeblyomerkaksi.weebly.com/uploads/1/3/7/6/13765618/kontrol... · 2018. 10. 10. · MATLAB GİRİŞ CONTROL LAB1 MATLAB ORTAMI Komut Penceresi Yardım

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

  • MATLAB GİRİŞ CONTROL LAB1

    MATLAB ORTAMI

    Komut Penceresi Yardım Alma: e.g help sin, lookfor cos

    Değişkenler

    Vektörler, Matrisler ve Lineer Cebir (det, inv …)

    Grafik çizme, plot(x,y,’r’), hist (colormap([0 0 0])),

    semilog, loglog

  • M-FILE(SCRIPT)

    Yazılı metin olarak M-dosyası üretme

    o Editor

    oKendi komutlarınızı yazma

    oEditor deki dosyayı kaydetmek(otomatik M-dosyası olarak kaydeder)

  • YARDIM ALMA

    • Komut penceresine aşağıdaki komutlardan birini

    help – tüm yardım komutlarını listeler

    help konu– belirli konu ile ilgili yardım sağlar

    help komut– belirli komut ile ilgili yardım sağlar

    help help – ‘help’ komutunun kullanımı ile ilgili bilgi verir

    helpwin – farklı ‘help’ penceresi açar

    lookfor anahtarkelime– Tüm M-dosyalarında anahtarkelime arar

  • DEĞİŞKENLER

    • Değişken isimleri: Harf ile başlamalı

    Sadece harf,rakam ve alt çizgi “_”

    içermeli

    Matlab büyük-küçük harfe duyarlı, i.e.

    one & OnE farklı değişkenlerdir.

    Matlab değişkenin adının ilk

    31karakterini tanıyabilir

    Değer atama ifadeleri:

    Değişken= sayı;

    Değişken = ifade;

    Example:

    >> tutorial = 1234;

    >> tutorial = 1234

    tutorial =

    1234

    NOTE: noktalı virgül komutun sonuna konduğunda,

    sonuç gösterilmez

  • DEĞIŞKENLER (DEVAM)

    • Özel değişkenler: ans : sonuç için atanan değişken

    pi: = 3.1415926…………

    eps: = 2.2204e-016, MATLAB da

    tanımlı en küçük sayı.

    Inf or inf : , sonsuz

    NaN or nan: sayı-değil

    Değişkenleri içeren komutlar: who: Tanımlanan değişkenleri listeler

    whos: Tanımlanan değişkenlerin isimlerini ve

    büyüklüklerini listeler

    clear: Tüm değişkenleri siler, öntanımlı olanlar eski

    haline döner

    clear x: ‘x’ isimli değişkeni siler

    clc: komut penceresini temizler

    clf: açık olan figürü ve grafik penceresini temizler

  • • MATLAB da satır vektörü köşeli parantez ve değerler boşluk veya virgülle girilip oluşturulabilir.

    • Sütun vektörü oluşturulmasında tek fark virgül

    yerine noktalı virgül kullanılmasıdır.

    VEKTÖRLER, MATRISLER, DIZILER VE LINEER CEBIR

    Örnek:

    >> x = [ 0 0.25*pi 0.5*pi 0.75*pi pi ]

    x =

    0 0.7854 1.5708 2.3562 3.1416

    x satır vektörü.

    >> y = [ 0; 0.25*pi; 0.5*pi; 0.75*pi; pi ]

    y =

    0

    0.7854

    1.5708

    2.3562

    3.1416 y sütun vektörü.

  • VEKTÖRLER (DEVAM)

    • Vektör adresleme– Vektör elemanının adresi parantez içindeki index ile gösterilir

    • Example:

    >> x(3)

    ans =

    1.5708

    x vektörünün 1^den 3’e elemanlar

    Blok elemanları adreslemek için iki nokta kullanılır.

    (start : increment : end)

    start: başlama indeksi,

    increment: Artış miktarı

    end: bitiş indeksi

    start:end de kullanılabilir

    Örnek:

    >> x(1:3)

    ans =

    0 0.7854 1.5708

    x vektörünün ilk üç elemanı

  • MATRIS

    • A m x n matris olsun. Matris dizisi iki boyutludur; birden çok satırı

    ve sütunu vardır.

    • [ ile başlar,] ile biter

    Satırda elemanları ayırmak için boşluk veya

    virgül

    iki nokta veya enter ise farklı satıra geçmek

    için kullanılır.

    •Örnek:

    >> f = [ 1 2 3; 4 5 6

    f =

    1 2 3

    4 5 6

    >> h = [ 2 4 6

    1 3 5]

    h =

    2 4 6

    1 3 5

  • MATRIS (DEVAM)

    • Matris Adresleme: -- matrixname(satır, sutun)

    -- iki nokta: satır ve sütun yerine kullanılabilen

    işaret

    Aşağıdaki matrisleri tanımlayalım:

    f =

    1 2 3

    4 5 6

    h =

    2 4 6

    1 3 5

    Örnek:

    >> f(2,3)

    ans =

    6

    >> h(:,1)

    ans =

    2

    1

  • BAZI KULLANIŞLI KOMUTLAR:

    zeros(n) n x n sıfırlardan oluşan matris

    zeros (m,n) m x n sıfırlardan oluşan matris

    ones(n) n x n 1 lerden oluşan matris

    ones(m,n) m x n 1 lerden oluşan matris

    rand(n) n x n rastgele sayılardan oluşan matris

    rand(m,n) m x n rastgele sayılardan oluşan matris

    size (A) m x n A matrisini, satır vektörü [m,n] olarak

    boyutlarını verir

    length(A) A matrisinin uzunluğunu verir

  • Skaler-Dizi Matematiği

    Dizilerin skaler bir sayıyla toplama, çıkarma, çarpma ve bölme işlemlerinin

    yapılması basitçe her elemana ayrı ayrı uygulanmasıdır

    Örnek:

    >> f = [ 1 2; 3 4]

    f =

    1 2

    3 4

    >> g = 2*f – 1 Her eleman 2 ile

    g = çarpıldı, hepsinden 1 çıkarıldı

    1 3

    5 7

  • Örnek:

    >> x = [ 1 2 3 ];

    >> y = [ 4 5 6 ];

    >> z = x .* y

    z =

    4 10 18

  • Matris tersi alarak çözüm:

    Ax = b

    A-1 Ax = A-1 b

    x = A-1 b

    MATLAB:

    >> A = [ 3 2 -1; -1 3 2; 1 -1 -

    1];

    >> b = [ 10; 5; -1];

    >> x = inv(A)*b

    x =

    -2.0000

    5.0000

    -6.0000

    Answer:

    x1 = -2, x2 = 5, x3 = -6

    Matris bölümü olarak çözüm:

    Aşağıdaki denklemin çözümü

    Ax = b

    sol bölme işareti ile yapılabilir.

    MATLAB:

    Answer:

    >> A = [ 3 2 -1; -1 3 2; 1 -1 -1];

    >> b = [ 10; 5; -1];

    >> x = A\b

    x =

    -2.0000

    5.0000

    -6.0000

    x1 = -2, x2 = 5, x3 = -6

  • Çizim Komutları:

    plot (x,y) – x (yatay eksen) ve y (düşey eksen) değerleriyle lineer çizim yapar

    semilogx (x,y) – x (yatay eksen) ve y (düşey eksen) değerleriyle x ekseninde logaritmik y ekseninde

    lineer değerlerle çizim yapar

    semilogy (x,y) – x (yatay eksen) ve y (düşey eksen) değerleriyle x ekseninde lineer y ekseninde

    logaritmik değerlerle çizim yapar

    loglog(x,y) –x (yatay eksen) ve y (düşey eksen) değerleriyle logaritmik çizim yapar

  • Birden fazla eğriler:

    plot (x, y, w, z) – Birden fazla eğri plot komutunda belirtilerek çizilebilir. X,y,z ve w

    değişkenleri vektörlerdir. Bu komutta iki eğri çizilir: y - x, ve z-w

    multiple curves can be plotted on the same graph by using

    legend (‘string1’, ‘string2’,…) – Aynı figürdeki şekilleri ayırmak için kullanılır.

    Birden fazla şekil:

    figure (n) – Birden fazla figür üretmek için bu komut kullanılır ve ‘Figure n’ ismi verilir

    close –figür n penceresini kapatır

    close all – Tüm figür pencerelerini kapatır.

    altşekil:

    subplot (m, n, p) – m by n grid of windows, with p specifying the current plot as the pth

    window

  • Örnek: (polinom fonksiyonu)

    Aşağıdaki polinom fonksiyonunu using lineer/lineer,

    log/lineer , lineer/log, & log/log olarak çiziniz:

    y = 2x^2 + 7x + 9

    CODE

    % Generate the polynomial:

    x = linspace (0, 10, 100);

    y = 2*x.^2 + 7*x + 9;

    % plotting the polynomial:

    figure (1);

    subplot (2,2,1), plot (x,y);

    title ('Polynomial, linear/linear scale');

    ylabel ('y'), grid;

    subplot (2,2,2), semilogx (x,y);

    title ('Polynomial, log/linear scale');

    ylabel ('y'), grid;

    subplot (2,2,3), semilogy (x,y);

    title ('Polynomial, linear/log scale');

    xlabel('x'), ylabel ('y'), grid;

    subplot (2,2,4), loglog (x,y);

    title ('Polynomial, log/log scale');

    xlabel('x'), ylabel ('y'), grid;

  • MATLAB da Polinomlar

    Polynomial Function Summary Function Description

    Conv Polinomları çarp

    Deconv böl

    Poly Belirli köklerde polinom

    Polyder türev

    Polyfit Polinom eğri uydurma

    Polyval Polinom değerlendirme

    Polyvalm Matris polinom değerlendirme

    Residue Partial-fraction expansion (residues)

    Roots Polinom kökleri bul

  • Roots, Poly etc…………………

    Matlab da polinom tanımlama

    p(x)=x^3 -2x -6

    matlab : p=[1 0 -2 -6];

    Kökleri bulma R=roots(p)

    r = 2.0946

    -1.0473 + 1.1359i

    -1.0473 - 1.1359i

    Polinomu belirli değerde hesaplama Polyval(p,value)

    polyval(p,5)

    ans=110

  • Conv, Decon

    Konvolüsyon=Polinom çarpımı Ex: a(S)=S^2 + 2S +3 b(S)= 4S^2 + 5S + 6 Çarp

    a=[1 2 3]; b=[ 4 5 6];

    c=con(a,b)

    ans =

    4 13 28 27 18

    Bölmek için dekonvolüsyon kullanılır

    [q,r]=Decon(c,a)

    q = 4 5 6

    r= 0 0 0 0 0

  • Polinomun Türevi

    Polinomun türevini almak için Polyder() kullanılır

    Örnek:

    >>p= [1 0 -2 -5]

    >>q = polyder(p)

    Ans

    q =

    3 0 -2

    Örnek: >>a = [1 3 5];

    >>b = [2 4 6];

    c=polyder(a,b) a*b nin türevi

    Ans

    c = 8 30 56 38

    Örnek2: a/b nin türevi

    [q,d]=polyder(a,b)

    Ans

    q = -2 -8 -2

    d = 4 16 40 48 36 Son cevap : q/d

  • Kısmi Kesir

    A ve B polinomlarını kısmi

    kesir olarak yazma

    Örnek:

    Transfer fonksiyonu:

    >>b = [-4 8];

    >>a = [1 6 8];

    >>[r,p,k] = residue(b,a)

    Ans

    r =

    -12

    8

    p =

    -4

    -2

    k =

    []

  • Örnek 1: Aşağıdakileri elde etmek için MATLAB komutları kullanınız.

    a) magic(6) komutuyla üretilen matirisin dördüncü satırını ayrı vektör olarak elde ediniz.

    b) x = [0:0.1:1.1] ve y = [10:21] olarak tanımlayınız.

    ‘x’.‘y’ çarpımını ve ‘y’ nin ‘x’ e bölümünü bulunuz. Sonuçları gösteriniz.

    c) r matrisini rastgele 4 x 5 boyutunda üretiniz. Üretilen rastgele elemanlar -8 ile 9 arasında olsun.

    Örnek 2: Aşağıdaki figürlerin aynısını elde etmek için MATLAB komutları yazınız.

    x=pi/2:pi/10:2*pi;

    y=sin(x);

    z=cos(x);

    Ödev

  • Örnek 3:

    İki polinom tanımlayalım: P(S )=S^2 + 2S + 1 and Q(S)= S+1 .

    MATLAB kullanarak aşağıdaki işlemleri yapınız.

    a. P(S )*Q(S )

    b. P(S) ve Q(S) polinomlarının köklerini bulunuz.

    c. P(-1 ) ve Q(6) değerlerini bulunuz.

    Exercise 4:

    MATLAB komutları kullanarak aşağıdaki polinom bölümünü kısmi kesir şeklinde yazınız.

  • Örnek 5: MATLAB M-dosya fonksiyonu

    Aşağıdaki eşitliği kullanarak

    a) y(t) fonksiyonunun numerik değerlerini elde etmek için MATLAB m-dosya fonksiyonu

    oluşturunuz. Fonksiyonunuz y0, ζ, ωn, t ve θ değerlerini giriş (input) olarak almalı ve y(t) çıkış

    (output) değerini bulmalı.

    b) 0