You are on page 1of 35

Blm 0 Sayfa 1/2

BLM 0. MACSYMAYA HAZIRLIK



Macsyma

Karmak matematik problemlerinin zmne yardm eden Macsyma, bir sembolik-saysal-grafik
matematik yazlm sistemidir. Teknik raporlarn hazrlanmas ve bilimsel verilerin
grselletirilmesinde de yardmc olmaktadr. Macsyma programnn sunduu geni hesaplama
olanaklarndan baz balklar aada yer almaktadr.

- statistik
- Polinomlar
- Kmeler ve diziler
- Geometri
- Trigonometri
- Vektrler
- Matrisler
- Seriler
- Denklem zmleri
- Laplace ve Fourier dnmleri
- Limit
- Trev
- ntegral
- Diferansiyel denklemler
- Grafik

Macsyma Programnn Kurulmas

Macsyma program bilgisayara kurulurken herhangi bir ifre istememektedir. Ancak program ilk
defa altrldnda kaytl kullanc ad (Registered user) ve programn ierdii yazlm
paketlerine ait ifre (key)lerden en az bir tanesi girilmeden kullanc arayz almamaktadr.

Macsyma Programna Giri ve k
Eer programn kurulduu bilgisayarda Windows tabanl bir iletim sistemi kullanlyorsa,
eklindeki Macsyma ikonuna farenin sol tuu ile ift tklanarak veya
Balat/Programlar/Macsyma/Macsyma yolu kullanlarak program altrlabilir. Farkl bir iletim
sistemi kullanlyorsa, iletim sisteminin komut satrna Macsyma yazlp iletilerek program
altrlr.

Komut Satrlarnn Oluturulmas

Macsyma programnn kullanclarna sunduu arayz aada grlmektedir. Notebook olarak
isimlendirilen arayzde, kullanc tarafndan verilen komutlar, verili sralar dikkate alnarak
program tarafndan c# (c1, c2, c3, ...) eklinde numaralandrlmaktadr. Kullanc tarafndan verilen
her komuta program bir cevap vermekte ve kullanc istedii takdirde verdii cevaplar d# (d1, d2,
d3, ...) biiminde numaralandrlm olarak gstermektedir. Byk hesaplamalarda orta basamaklar
e# (e1, e2, e3, ...) eklinde iaretlenmektedir. Ayrca kullanc istedii yere metin hcresi
ekleyebilmekte ve gerekli balklar, aklamalar v.b. bu hcre iinde oluturabilmektedir.

Blm 0 Sayfa 2/2



Kullanc tarafndan oluturulan her komut (;) veya ($) iareti ile sonlandrlr. Eer komut ($)
iareti ile sonlandrlrsa; programn bu komut iin rettii cevab gstermesini kullancnn
istemedii anlalmakta ve program bu komut iin bir cevap satr (d# satr) gstermemektedir.
Komut satr (;) iareti ile sonlandrldnda ise, program bu komut satr iin oluturduu cevab
komutun hemen alt satrnda gstermektedir.

Blm1Sayfa1/4

BLM 1. MACSYMA'YA GR
1.1. Sembolik ve Saysal Hesaplama
1.1.1. Kesin ve Noktal Saylar (Exact and Floating Point Numbers)
Bilimsel hesaplamalarda saylar sklkla noktal saylar eklinde yaklak olarak gsterilirler.
Bazen saylarn kesin olan gsterimlerinin veya olas saysal deerleri koruyan sembolik
deikenlerin kullanlmas gereklidir.
(c1) .66667
(c2) 2/3
(c3) .66667*3
(c4) (2/3)*3
Hesaplamalarn ounda kkl saylarn kesin gsterimine ihtiya vardr.
(c5) 1.414
(c6) sqrt(2)
(c7) 1.414^2
(c8) sqrt(2)^2
Trigonometrik tanmlar iin genellikle kesin gsterimli saylar gerekmektedir.
(c9) %pi
(c10) sfloat(%pi)
(c11) dfloat(%pi)
(c12) bfloat(%pi), bfprecision:40
(c13) sin(sfloat(%pi))
(c14) sin(%pi)
1.1.2. Kesin ve Noktal Saylarn Aritmetii (Exact and Floating Point Arithmetic)
Aadaki rnek, basit bir aritmetik problemde sembolik ve saysal hesaplamann farkn
gstermektedir.
Toplama ve karma birleme zellii olan ilemledir. a-b+c'yi hesaplamak iin bu ifadeyi
(a-b)+c veya a+(-b+c) eklinde gruplayabiliriz.
Macsyma'da saylar tamsaylarn oran eklinde ifade edilerek doruluklar korunabilir.
(c15) a:12345678
Not: Macsyma'da ":" deer atama operatrdr.
(c16) b:12345679
(c17) c:12/5
Not: Macsyma c'nin deerini tamsaylarn oran eklinde muhafaza etmektedir.

Blm1Sayfa2/4

(c18) temp1:(a-b)+c
Not: temp1'in sonucu tamsaylarn oran eklindedir.
(c19) temp2:a+(-b+c)
Not: temp2'nin sonucu temp1 ile ayndr. tamsaylarn oran eklindedir. Birleme zellii
salanmtr.
Sonular noktal saylara dntrlebilir. Aadaki (d19) ifadesi, d19 satrnda elde edilen
sonucu temsil etmektedir.
(c20) sfloat(d19)
Yukardaki temp1 ve temp2'nin 1.4 sonucunu vermesi gerektii aktr. FORTRAN
sistemlerinin bazlarnn temp1 iin 1.4 temp2 iin 1.0 eklinde farkl sonular verdii ve
noktal saylarla yaplan hesaplamalarn hepsinde birleme zelliinin salanmad
grlmektedir.
(c21) remvalue(a,b,c,temp1,temp2)
Hesaplamalardaki noktal say hatalarndan saknmak iin, zellikle istenmedike Macsyma
genelde noktal say ieren sonular vermemektedir. Aadaki karekk ieren rnei ele
alalm:
Macsyma tamsay ieren karekkleri noktal saylara dntrmeden basitletirmektedir.
(c22) sqrt(32)
(c23) sqrt(2)
Aada (c23) satrnda sqrt(32*2)=sqrt(64) eklinde basitletirme yaplarak kesin bir
tamsay sonucuna ulalmaktadr.
(c24) sqrt(32)*sqrt(2)
Noktal saylarn karekknn hesaplanmas bir yaklaklkla sonulanmaktadr.
(c25) sqrt(32.0)
(c26) sqrt(2.0)
(c27) sqrt(2.0)*sqrt(32.0)
Macsyma burada 8 sonucunu vermemektedir. nk 5.65685*1.41421 ilemi 64'n
karekknn hesaplanmasyla ayn ey deildir.
Bir kesirli saynn karekk kesin bir say olarak korunmaktadr.
(c28) sqrt(21555/44)

Blm1Sayfa3/4

1.1.3. Cebirsel Denklemlerin Kesin ve Noktal Say zmleri (Exact and Floating
Point Solutions of Algebraic Equations)
Sembolik matematiin en temel zellii, bir sembolik deikeni herhangi bir gerel say gibi
kullanabilmesidir. Aadaki rnekte lineer bir denklem iin yaplan sembolik zmn zel
saysal durumlar nasl genelletirdii grlmektedir.
(c29) eqf: 3.*x+5.=7.
(c30) linsolve(eqf,x), keepfloat:true
(c31) eqi: 3*x+5=7
(c32) linsolve(eqi,x)
(c33) eqs: a*x+b=c
(c34) linsolve(eqs,x)
(c35) remvalue(eqf,eqi,eqs)
1.2. Komut Satrlarnn Yazlmas
Macsyma altrld zaman bir C-SATIRI grlmektedir. C-SATIRI'na bir komut veya
ifade yazldnda, Macsyma genellikle sonucun grntlendii bir D-SATIRI ile cevap
vermektedir. Uzun hesaplamalarda bazen ara admlarn gsterildii E-SATIR'lar
grlmektedir.
Macsyma'da C-SATIR'lar i komut satrnn numaras olmak zere (ci) formunda ardk
olarak etiketlenir. D-SATIR'larnn etiketleri de benzer ekilde (di) formundadr. Bu
etiketler daha nce yazlm komutlar ve sonu ifadelerinin tekrar yazlmadan kullanlmasna
olanak salar.
Aadaki iki komut etiketlerin batan balatlmasn salar.
(c36) kill(labels)$
(c1) initialize_macsyma()$

C:\Macsyma\Macsyma2\system\init.lsp being loaded.
(c1) (x+1)^3
C-SATIR'lar ; ile sonlandrlr veya hibir sonlandrma iareti koyulmadan ENTER tuuna
baslarak altrlr ve sonu D-SATIRI'nda grlr. Eer komut satr $ iareti ile
sonlandrlrsa bu komut satrna ait sonucun yer ald D_SATIRI gsterilmez.
htiya duyulabilecek ASCII karakterleri:
Alt+91 = [ , Alt+93 = ] , Alt+126 = ~ , Alt+36 = $

Blm1Sayfa4/4

Bir C-SATIRI'na bir ifade yazldktan sonra eitli komutlarla ilenebilmektedir. Yzde iareti
(%) bir sistem deikenidir ve deeri en son oluturulan D_SATIRI'nn ieriine eittir.
Daha genel olarak %th(i) kullanlarak i kadar nceki hesaplamaya referans verilebilir.
%th(1) ifadesi % ile ayn anlamdadr.
(c2) %+5
(c3) %th(2)*z
(d1) satrndaki sonucun (x+1) ile arpm iin:
(c4) d1*(x+1)
$ ile sonlandrlan komut satrlarna ait D_SATIRI program tarafndan gsterilmese de
kullanlabilmektedir.
(c5) -y+d2$
(c6) z+%
Komut satrlarna /* */ kullanlarak istenilen uzunlukta aklama yazlabilir.
(c7) x /*this is a comment*/ :y /*this is a comment*/ +2

Blm2Sayfa1/7

BLM 2. FADELERN OLUTURULMASI


2.1. Macsyma fadeleri
Macsyma'da ifadeler bilgi ieren temel birimlerdir. Bir ifade, ilemciler, saylar, deikenler ve
sabitlerin biraraya gelmesiyle oluur.
2.1.1. lemciler
Macsyma ilemleri gerekletirmek iin bilinen sembolleri kullanr. Bu semboller ncelik sras
dkten yksee olacak ekilde sralanrsa:
+ Toplama, - karma, * arpma, / Blme, - Negatif, ^ ss, !
Faktriyel, !! ift Faktriyel
Macsyma eit ncelie sahip ilemleri soldan saa doru gerekletirir. Parentezler
kullanlarak deerlendirme dzeni deitirilebilir. Fonksiyonlar en yksek ncelie sahiptir.
Aadaki rneklerde "sin()" fonksiyonunun uygulanmas "^" operatornden daha nceliklidir.
(c1) sin(a*x^y/z!)^2
(c2) sin((a*x^y/z!)^2)
"^" ilemcisinin, "*" ilemcisi zerinde dalma zellii vardr.
(c3) b^2*b^3
Faktriyel ilemcisi "!" n!=n(n-1)(n-2)...1 eklinde tanmlanmaktadr.
(c4) 8!
ift Faktriyel ilemcisi "!!" n'in ift veya tek olmasna bal olarak n!!=n(n-2)(n-4)...2
veya n!!=n(n-2)(n-4)...1 eklinde tanmlanmaktadr.
(c5) 8!!
2.1.2. Saylar
- Tamsaylar (Integers): 15934
- Rasyonel Saylar (Rational Numbers): 2/3
- Ondalk Saylar (Floats and bigfloats): Ondalk ksm bulunan saylardr ve e, a, d veya
b harfleri ve onlar takip eden tamsaydan oluurlar. float iin rnek: 459.3; 83.3495e6 ve
79.46d5. bigfloat iin rnek: 83.3495b6 ve 3957204b15.
bigfloat'un sadece ihtiya duyulduunda kullanlmas performans kayplarnn nlenmesi
asndan nemlidir.
- Kompleks Saylar (Complex Numbers): Sanal ksmda bulunan i, Macsyma'da %i
eklinde yazlr. rnein 4i iin Macsyma'da 4*%i yazlr.
Macsyma'da tamsaylar ve rasyonel saylarn boyutlaryla ilgili bir snrlama yoktur. Ondalk
saylarn boyutu ise kullanlan bilgisayara baldr ve hangi aralkta olduunu renmek iin
least_positive_float ve most_positive_float komutlar kullanlabilir.
(c1) 25
(c2) 123.456
(c3) 1/2

Blm2Sayfa2/7

Ondalk say yaklaklklarn grmek iin sfloat veya dfloat komutlar, byk ondalk say
yaklaklklar iin ise bfloat komutu kullanlabilir.
(c4) sfloat(%)
Aada grlen ok byk tamsaylar bignum olarak isimlendirilir. Satr sonlarndaki oklar
saynn alt satrda devam ettiini anlatmaktadr.
(c5) 10^506-10^253-1
Ondalk saylarn hassasiyetinin default deeri kullanlan bilgisarn donanmna baldr.
(c6) sfloat(1/121)
Byk ondalk saylarn hassasiyetinin default deeri sistem deikeni bfprecision
kullanlarak deitirilebilir. bfprecision iin default deer 20'dir.
(c7) bfloat(1/121)
(c8) bfprecision:125$
(c9) bfloat(1/121)
Genellikle bir tamsay ile ondalk say arasndaki ilemin sonucu bir ondalk saydr.
(c10) 4*3.0
Aadaki komutlar kompleks say ieren ifadelerin ilenmesini salar.
- realpart ve imagpart bir kompleks saynn srasyla gerel ve sanal ksmlarn bulur.
- rectform bir ifadeyi a+b*%i (a ve b gerel say) formuna sokar.
- polarform bir ifadeyi r*%e^(%i*theta) formuna sokar (r ve theta gerel, %e doal
logaritma taban)
(c11) sin(exp(%i*y+x))
(c12) realpart(%)
(c13) imagpart(d11)
(c14) rectform(d11)
(c15) polarform(d11)
Not: atan2 trigonometrik komutu y/x'in arctangent'ini (-%pi, %pi) aralnda hesaplar.

Blm2Sayfa3/7

2.1.3. Deikenler
Deikenler isim verilen niceliklerdir. Bir deikene balanan deer ise assignment olarak
adlandrlr. Bir deeri bir deikene balamak veya atamak iin deiken isminden sonra ":"
ilemcisi kullanlr. Denklem oluturmak iin kullanlan ve deikenlere deer atamayan "="
ilemcisini kullanmaktan saknlmaldr.
(c1) a
(c2) a:1234
(c3) a
(c4) a+a
(c5) a+b
(c6) 'a
(c7) a
Bir deikenden bir deeri uzaklatrmak iin remvalue komutu kullanlr.
(c8) remvalue(a)
(c9) a
(c10) a+b
(c11) (a:5, b:15.3e3)
(c12) a
(c13) b
(c10) satrn tekrar hesaplamak iin ev komutu kullanlabilir.
(c14) ev(c10)
ev(c10) komutu yerine kullanlabilecek bir alternatif ''c10
(c15) ''c10
remvalue komutu birden fazla deikeni sfrlamak iin de kullanlabilir.
(c16) remvalue(a,b)
(c17) ev(c10)

Blm2Sayfa4/7

fadeler de bir deikene balanarak isimlendirilebilir.


(c18) expr1:num+x+y
(c19) num:50
(c20) expr1
(c21) ev(expr1)
(c22) expr2:%
(c23) expr2
(c24) remvalue(num)
(c25) ev(expr1)
(c26) expr2
(c27) expr2+1
(c28) expr1*2
Deer atanm olan tm deikenlerin listesini grmek iin sistem deikeni values kullanlr.
(c29) values
all yazlarak tm tanml deikenler sfrlanabilir.
(c30) remvalue(all)
Sadece altrlan komut satryla snrl kalacak ekilde deikenlere deer atanabilir.
lenecek komuttan sonra virgl koyarak deikene deer atamas yaplrsa bu gerekleir.
(c31) expr:u+v
Aada sadece (c32) satrnda geerli olacak ekilde v deikenine 5 deeri atanmtr. Bu
komut ev(expr, v:5)'e edeerdir.
(c32) expr, v:5
(c32) satr ilendikten sonra (c33) satrnda v deikeni zerinde bir deer bulunmad
grlmektedir.
(c33) v
(c34) expr, v:a, u:4

Blm2Sayfa5/7

2.1.4. Sabitler
Baz sk kullanlan tanml sabitler:
%e Doal logaritmann taban(e), %i -1'in karekk(i), %pi pi says, inf
pozitif sonsuz, minf negatif sonsuz
(c1) log(%e)+sin(%pi/2)
(c2) u+sqrt(-1)*v
(c3) %e^%
(c4) exp(u+i*v)
(c5) ev(%, u:0, v:%pi)
(c6) d4, u:0, v:%pi
2.2. Denklemlerin Oluturulmas
fadeler "=" ilemcisiyle birletirilerek denklem tanmlanabilir.
(c1) eq: m*c^2=e^2/r_cl
Denklemlerde dier matematiksel nicelikler gibi ilenebilir.
(c2) %*r_cl
Denklem r_cl iin zlmek istenirse:
(c3) %/m/c^2
"=" ilemcisi bir deikene deer atamaz, denklem oluturur. Deikene deer atanmak
istendiinde ":" operatr kullanlmaldr. r_cl deikeni zerine denklem operatr herhangi
bir deer yklememitir.
(c4) r_cl
(c5) ev(eq, m=1/2, c=1)
Not: Sadece ilenilen komut satrnda geerli olmak zere deikenlere deer atarken "="
ilemcisi kullanlabilmekte ve ":" ilemcisi gibi almaktadr.

2.3. Fonksiyonlarn Tanmlanmas


function(arg1, arg2, ..., argn) := body
function Fonksiyonun ad
argi Bamsz deikenler
":=" Fonksiyon ilemcisi
body Deikenleri ieren bir Macsyma ifadesi
f fonksiyonunun tanmlanmas
(c1) f(p,q):=9*p^4-q^4+2*q^2

Blm2Sayfa6/7

f fonksiyonunun p=10864 ve q=18817 iin deerinin bulunmas. Macsyma'da tamsaylarn


boyutunda snrlama olmad doru sonu elde edilmektedir.
(c2) f(10864, 18817)
Ondalk saylarn hassasiyetinin default deerinin yeterince yksek olmamas sebebiyle
p=10864.0 ve q=18817.0 deerleri iin yaplan hesaplama yanl sonu vermektedir.
(c3) f(10864.0, 18817.0)
Bileke fonksiyon ilemleri aadaki gibi yaplabilir.
(c4) l(x):=m*x+b
(c5) f(x):=x^2+4
(c6) g(x):=1/x+3
(c7) f(g(x))
(c8) g(f(x))
(c9) f(g(2))
(c10) g(f(2))
g(x) fonksiyonunun tekrar tanmlanmas onun nceki tanmn iptal eder.
(c11) g(x):=x-a
Tanmlanm olan fonksiyonlarn listesini functions ile grmek mmkndr.
(c12) functions
stenilen fonksiyonlar dispfun komutuyla grmek mmkndr.
(c13) dispfun(f,g)
Fonksiyon tanmlamalar remfunction ile iptal edilebilir.
(c15) remfunction(f,g)
(c16) f(14)

Blm2Sayfa7/7

2.4. Listelerin Kullanm


(c1) list1:[aa, bb, cc]
(c2) list2:[dd, ee, ff]
(c3) list1+list2
(c4) list3:list1*list2
(c5) list1.list2
Bir listenin elemanlarna elemanlarna erimek iin first, last, part, ve rest komutlar
kullanlabilir. first komutu listenin ilk elemann verir.
(c6) first(list3)
rest komutu listenin ilk eleman dndaki tm elemanlarn ieren bir liste oluturur.
(c7) rest(list2)
last komutu listanin son elemann verir.
(c8) last(list1)
list3'n ilk elemanndan list1'in ikinci elemannn karlmas:
(c9) first(list3)-first(rest(list1))
(c10) rest(list2,2)
length komutu listenin eleman saysn vermektedir.
(c11) length(list1)+length(list2)
(c12) length(list1+list2)

Blm3Sayfa1/14
BLM 3. CEBR
3.1. fadelerin Almas
- expand komutu, toplamlarn arpm ve toplamlarn her dereceden kuvvetleri eklindeki
ifadeleri gereken arpma ilemlerini yaparak aar.
- multthru komutu, bir toplama ifadesi veya denklemin bir terim veya terimlerle arplmasn
salar.
- distrib komutu, toplama ilemlerini arpma ilemleri zerinde datarak ifadeleri aar.
- partfrac ksmi kesirlerin ayrtrlmasn salayan komuttur. Bir ifadeyi verilen bir ana
deikene gre ksmi kesirler eklinde aarak bunu salar.
- fadeleri aan komutlarn alma eklini deitirmek iin istendiinde logexpand ve
radexpand deikenleri kullanlabilir.

expand (exp) komutu, her dzeydeki exp ifadesi iin arpma ilemlerini yapar, ayr ayr
terimlerin toplam eklindeki kesirli ifadeleri paylarna gre ayrr, arpma ilemlerini toplama
ilemleri zerinde datr.
(c1) expr1: (1/(a+b)^2+x/(a-b)^3)^2
(c2) expr2: expand(expr1)
expand (exp, p, n) komutu, exp ifadesinin pay ksmnda p ve altndaki kuvvete sahip
terimler iin (veya p'ye kadar olan pozitif kuvvetler iin), payda ksmnda ise n ve altndaki
kuvvete sahip terimler iin (veya n'ye kadar olan negatif kuvvetler iin) arpma ilemlerini
yapar.
(c3) expr3: expand(expr1,2,0)
(c4) expand(expr1,0,2)
logexpand sl saylar ve apmlarn logaritmasn ieren ifadelerin almasnda kontrol
salayan opsiyonel deikendir.
log komutu doal logaritma ilemini gerekletirir.
(c5) log(%e)
logexpand deikeni true olarak seildiinde, Macsyma arpm ve blmlerin logaritmasn
ieren ifadeleri sadeletirmemektedir.
(c6) logexpand
(c7) log(a*b)
(c8) log(a/b)

Blm3Sayfa2/14
logexpand deikeni all olarak seildiinde ise bu logaritmalar sadeletirilmektedir.
(c9) logexpand:all
(c10) log(a*b)
(c11) log(a/b)
radexpand kkl saylar ieren ifadelerin almasnda kontrol salayan opsiyonel
deikendir.
radexpand deikeni true olarak seildiinde; Macsyma sl say, arpm ve blm ieren
kkl saylar sadeletirmemektedir.
(c12) radexpand
(c13) sqrt(x^y)
(c14) sqrt(x*y)
(c15) sqrt(x/y)
radexpand deikeni all olarak seildiinde ise bu kkl saylar sadeletirilmektedir.
(c16) radexpand:all
(c17) sqrt(x^y)
(c18) sqrt(x*y)
(c19) sqrt(x/y)
multthru(exp1, exp2) komutu, bir denklem veya toplam eklindeki exp2 ifadesini exp1
ifadesiyle arpar.
(c20) multthru((a-b)^4,expr3)
(c21) a=23*x^2+y^2-y^3/(a-b)
(c22) multthru(a-b,%)
multthru(exp) komutu ise exp ifadesinin toplam eklindeki bir arpannn yine exp
ifadesinin bir baka arpanyla arplmasna imkan verir.
expr4, terimlerin toplam biiminde ayrtrlmaktadr.
(c23) expr4: ((b+a)^10*(s-t)^2+2*a*b*(s-t)+a^2*b^2*(s-t))/a/b/(s-t)^4
(c24) expr5: multthru(expr4)

Blm3Sayfa3/14
distrib(exp) komutu exp ifadesinde toplama ilemini arpma ilemi zerinde datmaktadr.
(c25) (x+1)*((u+v)^2+a*(w+z)^2)
Aada distrib, multthru ve expand komutlaryla elde edilen sonular karlatrlmaktadr.
(c26) multthru(%)
(c27) distrib(d25)
C:\Macsyma\Macsyma2\library1\scs.fas being loaded.
(c28) expand(d25)
partfrac(exp, var) komutu, exp ifadesini var ana deikenine gre ksmi kesirler eklinde
aarak, ksmi kesirlerin tamamen ayrtrlmasn salar.
(c29) (1/(a+b)^2+x/(a-b)^3)^2
(c30) partfrac(%,a)

3.2. fadelerin Basitletirilmesi
- ratsimp komutu, ifadenin iindeki kesirli fonksiyonlar birletirip ardndan pay ve paydadaki
en byk ortak bleni yok ederek sadeletirme yapar.
- radcan komutu, stel ifade, logaritma ve kkl say ieren ifadeleri sadeletirir.
- scsimp komutu, verilen zdelikleri bir ifadeye uygulayarak daha kk bir ifade elde
etmek iin abalar.
- combine ve rncombine ayn paydaya sahip toplam eklindeki terimleri tek bir ifade
biiminde gruplar.
- xthru komutu, toplam eklindeki ifadenin terimlerini amadan ortak bir payda zerinde
birletirir.
- map komutu, byk bir ifadenin herbir terimine verilen bir fonksiyonu uygular.
- Bu blmdeki opsiyonel deikenler algebraic ve ratfac'dr.

ratsimp(exp) komutu exp ifadesi ve onun tm alt ifadelerini kesirli say iermeyecek biimde
sadeletirir. ratsimp ilk nce kesirli fonksiyonlarn toplam eklindeki ifadeleri (polinomlarn
blm eklindeki ifadeler) ttek bir kesirli fonksiyon biiminde birletirir daha sonra bu kesirli
fonksiyonun pay ve paydasndaki en byk ortak bleni yok eder.
(c1) -(x^5-x)/(x-1)+x+x^2+x^3+x^4+(a+b+c)^3
(c2) ratsimp(%)
(c3) d*(w+a)*x+c*(w+a)*x+b*d+b*c+c*d
(c4) ratsimp(%)

Blm3Sayfa4/14
ratsimp(exp, var
1
, var
2
, ..., var
n
) komutu, sonucu belirtilen var
i
deikenlerinin srasna
uygun olarak dzenler.
Aada nce d sonra c terimi gelecek ekilde sonu dzenlenmitir.
(c5) ratsimp(d3, c, d)
Kanonik kesirli ifadelerin ksmi olarak arpanlara ayrlmasn nlemek iin opsiyonel ratfac
deikeni true olarak ayarlanr.
(c6) ratsimp(d3, c, d), ratfac:true
Opsiyonel algebraic deikeni true olarak seilirse, cebirsel tamsaylarn sadeletirildii
grlebilir.
(c7) 1/(sqrt(x)-2)
(c8) ratsimp(%)
(c9) ratsimp(%), algebraic:true
radcan(exp) komutu, stel ifade, logaritma ve kkl say ieren exp ifadesini sadeletirir.
(c10) (log(x^2+x)-log(x))^a/log(x+1)^(a/2)+(e^x-1)/(e^(x/2)+1)+sqrt(x^2-y^2)/sqrt(x-y)
(c11) radcan(%)
scsimp(exp, rule
1
, rule
2
, ..., rule
n
) komutu, rule
i
zdeliklerini exp ifadesine uygular.
(c12) expr8: (k1*k4-k1*k2-k2*k3)/k3^2
(c13) eq1: k1*k4-k2*k3=0
(c14) eq2: k1*k2+k3*k4=0
(c15) scsimp(expr8, eq1, eq2)
multthru komutu kullanlarak aadaki ifade kesirlerin toplam eklinde yazlabilir.
(c16) ((b+a)^10*(s-t)^2+2*a*b*(s-t)+a^2*b^2*(s-t))/a/b/(s-t)^4
(c17) m_expr:multthru(%)

Blm3Sayfa5/14
xthru(exp) komutu, toplam eklindeki exp ifadesinin btn terimlerini amadan ortak bir
payda zerinde birletirir.
m_expr isimli ifadenin terimlerinin ortak bir payda zerinde birletirilmesi:
(c18) xthru(m_expr)
Tm terimlerin ayn paydaya sahip tek bir terim halinde birletirilmesi:
(c19) cd_expr: x/a+y/a+z/(2*a)
(c20) combine(cd_expr)
(c21) rncombine(cd_expr)
map( function, exp) bir sadeletirme komutu olarak exp ifadesinin her terimine bir function
foknksiyonunu uygular.
(c22) map(f, cd_expr)

Blm3Sayfa6/14
3.3. fadelerin arpanlara Ayrlmas
- factor komutu, ifadeyi arpanlarna ayrr.
- cfactor komutu, ifadeyi bir deikene gre kompleks ve kkl saylar da kullanarak
arpanlarna ayrr.
- factorsum komutu, bir toplamn terimlerini ortak arpanlara sahip gruplara ayrmaya alr
ve ardndan onlar arpanlarna ayrr.
- Bu blmdeki opsiyonel deiken: dontfactor
Daha fazla indirgenemeyecek ekilde arpanlara ayrmak iin factor(exp) komutu kullanlr.
Burada exp ifadesi ok sayda deiken veya fonksiyon ierebilir.
(c1) x^28+1
(c2) factor(%)
(c3) %-1
(c4) ratsimp(%)
(c5) a*x^2-4*a
(c6) factor(%)
(c7) a*x^2-2*a
(c8) factor(%)
cfactor komutu kompleks ve kkl saylarla arpanlara ayrr.
(c9) cfactor((a*x^2-2*a), x)
factorsum(exp) komutu, toplam biimindeki exp ifadesinin terimlerini nce ortak arpana
sahip gruplara ayrmaya alr daha sonra arpanlara ayrr.
(c10) (x+1)*((u+v)^2+a*(w+z)^2)
(c11) expr7: expand(%)
(c12) factor(expr7)
Not: factor komutu uygulanarak elde edilen sonu d10'daki ifadeden farkldr.
(c13) factorsum(expr7)

Blm3Sayfa7/14
dontfactor komutuyla belirlenen deiken listesine takip eden komutlarda arpanlara ayrma
ilemi uygulanmaz.
(c14) expr9:(x^2*y^2+2*x*y^2+y^2-x^2-2*x-1)/36/(y^2+2*y+1)
(c15) dontfactor:[x]
(c16) factor(expr9)
(c17) dontfactor:[]$
(c18) factor(expr9)

3.4. Yerine Koyma lemleri
- ev komutu, verilen ifadeyi belli artlar altnda hesaplar.
- subst komutu, baz snrlamalarla yerine koyma yoluyla yerdeitirme yaplmasn salar.
- ratsubst komutu, subst komutuna benzer ancak snrlama yoktur.
(c1) expr11:z*%e^z
ev(exp, arg
1
, arg
2
, ..., arg
n
) komutu, ifadedeki baz deikenlerde deiiklik yaparak
ifadenin tekrar hesaplanmasna izin verir.
(c2) ev(expr11, z=x^2)
(c3) expr11, z=x^2
(c4) expr11
subst(a, b, c) komutu, c ifadesinde b yerine a ifadesini koymak iin kullanlr. Burada b bir
atom (bir say, bir harf dizisi veya bir sembol) ve c'nin bir alt ifadesi olmaldr. b bu
zellikleri tamyorsa o zaman ratsubst(a, b, c) komutu kullanlr.
(c5) subst(x^2, z, expr11)
(c6) subst(z=x^2, expr11)
(c7) expr11: subst(a^2*b^3, z, expr11)
(c8) expr11
Drt adet atom (a, b, c ve d) ve iki adet alt ifade (c+b+a ve d) ieren expr12 isimli bir
ifade tanmlayalm:
(c9) expr12: (a+b+c)/d
(c10) subst(d, a+b, expr12)
(c11) ratsubst(d, a+b, expr12)

Blm3Sayfa8/14
subst komutu sadece sentaktik(szdizimsel) yerine koyma ilemlerini yapar
(c12) expr13: expand((1+sin(x))^4)
(c13) subst(1-cos(x)^2, sin(x)^2, expr13)
(c14) ratsubst(1-cos(x)^2, sin(x)^2, expr13)

3.5. Bir fadenin Paralara Ayrlmas
- part komutu, seilen alt ifadeyi ifadede bulunduu pozisyona bal olarak verir.
- dpart komutu part komutuna benzer ancak seilen alt ifadeyi iaretleyerek ifadenin tmn
verir.
- substpart komutu, iaret edilen alt ifadenin yerine belirlenen karakterleri koyarak ifadenin
yeni deerini verir.
- pickapart komutu, bir ifadenin alt ifadelerini E-SATIRI'nda belirlenen derinlie bal olarak
gsterir.
- lhs ve rhs, bir deklemin srasyla sol ve sa taraflarn verir.
- first ve last, belirlenen bir ifadenin srasyla ilk ve son ksmlarn verir.
- rest, bataki elemanlardan bir veya daha fazlasn ifadeden karr.
- coeff ve ratcoeff, belirli bir ifadenin deikenlerinin katsaylarn verir.
- Sistem deikeni olan piece, paralara ayrma komutlarndan biri kullanlarak seilen en son
ifadeyi temsil eder.
part(exp, n) komutu, exp ile gsterilen ifade veya denklemin bir tamsay olan n ile belirtilen
ksmn verir.
(c1) eq3: x^2+2*x+2=y^2+1
(c2) part(%, 2)
(c3) part(%, 1)

part(exp, num
1
, num
2
, ..., num
n
) komutu, exp ifadesinin num
1
ile belirlenen ksmn elde
edilmesini salar, ardndan elde ksmn num
2
ile belirlenen blmn bulur ve bu ekilde
devam eder.
(c4) part(eq3, 2, 1)

dpart(exp, num
1
, num
2
, ..., num
n
) komutu part komutuna benzemektedir, farkl olarak
exp ifadesinin belirlenen ksmn deil tamamn verir ve belirlenen alt ifadeyi exp ifadesi
zerinde iaretler.
(c5) big_expr1: (x^3+3*x^2+3*x+1)/(d^(x^3+3*x^2+3*x+1)+n)
(c6) dpart(big_expr1, 2, 2, 2)

Blm3Sayfa9/14
Sistem deikeni olan piece ise part, dpart, substpart gibi ifadenin bir ksmn seen
komutlarla belirlenmi olan en son ifadeyi tar. Aada kullanlan piece, yukarda dpart ile
seilen alt ifadeyi temsil etmektedir.
(c7) piece
substpart(x, exp, num
1
, num
2
, ..., num
n
) komutu exp ifadesinde seilen blm karp
onun yerine x ifadesini koyar.
Burada x, exp ifadesindeki bir operatrn yerine koyulmak istenen baka bir operatr de
olabilir.
(c8) substpart("+", a*b, 0)
(c9) substpart(factor(piece), big_expr1, 2, 2, 2)
pickapart(exp, depth) komutu exp ifadesinin depth tamsays ile belirlenen dereceye kadar
olan tm alt ifadelerini E-ETKET ile etiketler.
(c10)
big_expr2: log(a*x^2+b*x+c)^4-1/(1+1/y)^(1/2)+exp(-%i*cos(12*a-b+c))+a0*sin(a*x^
2+b)^2-x*y
(c11) pickapart(big_expr2, 2)
lhs bir denklemin sol tarafn rhs ise sa tarafn verir. Eer bir denklem deil ifade
szkonusuysa lhs tm ifadeyi rhs ise 0 sonucunu verir.
(c16) eq4:eq3-1
(c17) rhs(%)
(c18) lhs(eq4)
(c19) lhs(%)
(c20) rhs(%)
first(exp) ve last(exp) komutlar
(c21) first(big_expr2)
(c22) last(big_expr2)

rest(exp) ve rest(exp, num) komutlar
(c23) rest(big_expr2)
(c24) rest(big_expr2, 2)

Blm3Sayfa10/14
coeff ve ratcoeff komutlar
(c25) c_expr:a*x^2+b*x+c
(c26) coeff(c_expr, x)
(c27) coeff(c_expr, x, 2)
(c28) ratcoeff(c_expr, x)
(c29) ratcoeff(c_expr, x, 2)
(c30) rc_expr: (a*x+b)^2
(c31) coeff(rc_expr, x)
(c32) ratcoeff(rc_expr, x)
Not: ratcoeff komutu nce aadaki gibi ifadeyi amakta daha sonra katsaylara
bakmaktadr.
(c33) expand(rc_expr)

3.6. Trigonometrik Fonksiyonlarn Kullanm
3.6.1. Trigonometrik Fonksiyonlarn Hesaplanmas
- exponentialize komutu, trigonometrik fonksiyonlar ieren bir ifadeyi kompleks deikenli
stel ifadelere evirir.
- demoivre komutu kompleks deikenler ieren stel ifadeleri trigonometrik fonksiyonlara
dntrr.
- Trigonometrik fonksiyonlarn hesaplanmasnda kontrol salayan opsiyonel deikenler:
numer ve exponentialize
(c1) sin(1)
(c2) sin(0)
(c3) sin(1), numer:true
(c4) f(z):=sin(z)^2+1
(c5) f(x+1)
(c6) cos(x)^2-sin(x)^2
(c7) %, x=%pi/3
(c8) exponentialize:true
(c9) sin(x)
(c10) exponentialize:false

Blm3Sayfa11/14
(c11) tan(x)+%i*cos(y)-sin(z)
(c12) t_expr: exponentialize(%)
(c13) imagpart(t_expr)
(c14) realpart(t_expr)
(c15) demoivre(t_expr)

Blm3Sayfa12/14
3.6.2. Trigonometrik fadelerin Almas ve Basitletirilmesi
- trigexpand komutu, alarn arpm ve toplamlarndan oluan trigonometrik ve hiperbolik fonksiyonlar ieren ifadeleri
aar.
- trigreduce komutu belilenen bir deiken iin trigonometrik ve hiperbolik fonksiyonlarn kuvvetlerini ve arpmlarn
birletirir ve bu fonksiyonlardan payda da yer alanlar elimine etmeye alr.
- trigsimp komutu tan, sec gibi fonksiyonlar ieren ifadeleri bunlarn yerine sin, cos, sinh ve cosh fonksiyonlarn ieren
ifadelere dntrr. Bylece trigreduce komutu ifadelerle daha ileri dzeyde basitletirme gerekletirebilir.
- Bu blmle ilgili opsiyonel deikenler: trigexpand, trigexpandplus, trigexpandtimes ve halfangles.
trigexpand(exp) komutu, exp ifadesi iinde nx (n:tamsay) biiminde argmana sahip olan trigonometrik fonksiyonlar x
biiminde argman ierecek ekle dntrr.
(c1) t_expr1: sin(2*x+y)+cos(2*a)
(c2) trigexpand(t_expr1)
Opsiyonel deiken trigexpand'n deeri true olarak seilirse, t_expr1 ifadesindeki sins ve kosins tam olarak alr.
(c3) trigexpand(t_expr1), trigexpand:true
Trigonometrik ifadelerdeki yarm alar sadeletirmek iin, opsiyonel deiken halfangles'n deeri true olarak seilir
(default deeri false).
(c4) t_expr2: sin(2*x)+cosh(y-z)+tan(y*z/2)
(c6) trigexpand(t_expr2)
Opsiyonel deikenlerden trigexpandplus, trigexpand komutu iin toplama kuralnn kontroln salar. Default deeri
true'dur ve bu durumda sin(x+y) gibi toplamlar aar. Deeri false olarak seildiinde t_expr2 ifadesindeki toplamlarn
almas engellenmi olur.
(c7) trigexpand(t_expr2), trigexpandplus:false
Benzer ekilde opsiyonel deikenleden trigexandtimes, trigexpand komutu iin arpm kuralnn kontroln salar.
Default deeri true'dur ve bu durumda sin(2*y) gibi arpmlar aar. Deeri false olarak seildiinde t_expr2
ifadesindeki arpmlarn almas engellenmi olur.
(c8) trigexpand(t_expr2), trigexpandtimes:false
Toplam ve arpmlarn almasn engelleyip, yarm alarn sadeletirilmesine izin vererek t_expr2 ifadesi aadaki ekilde
alabilir.
(c9)
trigexpand(t_expr2),
trigexpandplus:false,
trigexpandtimes:false,
halfangles:true

trigreduce(exp, var) komutu kullanlarak fonksiyonlarn arpm ve kuvvetleri, alarn arpm eklindeki fonksiyonlara
dntrlerek trigexpand ile yaplan ilemlerin tersi gerekletirilir. Eer bir var deikeni belirlenmezse, trigreduce
ifadedeki tm deikenleri kullanr.
(c10) t_expr3: trigexpand(sin(2*z)+sin(2*y))
(c11) trigreduce(t_expr3)
(c12) trigreduce(t_expr3, z)
(c13) trigreduce(t_expr3, y)

Blm3Sayfa13/14
trigsimp(exp) komutu sin
2
x+cos
2
x=1 ve cosh
2
x-sinh
2
x=1 tanml kurallarn kullanarak tan, sec gibi fonksiyonlar ieren
ifadeleri bunlarn yerine sin, cos, sinh ve cosh fonksiyonlarn ieren ifadelere dntrr. Bylece trigreduce komutu
ifadelerle daha ileri dzeyde basitletirme gerekletirebilir.
(c15) t_expr4: (1-sin(x))*(sec(x)+tan(x))-cos(x)+(cosh(x)^2-sinh(x)^2)^3-1
Yukardaki t_expr4 ifadesi iki farkl yntemle sadeletirilebilir.
1. Yntem:
(c16) trigsimp(t_expr4)
2. Yntem:
(c17) ratsubst(cosh(x)^2-1, sinh(x)^2, t_expr4)
(c18) subst(sin(x)/cos(x), tan(x), t_expr4)
(c19) trigreduce(ratsimp(%))
Alternatif olarak t_expr4 ifadesi aadaki ekilde de sadeletirilebilir.
(c20) t_expr4, exponentialize, ratsimp

3.7. Toplamlarn Hesaplanmas
- sum komutu, indeks aral olarak verilen deerlerin toplamn alr.
- nusum komutu belilenen deiken iin bir ifadenin belirsiz toplama ilemini gerekletirir.
- sumcontract komutu, birde fazla toplama ilemini birletirerek tek toplam sembol nnde toplamaya alr.
- intosum komutu toplama ileminin dndaki arpanlar toplamn iine dahil eder.
- Bu blmle ilgili opsiyonel deiken: simpsum.
Bir toplam elde etmek iin sum(exp, index, low, high) komutu kullanlabilir. Burada exp bir Macsyma ifadesi, index
toplamann indeksi, low ve high ise srasyla toplamn alt ve st limitleridir.
(c1) sum(i^2, i, 1, 5)
Ayn sonucu for kullanarak da elde etmek mmkndr.
(c2) for i thru 5 do (s:s+i^2)
(c3) s
(c4) ev(%, s=0)
(c5) ev(d3)
Macsyma hesaplanmayan toplamlar veya hesaplanabilir kapal formdaki toplamlar ieren ifadelerin tanmlanmasna
imkan verir. Bu tanmlamalar sum'dan nce tek trnak iareti kullanldnda veya exp ifadesi olarak tanmsz bir fonksiyon
girildiinde grlr.
(c6) y='sum(a[i]*x^i, i, 0, 6)
(c7) fro: ev(%, sum)
Toplamn alt ve st limitleri bir tamsay tarafndan temsil edilmediinde eer simpsum'n deeri true olarak seilirse sum
komutu toplamn sonucunu sadeletirir. Ancak bazen kapal bir form da retebilir.
(c8) sum((x^i+y^i)*(x^i-y^i), i, 1, n)
(c9) ev (%, simpsum:true)
simpsum'n deeri true olarak seilse bile Macsyma aadaki toplam gerekletirememektedir.
(c10) expr: i/(4*i^2-1)^2
(c11) sum(expr, i, 1, n)

Blm3Sayfa14/14
Bir Macsyma ifadesinin belirsiz toplamn elde etmek iin nusum(exp, index, low, high) komutu kullanlabilir. Bu komut
low ve high toplamn alt ve st limitleri olmak zere var deikenine gre exp ifadesinin belirsiz toplamn salar.
(c12) nusum(expr, i, 1, n)
sum dier Macsyma komutlar ile birlikte de kullanlabilir. stenilen sonucu elde etmek iin aada bir dizi komut
kullanlmtr.
(c13) tobesum: 'sum(cos(k*x)*k, k, 1, n)
(c14) exponentialize(sum(sin(k*x), k, 1, n))
(c15) ev(%, sum, simpsum:true)
(c16) ev(demoivre(%), ratsimp, trigreduce)
(c17) tobesum=diff(%, x)
Aada kuvvet serisi alm kullanlarak bir diferansiyel denklem zm yaplmakta ve toplam komutlarnn baz
uygulamalar gsterilmektedir.
(c18) depends(y, x)$
(c19) eq: diff(y, x, 2)+diff(y, x)-2*x*y
(c20) pseries: y='sum(a[n]*x^n, n, 0, inf)
(c21) ev(eq, pseries, diff)
(c22) subst(1, n, part(%, 2, 1)) + substpart(2, %, 2, 3)
(c23) subst(2, n, part(%, 3, 1)) + substpart(3, %, 3, 3)

Yukardaki ikinci toplamda n=2+m, nc toplamda n=3+m olsun.
(c24)
part(%, [1, 4, 5])
+changevar(part(%,2), n=2+m, m, n)
+changevar(part(%,3), n=3+m, m, n)
(c25) intosum(%)
(c26) sol: sumcontract(%)
x'in tm kuvvetlerinin katsaylar sfra eittir.
(c27) a2: solve (part(%, [2, 3]), a[2])
(c28) part(sol, 1, 1)
(c29) solve(%, a[n+3])
(c30) first(%)
lk be katsay aadaki ekilde hesaplanabilir.
(c31)
[ev(%, n=3),
ev(%, n=2),
ev(%, n=1),
ev(%, n=0),
first(a2)]

Son olarak zm aadaki gibi elde edilir.
(c32) trunc(ev(fro, %, expand))
Ayn diferansiyel denklem ode komutuyla da zlebilir.
(c33) ode(eq, y, x, odeseries)

You might also like