Soru sorfonksiyonun türevini almak
myth tarafından 12 ay önce soruldu

Colebrook equation isimli denklemin, FD ye gore türevini alıp sonra soz konusu degerin türevde yerine konup sonuc veren bir program yazmak istiyorum. 
function [CFDderiv]=colebrook_deriv(FD,RE,EdivD)
sym FD1 real;
CFD=1/sqrt(FD1)+2*log10(2.51/(RE*sqrt(FD1))+EdivD/3.72);
CFDD=diff(CFD,FD1);
clear FD1
a=FD;
CFDderiv=CFDD(a);
end
 
Yani fonksiyonda gözüktüğü gibi, FD, RE ve EdivD kullanıcı tarafından belirlenecek. soz konusu eşitlik FD ye gore turevlenecek. Daha sonra, türevini sonucu olusan denkleme girilen FD degeri tekrar yazılarak sonuc bulunacak. Saatlerce denedim ancak sanırım Matlab ve programlamada yeni oldugum icin pek asama kaydedemedim. Bu yazdigim kodlar da calismiyor. Yardimci olursanız sevinirim. Tesekkutler

2 cevap var
En iyi cevap
Osman Sayginer Yönetici tarafından 12 ay önce cevaplandı

Merhaba,
Yeni basladiginiz  icin oncelikle daha kolay denklemlerle kodunuzun calisip calismadigini denemenizi tavsiye ediyorum. Asagida faydalanabileceginiz bir ornegi bulabilirsiniz:

syms x y %Degiskenlerimi sembolik olarak tanimlamam gerekiyor
F=(4.*(x.^6+y.^2)-1)+5*x*y^2; %Denklemimi yaziyorum dx = diff(F,x) %Turevimi sembolik olarak tanimliyorum
x= 2; y= 4; %Degiskenlerimin degerlerini yaziyorum
subs(dx) %subs fonksiyonu ile degisken degerlerini turevi alinan sembolik ifadede yerine koyuyorum
myth tarafından 12 ay önce cevaplandı

ugrastim ama sonunda başardım 🙂 cevabınız icin çok teşekkür ederim. 
 
subs yerine double komutunu kullandım.