MATLAP ÇALIŞMA SORULARI
İNÖNÜ ÜNİVERSİTESİ
MÜHENDİSLİK FAKÜLTESİ
MAK. MÜH. BÖLÜMÜ
BİLGİSAYAR
PROĞRAMLAMA
MATLAB
ÇALIŞMA SORULARI-III
HAZIRLAYAN
Yrd.Doç.Dr.İ.Gökhan AKSOY
2013
S-1) Aşağıda verilen Matlab programın çalıştırılması sonucu oluşturulan A
matrisinin boyutu ne olur?
clear all
k=1;
N=10;
while(k<N)
A(k,1)=k;
k=k+1;
end
a) 9 × 1 b) 10 × 1 c) 1 × 10 d) 1 × 9
S-2) fprintf('pi değeri = %4.2f \n',pi) ifadesinin ekran çıktısı nasıl olur?
a) pi değeri = 3.14
b) 3.14
c) pi değeri = 3.1416
d) 3.1416 değeri= %4.2f
S-3) Aşağıda verilen Matlab programın çalıştırılması sonucu oluşturulan list
dizisinin alacağı değerler ne olur?
clc;clear all;
clear all
j = 1;
while j <= 2
list(j) = j^3;
j = j + 1;
end
list
S-4) Aşağıda verilen Matlab programın çalıştırılması sonucu oluşturulan x
dizisinin alacağı değerler ne olur?
a = [ 1 3 5 ];
x = a.*a;
x = x + 2;
x
S-5) Aşağıda verilen Matlab programın çalıştırılması sonucu oluşturulan z dizisinin
alacağı değerler ne olur?
x = 1;
y = 2;
while y < 5;
z(x) = 2 * y;
x = x + 1;
y = y + 2;
end
z
S-6) x değişkeni x=[0:0.01:5] şeklinde bir dizi olarak tanımlanmıştır. y fonksiyonunun
alacağı değerleri bulmak için aşağıda verilen ifadelerden hangisini yazılmalıdır.
5 cos( x )
sin( x )
y x cos( 2x )
a. y = x*cos(x) .+ sin(x)/( 5 + cos(x) )
b. y = x.*cos(x) + sin(x)/( 5 + cos(x) )
c. y = x.*cos(x) + sin(x)./( 5 + cos(x) )
d. y = x*cos(x.) .+ sin(x.)/( 5 + cos(x) )
S-7) Aşağıdaki komutlar Matlab’ da çalıştırıldığında, D matrisinin sonucu ne olur.
A=[1 2; 3 4];
B=[1 2;2 2];
C=A.*B;
D=B*C
S-8) Ana programa Input olarak girilen vize_1 , vize_2 ve final notu değerlerine göre
geçme notunu bir alt-programdan hesaplayıp ekrana yazdıran bir ana program ve alt
program yazınız. Geçme notu, vize ortalamasının %40 ile final notunun %60 alınarak
hesaplanacak.
C-8)
ANA PROGRAM
clc;clear all;
vize_1=input('1.vize=');
vize_2=input('2.vize=');
final=input('Final=');
GN=ort(vize_1,vize_2,final)
ALT-PROGRAM
function sonuc=ort(vize_1,vize_2,final)
vize_ort=(vize_1+vize_2)/2;
sonuc=vize_ort*0.4+final*0.6;
end
S-9) Aşağıda verilen Matlab programının çalıştırılması sonucu f ‘ nin alacağı değerleri
bulunuz.
clc;clear all
a = [6 1 2 3 4 5];
b = [4 5 3 2 6 1];
if b(3) > a(2) & a(1) < b(4)
f = a + b;
else
f = a - b;
end
f
S-10) Aşağıda verilen program parçasının çalıştırılması sonucu sayac değişkeninin alacağı
değeri bulunuz.
sayac = 0;
x = 4;
while x < 10
for k = 1 : 3 : 7
if x - k > 0
sayac = sayac + 1;
end
end
x = x + 2;
end
sayac
S-11) Aşağıda verilen program parçasının çalıştırılması sonucu ekran çıktısı olarak B ‘nın
sonucu yazınız.
n = 3
B = zeros(n,n);
for r = 1:n
k = r;
if k < n
i = 1;
else
i = -1;
end
for c = 1:n
B(r,c) = k;
k = k+i;
if k >= n
k = n;
i = -1;
end
end
k = k+2;
end
B
S-12) Input olarak girilen N değerine göre for döngüsü kullanarak aşağıda verilen A
matrisi oluşturan bir Matlab programı yazınız.
N
A
1 1 1 1 1 2
1 1 1 10 1 1
1 1 8 1 1 1
1 4 1 1 1 1
2 1 1 1 1 1
S-13) 31 ve 75 arası çift sayıları aşağıdaki şıklardan hangisi ile oluştururuz.
a) 32:2:75 b) 31:75,2 c)31:3:75 d) 31-75/2
S-14) x = [2 5 1 6] bir dizi olarak tanımlanmıştır. Her bir elemanın karekökü
hesaplatılmak istense, aşağıda verilen ifadelerden hangisi doğru olur?
a) square(x) b) x.^(1/2) c) sqr(x) d) x^0.5
S-15) Aşağıdaki program parçasının sonucu nedir.
Q=[3 5 7;3 5 7;4 3 2];
y=Q(2,:);
size(y')
S-16) Aşağıdaki komutlardan hangisi, üç boyutlu bir yüzeyin 2 boyutlu görünümünü
oluşturur.
a. mesh(z) c. pie(x)
b. contour(z) d. figure(n)
S-17) Aşağıdaki matrisleri tanımlayan Matlab komutları nasıl yazılmalıdır.
a.
2 4 6
1 3 5
G
b. F 0.0 0.2 0.4 ... 99.6 99.8 100.0
S-18)Aşağıdaki Matlab komutu tarafından üretilen sonuç ne olur.
y = [2.1 3.8; 8.5 5.1; 4.7 9.2];
maxy = max(y)
S-19) Aşağıdaki tabloda, grafik çiziminde uygulanan çizgi tipleri ve renk seçeneklerinin
sembolik gösterimi verilmiştir. Eğer x’ e karşı y1’ nin değişimi noktalı ve yeşil çizgi ile, x’
e karşı y2’ nin değişimi kesik çizgi kırmızı bir eğri ile çizdirmek için komut olarak ne
yazmalıyız, belirtiniz.
Çizgi tipi
Matlab’da
gösterimi
Matlab’da
gösterimi
Matlab’da
gösterimi
noktalı : yeşil g
kesik -- kırmızı r
S-20) Aşağıda verilen program parçalarının ekran çıktısı nasıl olur, belirtiniz.
a) R = [1.22 3.78 2.41];
R
b) R = [1.22 3.78 2.41];
R’
c) R = [1.22 3.78 2.41];
fprintf('R = %3.1f \n', R)
d) R = [1.22 3.78 2.41];
fprintf('R = %3.3f \n', R)
e) R = [1.22 3.78 2.41];
for i=1:3;
fprintf('R(%d)=%f \n',i,R(i))
end
S-21) x değişkeni 1 artırımla 1-50 arası değer almaktadır.
y=2x2
+5x-4 fonksiyonunun değişimini hesaplayıp grafik olarak çizdiren bir matlab
programı yazınız.
Not: x ve y eksenlerine sırasıyla ‘x’ ve ‘y=f(x)’ ve grafik başlığı ‘y=f(x) Grafiği’ şeklinde
yazdırılacak. Ayrıca yatay ve dikey kılavuz çizgileri oluşturulacak.
C-21)
clc; clear all;
x=[1:1:50];
y=2*x.^2+5*x-4;
plot(x,y)
title('2x.^2+5*x-4 fonksiyonun grafigi');
xlabel('x');
ylabel('y');
grid
S-22) x=0-2 arasındaki açı değerleri için y_1=3sin(x) ve y_2=5cos(x) fonksiyonlarını
aynı grafik penceresinde çizen bir MATLAB programı yazınız. x eşit artırımlı 20
elemandan oluşan bir dizi olarak tanımlanacak.
Not: x ve y eksenlerine sırasıyla ‘’ ve ‘y=f()’ yazdırılacak. y_1 eğrisi çizgi rengi: kırmızı,
işaretleme biçimi *, çizgi biçimi: düz, y_2 eğrisi çizgi rengi: mavi, işaretleme biçimi o,
çizgi biçimi: kesikli çizgi olacak. Ayrıca eğrilerin hangi fonksiyona ait olduğu grafik
penceresi içerisine yazdırılacak.
C-22)
clc; clear all;
x=linspace(0,2*pi,20);
y_1=3*sin(x);
y_2=5*cos(x); plot(x,y_1,'r*-',x,y_2,'bo--')
xlabel('\theta');
ylabel('y(\theta)');
legend('3sin(x)','5cos(x)')
S-23) Soru-22 deki fonksiyonları ayrı ayrı iki ayrı grafik penceresine çizdiren bir
Matlab programı yazınız. x ve y eşit artırımlı 50 elemandan oluşan bir dizi olarak
tanımlanacak.
C-23) figure komutuna bakınız.
S-24) Soru-22 deki fonksiyonları aynı grafik penceresine iki arı grafik olarak çizdiren
bir Matlab programı yazınız.
C-24) Subplot komutuna bakınız.
S-25) Aynı eksen takımında birden fazla grafik çizmek için aşağıdaki komutlardan
hangisi kullanılır.
a) subplot b) figure c) hold d) legend
S-26)Bir klima santralı ile ilgili aşağıdaki bilgiler verilmiştir.
İlk Yatırım Maliyeti=250,000.0 TL
Yıllık Enerji Maliyeti=925,000.0 TL
Yıllık Bakım Maliyeti=55,000.0 TL
Maliyetlerin yüzdelik dağılımını 3 boyutlu pasta grafik olarak çizen bir Matlab programı
yazınız.
C-27)
clc; clear all;
M=[250000 925000 55000]
pie3(M)
colormap jet
C-27) Soru-27’ de yüzdelik dağılımını 2 boyutlu pasta grafik olarak çizen bir Matlab
programı yazınız.
S-28) Aşağıda x ve y değişkenlerine bağlı olarak z fonksiyonunun ağ grafiğini çizdiren bir
Matlab programı yazınız. x ve y eşit artırımlı 50 elemandan oluşan bir dizi olarak
tanımlanacak.
2 2
z x y
3 y 3
3 x 3
C-28)
clc; clear all;
x=linspace(-3,3,50);
y=linspace(-3,3,50);
[x,y]=meshgrid(x,y);
z=x.^2+y.^2;
mesh(x,y,z)
xlabel('x')
ylabel('y')
zlabel('z')
title('z = x^2 + y^2')
S-29) Soru-28’ de verilen fonksiyonu 3 boyutlu yüzey grafiği olarak çizdirin.
S-30) Soru-28’ de verilen fonksiyonu kontur grafiği olarak çizdirin.
S-31) Aşağıdaki program çalıştırıldığında x ve toplam değişkenlerinin alacağı değer ne
olur.
x=0;
toplam=0;
while toplam<=5
x=x+1;
toplam=toplam+x;
end
x
toplam
S-32) Aşağıdaki program çalıştırıldığında y dizisinin alacağı değerleri bulunuz.
clc;clear all;
x=[1:5];
for i=1:4
y(i)=2*x(i+1);
end
y
S-33) Aşağıdaki program çalıştırıldığında sum değişkeninin alacağı değeri bulunuz.
sum=0;
for i=0:2:10
sum=sum+i;
end
sum
S-33) Ana programda Input olarak girilen R ve L değerlerine göre, alt programa gidip bir
dairenin alanını ve hacmini hesaplatıp sonra ana programda ekrana aşağıdaki formata
göre sonuçları yazdıran bir Matlab programının ana programını ve alt programını yazınız.
Ekran çıktısı: R=…. yarıçapındaki bir dairenin Alanı=…. ve Hacmi=….
S-34) Aşağıda verilen matrisi matris.dat dosyasına yazdıran bir MATLAB programı
yazınız.
F=[2 4 6 3;-6 7 3 2; 8 3 2 1;5 -3 0 1]
S-35) o
C olarak tanımlanan 10-100 arası sayıları 10 artırımla K sıcaklık ölçeğine
dönüştürerek, sonuçları tablo halinde convert.dat dosyasına aktaran bir program yazınız.
(1 K = 273.15+oC)