TEMEL MATEMATİK İŞLEMLER

advertisement
TEMEL MATEMATİK İŞLEMLER
8.1. Karmaşık (Kompleks) Sayı İşlemleri
8.1.1. Karmaşık Sayı Fonksiyonları
Mutlak değer (Absolute value).
abs
Faz açısı (Phase angle).
angle
Karmaşık sayının eşleniği (Complex conjugate).
conj
imag
Karmaşık sayının sanal (imajiner) kısım (Complex imaginary part).
real
Karmaşık sayının gerçel kısım (Complex real part).
8.1.2. Karmaşık Sayı Uygulama Örnekleri
Örnek-1. zx = 2(1+4j) işleminin sonucunu bulunuz:
>> zx=2*(1+4*i)
zx =
2.0000 + 8.0000i
Örnek-2. k = (-1 + 3i)3 işleminin sonucunu bulunuz.
>> k = (-1+3i)^3
k=
26.0000 -18.0000i
8.1.3.1. cart2pol ve pol2cart fonksiyonları
• cat2pol fonksiyonu, kartezyen koordinatlardan (x,y) polar koordinatlara (r,θ)
dönüştürür.
Örnek: z = 3 - 4i sayısının kutupsal eşdeğerini bulunuz.
>> z=3-4i ;
>> [teta,r]=cart2pol(real(z),imag(z))
teta =
-0.9273
r =
5
teta açısı radyan cinsinden olup dereye çevirmek için 180/pi ile çarpılmalıdır.
>> teta=teta*180/pi
teta =
-53.1301
Sonuç olarak z = 5 ∠ -53.13o
• pol2cart fonksiyonu, kartezyen koordinatlardan (x,y), polar koordinatlara (θ,r)
dönüşüm sağlar.
Örnek: z = 5 ∠ -53.13o sayısının kartezyen karşılığını bulunuz.
>> >> [x,y]=pol2cart(-53.13*pi/180,5)
x =
3.0000
y =
-4.0000
8.2.2. Polinomların Değerini Bulma
Bir P(x) polinomunun x=k için alacağı değeri bulmak için polyval fonksiyonu kullanılır. Komutun genel formatı
polyval(P,k)
şeklindedir. Burada P, polinomun katsayılar vektörü, k da polinomun değerlendirileceği değerdir.
Örneğin
•
P(x)= x4+3x3-15x2-2x+9 polinomunun x=2 için alacağı değeri bulmak için
» P_2 = polyval([1 3 -15 -2 0],2)
P_2 =
-24
8.2.3. Polinomların Köklerini Bulma
Bir P(x)=0 polinomunun çözüm kümesi polinomun kökleridir. Kökleri bulmak için roots fonksiyonu kullanılır. Komutun genel formatı
roots(P)
şeklindedir. Burada P, polinomun katsayılar vektörüdür ve kökler, sütun vektörü olarak verilir. Örneğin
•
P(x)= x4+3x3 -15x2-2x+9 polinomunun köklerini bulmak için
» Pkokler = roots([1 3 -15 -2 9])
Pkokler =
-5.5745
2.5836
-0.7951
0.7860
Örnek-1: Aşağıda verilen lineer denklem sisteminin çözüm kümesini bulunuz.
x1 - 4x2 + 3x3 = -7
3x1 + x2 - 2x3 = 14
2x1 + x2 + x3 = 5
Katsayılar matrisi:
Sabitler vektörü:
Çözüm vektörü:
A = [ 1 -4 3; 3 1 -2; 2 1 1];
b = [ -7; 14; 5];
x = inv(a)*b
»
»
»
»
x
clear
A = [1 -4 3 ; 3
b = [-7; 14; 5];
x = inv(a)*b
=
3.0000
1.0000
-2.0000
1 -2 ; 2
1
1];
8.5.3. solve Fonksiyonu
solve fonksiyonu, herhangi bir lineer veya lineer olmayan denklem ve denklem sisteminin çözümünü yapar. Genel yazım formatı
solve('denklem1','denklem2','. . .')
şeklindedir. Denklem ifadeleri f(x)=0 şeklinde olmak zorunda değildir. Her ne kadar sembolik denklem çözümleri sunmasıyla
beraber nümerik sonuç ta vermektedir.
Örnek-1: 0.1ex + sin(x) - 5 = x denkleminin kökünü bulunuz.
>> eq1 = '0.1*exp(x)+sin(x)-5=x';
>> [x] = solve(eq1)
x =
-4.1515936788037046341400951202097
8.7. İntegral
Matematikte integral, bir fonksiyon grafiğinin altındaki alanı bulmak için kullanılan nümerik bir metoddur. Matlab’de
integral işleminde integral, belirli ise sonucu sayısal olarak hesaplar; belirsiz ise sembolik olarak gösterebilir.
8.7.1. Sayısal Değerli (Nümerik) İntegral Örnekleri
Genel olarak
b
q = ∫ f(x)dx
a
integralini Matlab’de sayısal integral alma işlemi quad ve quad8 fonksiyonları ile gerçekleştirilir. quad, adaptif tekrarlı
Simpson kuralını (eğrisel alan toplamı yaklaşımı) kullanan düşük dereceli bir yöntemdir. quad8 ise daha yüksek dereceli bir
yöntem olup, quad integral sonucu bulmadığında yani yaklaşım sağlayamadığında kullanılması daha uygundur. quad
fonksiyonunun genel formatı:
q=quad(fun,a,b)
şeklindedir. Burada fun, ya inline nesne (object) olmalıdır ya da bir fonksiyon tutamacı (handle) şeklinde tanımlanmalıdır.
quad fonksiyonu, 10-6 hata ile fun ile tanımlı matematiksel bir fonksiyonunun a ile b arasındaki integraline yaklaşır.
Örneğin:
2
∫
0
1
3
x − 2x − 5
dx
işleminde integrali alınacak fonksiyon
•
inline bir nesne olarak düşünülürse:
» F=inline('1./(x.^3-2*x-5)');
» Q=quad(F,0,2);
şeklinde veya direkt olarak,
» Q=quad('1./(x.^3-2*x-5)',0,2);
şeklinde kullanılır. Dikkat edilirse fonksiyonda değişkenler .(dot) şeklinde kullanılmalıdır.
.7.2. Sembolik İntegral Örnekleri
Sembolik hesaplama da ise sayısal sonuç yerine integralin değişkene göre sonucu verilir.
Not: Matlab sembolik işlemlerde Symbolic Math Toolbox’ı kullanır. Kullanılacak
fonksiyonları » help symbolic komutu ile görebilirsiniz. Sembolik değişken
ve işlemlere giriş yapmak için » symintro komutunu kullanabilirsiniz.
» help symbolic
Symbolic Math Toolbox.
Version 2.1.3 (R13) 28-Jun-2002
Calculus.
diff
- Differentiate. (Türev)
int
- Integrate. (İntegral)
limit
- Limit. (Limit)
taylor
- Taylor series. (Taylor Serisi)
jacobian
- Jacobian matrix. (Jakobien Matris)
symsum
- Summation of series. (Seri Toplamı)
Simplification.
simplify
- Simplify.
expand
- Expand.
factor
- Factor.
collect
- Collect.
simple
- Search for shortest form.
numden
- Numerator and denominator.
Solution of Equations.
solve
- Symbolic solution of algebraic
equations.
dsolve
- Symbolic solution of differential
equations.
finverse
- Functional inverse.
...
sym
- Create symbolic object.
syms
- Short-cut for constructing symbolic
objects.
findsym
- Determine symbolic variables.
...
Normal durumlarda sayısal işlemlerde ve karakter dizgelerinde bildirime gerek
yok iken sembolik işlemlerde kullanılacak sembolik nesne (symbolic object) yani
değişken veya değişkenlerin önceden bildirilmesi gerekir. Örneğin a gibi sembolik
değişken;
» sym a
ans =
a
veya
» sym(‘a’)
ans =
a
ile bildirilir.
Birden fazla örneğin a, b, c, d gibi dört sembolik değişkenin
bildirimi için;
» syms a b c d
komutu kullanılır. Burada sym ve syms sembolik değişken atama
fonksiyonlarıdır. Değişkenler arasına virgül konulmaz ayrıca tek bir
değişkeni de syms ile kullanabilirsiniz.
» bdeg = a^(sin(b) + c)
bdeg =
a^(sin(b)+c)
! Aslında » bdeg = a^(sin(b) + c); yani ; yazılımı ile
sembolik ifadenin ekrana yazdırılması engellenebilir ancak genelde
yazılan sembolik ifadenin doğruluğu için ekranda görüntülenmesi
tercih edilir.
» findsym(bdeg)
% bdeg’de tanımlı tüm sembolik
değişkenleri bulur
ans =
a, b, c
» findsym(bdeg,1)
değişkeni bulur
ans =
c
% bdeg’de tanımlı varsayılan
Sembolik integral alma fonksiyonu int olup genel formatı:
findsym ile belirlenen sembolik değişkene göre S’in belirsiz integralini alır.
int(S),
S’in v’ye göre belirsiz integralini alır.
int(S,v),
int(S,a,b),
S’in varsayılan sembolik değişkene göre a’dan b’ye kadar belirli
integralini alır.
int(S,v,a,b),
S’in v’ye göre a’dan b’ye kadar belirli integralini alır.
şeklindedir.
! Yukarıda gördüğümüz quad fonksiyonu yerine
tamamen int fonksiyonunu kullanarak hem belirli
hem de belirsiz integral işlemleri yapılabilir.
Matlab’in 6.5 versiyonu ile sembolik işlem özellikleri
çok geliştirildiği için bundan sonraki bölümlerde
sayısal değerli işlemler de sembolik mantık ile
gösterilecektir.
Matematiksel Gösterim
x n +1
MATLAB Komutu
n
∫ x dx = n + 1
int(x^n) veya int(x^n,x)
π /2
int(sin(2*x),0,pi/2)
∫ sin(2 x)dx = 1
0
veya
int(sin(2*x),x,0,pi/2)
g = cos(a*t + b)
g = cos(at + b)
∫ g (t )dt = sin(at + b) / a
int(g) , t’ye göre türev
int(g,t) , t’ye göre türev
int(g,a) , a’ya göre türev
Örnekleme:
» syms x a
» [int(x^a), int(a^x), int(x^a,a), int(a^x,a)]
ans =
[ x^(a+1)/(a+1), 1/log(a)*a^x, 1/log(x)*x^a, a^(x+1)/(x+1)]
komutuna bakarsanız ilk iki işlemde x’e göre, son iki işlemde ise a’ya göre integral alınmıştır.
Örnek-8.6:
5
∫ (−2 x − 4 x + 20)dx integralini bulunuz.
» syms x
» int(-2*x^5-4*x+20)
ans =
-1/3*x^6-2*x^2+20*x
yani sonuç −
1 6 2
x -2x +20x olur. Diğer bir kullanım şekli ise aşağıda verilmiştir:
3
Örnek-8.9: ∫ sin 3tx ⋅ cos x dx integralini bulunuz.
» syms x t
» f4=sin(3*t*x)*cos(x)
f4 =
sin(3*t*x)*cos(x)
» sonuc=int(f4)
sonuc =
-1/2/(3*t+1)*cos((3*t+1)*x)-1/2/(3*t-1)*cos((3*t-1)*x)
• Katlı İntegral Hesabı
En genel olarak çok katlı integrallerde içiçe int fonksiyonu kullanabilirsiniz.
Iu =
2π π
∫ ( ∫ (u ( x, y )dx ) dy
0 0
işlemi için,
» Iu = int(int(u,x,0,pi),y,0,2*pi)
komutu kullanılır. Önce içerideki integral sonra dışarıdaki integral işlemi uygulanır.
8.2. Türev
Türev alma işleminde kullanılan fonksiyon adı diff olup sembolik işlem mantığı çerçevesinde genel formatı:
diff(S), findsym ile belirlenen sembolik değişkene göre S’in türevini alır.
diff(S,v), S’in v’ye göre türevini alır.
diff(S,n), n pozitif bir tamsayı olmak üzere n. dereceden türevini alır.
diff(S,'v',n) ve diff(S,n,'v'), S’in v’ye göre n. dereceden türevini alır.
şeklindedir.
Matematiksel
Gösterim
df
dx
MATLAB Komutu
diff(f)
diff(f,x)
or
df
da
diff(f,a)
d2 f
diff(f,b,2)
db 2
∂(r , t )
J=
∂ (u , v)
J
=
jacobian([r;t],[
u,v])
Örnek-8.13: f(x)=5x3+ax2+bx -14 (a ve b sabit değerdir) fonksiyonunun
türevini bulunuz.
» syms a b c x
» f=5*x^3+a*x^2+b*x-14
f =
5*x^3+a*x^2+b*x-14
» diff(f)
ans =
15*x^2+2*a*x+b
Türev için varsayılan sembolik değişken konusunda en garanti işlem türevin neye göre
alınacağını belirtmektir.
» diff(f,x)
ans =
15*x^2+2*a*x+b
Örnek-8.14: f(x)=arctan(2x-3)-sin(x2) fonksiyonunun türevini bulunuz ve türevinin
x=π’deki değerini bulunuz.
» syms x
» fonk=atan(2*x-3)-sin(x^2)
fonk =
atan(2*x-3)-sin(x^2)
» turev=diff(fonk)
turev =
2/(1+(2*x-3)^2)-2*cos(x^2)*x
» tdegeri=subs(turev,x,pi)
tdegeri =
5.8415
Şekil-8.1. Örnek 8.17 grafiği
8.3. Limit
Limit alma işleminde kullanılan fonksiyon adı limit olup sembolik işlem mantığı çerçevesinde genel formatı:
limit(F,a), bağımsız değişken olarak findsym(F)’i kullanır.
limit(F), limit noktası olarak a=0’ı kullanır.
limit(F,x,a), x>a olarak sembolik ifadenin limitini alır.
limit(F,x,a,'right') veya limit(F,x,a,'right'), tek taraflı limitin yönünü belirler.
Matematiksel Gösterim
MATLAB Komutu
limit(f)
limit(f,x,a) veya limit(f,a)
limit(f,x,a,'left')
limit(f,x,a,'right')
Örnek-8.23:
x2+xy+y=3
x2-4x+3=0
denklem sisteminin çözüm kümesini bulunuz.
»
x
[
[
[x,y] = solve('x^2 + x*y + y = 3','x^2 - 4*x + 3 = 0')
=
1]
3]
y =
[
1]
[ -3/2]
Bu örnekte iki ayrı çözüm kümesi bulunmuştur: x1 ve y1 ile x2 ve y2;
Ç={ (1,1) , (3,-3/2) }
8.5. Diferansiyel Denklem Çözümü
Adi diferansiyel denklemlerin (Ordinary Differential Equations-ODE) sembolik çözümü için kullanılan dsolve
fonksiyonunun genel formatı:
dsolve('denk1','denk','sart1','sart2',...','v')
8.5.1. Diferansiyel Denklem Çözüm Örnekleri
Örnek-8.29: y(1)=0 şartı altında xy'+y=2e2x birinci dereceden diferansiyel denklemin
çözümünü bulunuz.
Genel çözüm için:
» dsolve('Dy + y/x = (2/x)*exp(2*x)','x')
ans =
1/x*exp(2*x)+1/x*C1
Örnek-8.39: 1 +
1
2
2
+
1
3
2
+
1
4
2
+ ... +
1
n2
serisinin ilk 10 terim toplamını bulunuz.
» syms x k
» seri_top=symsum(1/k^2,1,10)
seri_top =
1968329/1270080
Örnek-8.40: T ( s ) =
200
( s + 10 )( s 2 + 4 s + 24 )
şeklinde Laplace formatında verilen transfer fonksiyonun t-domeni karşılığını bulunuz.
» syms s
» T = 200/((s+10)*(s^2 + 4*s + 24));
» pretty(T)
200
(s+10)
2
(s+4s+24)
» t_domen = ilaplace(T)
t_domen =
Download