matlab ile igili yardım

Başlatan Sinan29, 05 Nisan 2014, 20:24:28

Sinan29

Arkadaşlar matlab birşey sorcam  yapmak istediğim F(u)=1/((u^2-1)^2+(4*h^2*u^2))^(1/2) bu değeri h^2= 0.001,0.1,0.2,0.4,0.7,1.0,2.0,4.0 değerleri için u=1 den 0.05 artarak 3 kadar gidecek şöyle bir program matlabta yazdım ama şekil çizdirirken yanlış çiziyor nerde yanlış yaptım acaba F(u) nun u göre grafiği..

hKare = [0.001,0.1,0.2,0.4,0.7,1.0,2.0,4.0]
u = 1:0.005:3;
for k = 1:length(hKare)
for p = 1:length(u)
    F(k,p) = 1/((u(p)^2-1)^2+(4*hKare(k)*u(p)^2))^(1/2);
end
end
plot(F(k,p),u)
title('F-u Grafigi, h^2=0.2');
xlabel('F');
ylabel('u');

Sinan29

acaba yanlısım nedir  arkadaslar ?

erpay

Basitçe  F(k,p) = 1/((u(p)^2-1)^2+(4*hKare(k)*u(p)^2))^(1/2); bu satırdaki düşüncen yanlış. Matlabda bu tarz bir denklemi şöyle tanımlayabilirsin mesela
f = @(h)( ((3*V/pi)+h.^3)/(3*h*R) );   Burada V ve pi sabit h ise senin değişkenin. Bundan sonra F(sayı) şeklinde o denklemin sonucunu bulabilirsin mesela.

Sinan29

hocam grafik çizdiriyorum ama hem u hemde F(u) daki değerlerin aynı olmasını istiyorum onu nası yapabilirim grafikte.

pisayisi

For döngüsünde k ve p indisleri son değerinde kaldığı için sadece son noktanın grafiğini çizdiriyorsun tek çubuk gibi bir şey ortaya çıkıyor sanırım. F iki boyutlu bir matris olduğundan plot(F) yazarak çizim yapabilirsin. Ancak burdada sıkıntı var senin  fonksiyonun k ve p  indislerine bağlı 3 boyutlu bir fonksiyon olduğundan mesh(F) komutu ile çizim yaparak 3 boyutlu yüzeyi görüntülemen lazım...
Murat

Sinan29

aynen öyle hocam.. 2 boyutlu olmaz mı hocam ?

pisayisi

plot(F) ile grafiği çizdirdiğinde üst üste binmiş chart tipi grafik göreceksin. İki değişkene sahip bir fonksiyonu buşekilde çizdirebilirsin ancak fiziksel olarak grafik sana neyi ifade edecek bu önemli. Bence mesh(F) ile daha tutarlı bir grafik elde edebilirsin . Sonuçta ikisi de doğru, ancak F matrisini en iyi görselleyecek grafik komutu mesh dir bunda sorun yok...
Murat

Sinan29

Alıntı yapılan: erpay - 07 Nisan 2014, 09:22:53
Basitçe  F(k,p) = 1/((u(p)^2-1)^2+(4*hKare(k)*u(p)^2))^(1/2); bu satırdaki düşüncen yanlış. Matlabda bu tarz bir denklemi şöyle tanımlayabilirsin mesela
f = @(h)( ((3*V/pi)+h.^3)/(3*h*R) );   Burada V ve pi sabit h ise senin değişkenin. Bundan sonra F(sayı) şeklinde o denklemin sonucunu bulabilirsin mesela.
hocam burda hem u hemde h değişken olduğu için öyle düşündüm tek bir değişken olsa dediğiniz gibi olurdu.