Matlab ortamında teorik ve numerik türev Analizi [açıklamalı][kaynak kodlu] !

tozgen

Yeni üye
19 Nis 2019
10
0
LinuxTerm
Kod:
[            %%cosinüs fonksiyonunun sembolik ve numerik türevini aynı
            %%grafik üzerinde çizdiren matlab programıdır.

syms t Fs Ac%değişkenleri sembolik olarak tanımladık
st=Ac*cos(2*pi*Fs*t);%st fonksiyonunu tanımladık
stp=diff(st,t);%st fonksiyonunun t'ye göre türevini stp'ye atadık
Fs =1;%frekansa kolaylık sağlaması için 1 değerini verdik
t=[0:0.01:1];%t değişkeninde 1x101 lik bir vektör oluşturduk
Ac=1;%%kolaylık olması için Ac değişkenine 1 değerini verdik
st=eval(st);stp=eval(stp);%sembolik olarak tanımlanan st ve stp fonksiyonlarını eval(x) komutu ile numeriğe çevirdik
                %%numerik türev alımı%%
sntp=(st(1:100)-st(2:101))./(t(1:100)-t(2:101));%burada türev alırken semboller yerine sayıları kullandık 
                                                %ve çok küçük aralıklarla cosinüs grafiğinin eğimini hesapladık(limit gibi düşünebiliriz)
sntp= [sntp -0.1966];%yukardaki işlem sonucunda 100 değer ortaya çıktı 
                     %ama bizim tanımladığımız t aralığında 101 eleman olduğundan 
                     %grafiği çizdirebilmek için bir değer ekledik bu değer eklemesini de
                     %sntp'nin elemanlarındaki 99. elemandan 100. elemanı
                     %çıkartıp gelen sonucu da 100. elemannın yanına aktararak
                     %örüntüyü bozmayacak biçimde sntp'nin değerlerine +1 
                     %eklemesi yaptık
figure(1)%yeni figure penceresi açtık ama çok da önemli değil yazılamasa da kod sorunsuz çalışır
plot(t,st,':or');hold on;%t aralığı üzerinde st değerlerini çizdirdik bunu yaparken grafiğin geçtiği noktalara o işareti,grafiğin rengine kırmızı,çizgisine noktalı çizgi ataması yaptık
plot(t,stp,'-*b');hold on;%t aralığı üzerinde stp değerlerini çizdirdik bunu yaparken grafiğin geçtiği noktalara * işareti,grafiğin rengine mavi,çizgisine düz çizgi ataması yaptık
plot(t,sntp,'+--g');%t aralığı üzerinde sntp değerlerini çizdirdik bunu yaparken grafiğin geçtiği noktalara + işareti,grafiğin rengine yeşil,çizgisine kesikli çizgi ataması yaptık
xlabel('time');%x ekseni ismi...:time
ylabel('st,sntp and stp function');%y ekseni ismi...: st,sntp and stp function 
title('cos differantial');%başlık....:cos differantial
grid on;%grafik pencere ızgarasını açtık



%%Created by tozgen


yukarıdaki kodda t aralığını küçültüp ve diğer ayarlamaları da ona göre değiştirdiğimizde
numerik türevin doğruluğu teorik türevden uzaklaşacaktır ve biz aralığı sonsuz yapmadığımız müddetçe de asla teorik türeve eşit olmayacaktır.


eMONbW.png
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.