Ana içeriğe atla

Matlab Programlama 4 Klavyeden Veri Girişi Input Kullanımı

Merhabalar herkese. Uzunca bir aradan sonra yeni bir matlab dersi ile beraberiz. Bu dersimizde Matlab dahil tüm programlama dilleri için önemli bir konu olan klavyeden programa nasıl veri girişi yapabiliriz nasıl veri aktarırız bunu anlatmaya çalışacağım.

O zaman Bismillah diyelim ve yola koyulalım.

Bildiğimiz gibi programların işleyebilmesi istediğimiz işlemleri yapabilmesi için klavye gibi bir dış giriş kaynağından programa veri girişinde bulunmamız gerekebilir. Matlab da bu tür bir işlemi yapabilmemizi sağlayan komut input komutudur.

Şimdi bu kullanımı incelemeye çalışalım.

Matlab da bildiğimiz gibi türlerle pek uğraşmayız bir veri ya sayısaldır yada düz metin yazısı. Bu klavyeden giriş alırken de değişmeyen bir kuraldır. 

O yüzden burada karar vermemiz gereken tek şey var girilecek değer string bir ifade mi yoksa sayısal bir ifade mi? Buna karar verdikten sonra gerisi kolay.


Kullanımı:

1. Sayısal Bir Veri Girilecekse

Sayi=input( ' Bir Sayı Giriniz= ' );


Kullanımı bu şekildedir. Sayısal veri alırken pek sorun yaşamayız aslında. Bunun ekran çıktısını bir görelim.


Hemen kısaca anlatalım kodları. Burada sayi bir değişkendir ve klavyeden girilen değeri tutacaktır bünyesinde. Kodu yazıp enter a bastığımda bana tırnaklar içine yazdığım ifadeyi gösterecektir. Bu tırnaklar içine Türkçe karakter kullanmamızda sıkıntı yoktur. İyi bir programcı özelliği olarak bakarsak istediğimiz şeyi en doğru ifade eden ifadeyi kullanmak önemli olacaktır. Ben 20 değerini girdik ve entera bastığım anda 20 değeri sayi değişkenine atanmış olacaktır. 

Bunu bir görelim.


2. String yani Metinsel Bir İfade Girilecekse

Öncelikle doğru kullanımı göstermeden bu yukarıdaki kullanımdaki gibi yazsak ve veri olarak da string bir değer girsek ne olacak onu görelim.


Gördüğümüz gibi sayısal bir değer girmeyince böyle bir hata aldık. Demek ki metinsel ifade girişi için kodlarımızda ufak bir değişiklik yapmamız gerek. 

Doğru kullanımı görelim ve üzerinden devam edelim.


Matlab dışında bir programlama ile uğraşmış iseniz bilirsiniz diller nesnelerden bunlara bağlı metodlardan fonksiyonlardan oluşur. Burada da input da Matlab kütüphanelerinden bir fonksiyondur ve her fonksiyon kullanılacağı farklı alanlar için farklı parametreler alırlar. Biz buna aşırı yüklenme deriz. Yani biraz daha artisce ifade edicek olursak fonksiyonun overload olması. İnput nesnesi de gördüğümüz gibi bir sayısal değer için tek parametre alırken string bir ifade için iki parametre almaktadır. Fonksiyon parametreleri virgül ile ayrılırlar.

Burada 's' ifadesi string deyiminin kısaltmasıdır ve bu işlem sonunda değişkenen girilecek değerin string türde olacağını belirtir. 



Peki az önce ben sayı girişi için yazdığım kodda murat diye bir string ifade girince program hata vermişti. String ifade girilecek diye tanımladığım da sayısal bir değer girdiğimizde program hata verecek mi dersiniz?

Cevabı verelim hemen tabi ki hata vermeyecek. Ama girilen sayısal değeri matematiksel bir işleme sokma ihtimalimiz de olmayacak. 

Bu dersimizin de böylelikle sonuna geldik. Çalışan arkadaşlarıma kolaylıklar dilerim vesselam.

Murat Bilginer



Yorumlar

  1. tesekkurler, cok guzel anlatmissiniz

    YanıtlaSil
  2. a1sayisi=input('A1 URUNUN DEPODAKI MIKTARINI GIRINIZ: ');
    a2sayisi=input('A2 URUNUN DEPODAKI MIKTARINI GIRINIZ: ');
    a3sayisi=input('A3 URUNUN DEPODAKI MIKTARINI GIRINIZ: ');
    a1degisim=input('A1 URUNUN DEGISIM MIKTARINI GIRINIZ (+/-): ');
    a2degisim=input('A2 URUNUN DEGISIM MIKTARINI GIRINIZ (+/-): ');
    a3degisim=input('A3 URUNUN DEGISIM MIKTARINI GIRINIZ (+/-): ');

    if a1degisim>=0

    a1sayisi+a1degisim==a1sayisi ;

    else

    a1sayisi+a1degisim==a1sayisi ;

    end

    if a3degisim>=0

    a2sayisi+a2degisim==a2sayisi ;

    else

    a2sayisi+a2degisim==a2sayisi ;

    end

    if a2degisim>=0

    a3sayisi+a3degisim==a3sayisi ;

    else

    a3sayisi+a3degisim==a3sayisi ;
    end

    fprintf('DEPODAKI YENI A1 SAYISI %d\n dır',a1sayisi);
    fprintf('DEPODAKI YENİ A2 SAYISI %d\n dır',a2sayisi);
    fprintf('DEPODAKI YENİ A3 SAYISI %d\n dır',a3sayisi);
    şeklinde yazıyorum fakat toplama yapmıyor
    nerde hata yapıyorum

    YanıtlaSil

Yorum Gönder

Bu blogdaki popüler yayınlar

Matlab Programlama Soru Çözümü

26 Matlab Soru Çözümleri 26
25 Matlab Soru Çözümleri 25
24 Matlab Soru Çözümleri 24
23 Matlab Soru Çözümleri 23

Matlab Programlama 18 Matlab de Rand Fonksiyonu Kullanımı

Merhabalar herkese. Yeni ve belkide programlamada kullanım alanları ve yaptırabildiği uygulamalar dolayısıyla programlamanın önemli konularından olan rastgele sayı üretmeye yardımcı olan  rand fonksiyonundan bahsetmeye çalışacağım bu yazımda sizlere.
Bismillah diyelim ve başlayalım.
Her programlama dilinde olduğu gibi Matlabde de rastgele sayı üretmeye sağlayan bir fonksiyonumuz bir metodumuz mevcuttur.
Temel kullanımı rand(n,m) şeklindedir. Bu ifade şunu yapar n satırlı ve m sütunlu bir matrisi 0 ile 1 arasında rastgele gelen ondalık sayılar ile doldurur.

Matlab Soru Çözümleri 27 Dizideki Tek Çift Değerleri Bul (Fonksiyon Yazarak)