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
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
ugrastim ama sonunda başardım :) cevabınız icin çok teşekkür ederim.
subs yerine double komutunu kullandım.