arkadaslar eğri denklemı hakkında yardım ediniz

Başlatan zamzam23, 08 Şubat 2011, 10:47:30

zamzam23


Açıklama:0 dan 15 e kadar yatay eksende 0.2 aralıklarla deger verip bu noktalara eğri üzerinde,y eksenine karsılık gelen noktaları bulan fonksiyon nedir acaba??
Bu fonksiyonu işlemcide kosturmam gerekıyor. Cıkan degerlerı diziye aktarıp yeri geldiginde kullanmam gerekıyor. Siz bana en azından nasıl yapacagım konusunda fikir verirseniz gerisini ben hallederim inş.15 ve 30 degerleri degısken olabılecgı ıcın fonksıyon yazmam gerek. Yoksa ben bu noktaları hesaplar diziye yazardım tek seferlık. Ama degerler kullanıcı tarafından degıstırılebılıyor.sadece 15 ve 30 degısken. 0.2 degıl. Yardımlarınızı beklıyorum.

iyildirim

Grafiğe bakılınca 270 den 0 dereceye kadar ve 180 dereceden 90 dereceye kadar iki çeyrek çember (elips) parçasının birleştirilmişi gibi görünüyor. Değerlere bakarsak grafiğin orantısız çizildiğide belli.
Bu oranlara bakarsak grafik, genliği dalgaboyunun iki katı olan bir yarım sinus dalga parçası gibi.

Bu fonksiyonu bir mcu'da, trigonometrik ifadeler veya look-up tabloları kullanmadan yazmak için aklıma gelen en kolay yol, GLDC kütüphanelerinden bir çember çizme fonksiyonunu alıp üzerinde gereken değişikliği yapmak olur.


serdararikan

şekilden fonksiyon çıkarmak çok kolay değil.eğer gerçekten oradaki yaylar bir çembere ait ise o zaman işin kolay.

çemberin fonksiyonu    r^2=x^2+y^2

burada r yarıçap olduğu için sabit bir sayı olur.grafiğe bakarsak Y nin max değeri 2r ye eşit olacağından r=15 olur.yine grafikten x in max değerinin 15 olduğu görülüyor.orada iki adet çeyrek öember olduğundan 15=2r dir ve xmax=7.5 olur.

sen tablonu x'e göre yani zamana göre hazırlayacağına göre bu fonksiyonu tesbit edip lookup tablosu yapman çok zor değil.biraz uğraşırsan direk fonksiyonu bile mikroişlemcide hesaplatabilirsin

mufitsozen

Alıntı yapılan: zamzam23 - 08 Şubat 2011, 10:47:30
(Resim gizlendi görmek için tıklayın.)
Açıklama:0 dan 15 e kadar yatay eksende 0.2 aralıklarla deger verip bu noktalara eğri üzerinde,y eksenine karsılık gelen noktaları bulan fonksiyon nedir acaba??
Bu fonksiyonu işlemcide kosturmam gerekıyor. Cıkan degerlerı diziye aktarıp yeri geldiginde kullanmam gerekıyor. Siz bana en azından nasıl yapacagım konusunda fikir verirseniz gerisini ben hallederim inş.15 ve 30 degerleri degısken olabılecgı ıcın fonksıyon yazmam gerek. Yoksa ben bu noktaları hesaplar diziye yazardım tek seferlık. Ama degerler kullanıcı tarafından degıstırılebılıyor.sadece 15 ve 30 degısken. 0.2 degıl. Yardımlarınızı beklıyorum.

verdiginiz sekildeki grafik "hyperbolic tangent" grafigi gibi. bkz: http://www.eecs.ucf.edu/~hastings/index.php?content=ann

sizin istediginiz gibi ekseni kaydirip, x-y degerlerini oynatmak icin matlab vb bir programla katsayilari ile oynayarak kontrol edebilirsiniz.
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

zamzam23

#4
çizimi ortantısız yapmış olabilirim. şöyle ki ;eğride tam orta nokta(7.5,15) noktasıdır.
Buna göre iki ayrı çember olarak mı duşunmlıyım?
Alıntı yapılan: serdararikan - 08 Şubat 2011, 11:54:21
burada r yarıçap olduğu için sabit bir sayı olur.grafiğe bakarsak Y nin max değeri 2r ye eşit olacağından r=15 olur.yine grafikten x in max değerinin 15 olduğu görülüyor.orada iki adet çeyrek öember olduğundan 15=2r dir ve xmax=7.5 olur.
sizin burada demek istediğinizi anlayamadım.dediğinize göre x belli r belli . verdıgınız formulden y yi excelde hesaplatmaya kalkarsak şekildekinden farklı bır eğri çıkar.o zmn iki ayrı cember denklemı mı yazmalıyım?sizde bunu mu demek ıstemıstınız
Alıntı yapılan: mufitsozen - 08 Şubat 2011, 13:07:04
verdiginiz sekildeki grafik "hyperbolic tangent" grafigi gibi. bkz: http://www.eecs.ucf.edu/~hastings/index.php?content=ann
sizin istediginiz gibi ekseni kaydirip, x-y degerlerini oynatmak icin matlab vb bir programla katsayilari ile oynayarak kontrol edebilirsiniz.
linktekı denklemlerden tanh(x) tam bana göre.diğerleride onun türevleri zaten. ama tanh belli bir degerden sonr hep 1 vermezmı?y degeri 1 i gecmez bizim onu cızdırırsek.düzeltme: şimdi farkettim sayfanın üstünde zaten demiş -1,1 aralıgındadır diye.biz bunu istediğimiz aralıga nasıl çekicez.trigonometrik hesaplarla olmicak sanırım.
Alıntı yapılan: iyildirim - 08 Şubat 2011, 11:35:00
GLDC kütüphanelerinden bir çember çizme fonksiyonunu alıp üzerinde gereken değişikliği yapmak olur.
işe yararmı bilmiyorum ama gzl bir fikir tesekkur ederim.

sahteker

hocam merhaba,
ben yazılım bilmem ama acizane fikrimi belirtmek istedim umarım bi faydam dokunur :(

fonksiyonu yazdırma işleminizi yaparken neden çember denklemlerine girdiniz ben orasını kavrayamadım :(
belkide o şekilde daha kolay olacak ama mantıken şöyle düşünsek ve sizde bunu yazılıma aktarmaya çalışsanız nasıl olur?

bi şart koşsak yazılım dliyle desekki:
x 0 ve 7.5 arasında ise yani  0<x<7.5 ===> y=f( x ) = x (kare)
ve
7.5 < x < 15  ===> x= y ( kare ) yani y= (kök x)
fonskiyonlarını çizdirmeye çalışsak yanlış olmaz değilmi?
bunu yazılımda nasıl gerçekleştiririz onu bilemem ama sadece olayın matematiki kısmı hakkında belirtmek istedim
yazılımda direk fonksiyon çizdirmek zor olur mu?
anlayabildiğim kadarıyla o fonskyion çember denklemi ile biraz daha zor ifade edilir sanki ? :(
kimi, sevap için Kabeye varır... Kabe kapınızda! Bilmez misiniz?

serdararikan

olaya bu şekilde çözüm aramak çok doğru bir yaklaşım olmaz.öncelikle istenen fonksiyon hakkında bilgi sahibi olmamız lazım.bu grafikteki eğriler çember midir? parabolmüdür? karemidir? kökmüdür? bu şekilde çözüm bulamayız.şimdi sonucu isteyen arakadaş diyecekki benim şeklimin üst kısmı da alt kısmıda çemberdir veya paraboldür veya kare-kök tür ona göre denklemi oluşturmaya çalışacağız.yok eğer grafikhakkında bu seviyede bir bilgimiz yoksa istenen sistemin belirli sayıda örneklemesi yapılarak örnekleme sonucunda tesbit edilen değerleri interpolasyon metodu ile kullanarak yaklaşık fonksiyon hesaplanabilir.yoksa bu sösylenenlerin hepsi bir salla tutturdan öteye geçemez.

zamzam23

hocam bu eğri aslında bir motor hızlanma eğrisidir. yani aradaki geçiş ne kadar yumusak olursa o kadar iyi. kare mi olmalı kökmü çembermi elips mi ona biz karar vericez onun denklemını yazıcaz.

NaMcHo

#8
Bir elips denkelemi şeklinde yazılmalı denklem.
Eğer eğrinin orta noktası şekildeki değerlere göre (7.5 , 15) ise 2 ayrı elips denkleminin toplamı şeklinde denklem oluşturulabilir,

0<x<7.5  arası için (x^2 / (a/2)^2) + (y-b/2)^2 / (b/2)^2 = 1   ve  7.5<x<15   için  (x-a)^2 / (a/2)^2 + (y-b/2)^2 / (b/2)^2 = 1
Burdaki a değeri şeklinize göre 15 ve b değeri ise 30 dur.

[IMG]http://img683.imageshack.us/img683/3982/denklem.jpg[/img]

Uploaded with ImageShack.us

Tagli

serdararikan ile aynı fikirdeyim. Noktaların yerleri belliyse, nümerik yöntemlerle eğri uydurmak daha doğru bir yaklaşım olacaktır. Hemen hemen her üniversite öğrencisinin sahip olduğu Casio fx-82MS eğri uydurma yapabiliyor, tabi kullanım kılavuzunu biraz kurcalamak lazım. :)
Gökçe Tağlıoğlu

mufitsozen

Alıntı yapılan: zamzam23 - 08 Şubat 2011, 13:28:43
Alıntı yapılan: mufitsozen - 08 Şubat 2011, 13:07:04
verdiginiz sekildeki grafik "hyperbolic tangent" grafigi gibi. bkz: http://www.eecs.ucf.edu/~hastings/index.php?content=ann
sizin istediginiz gibi ekseni kaydirip, x-y degerlerini oynatmak icin matlab vb bir programla katsayilari ile oynayarak kontrol edebilirsiniz.
linktekı denklemlerden tanh(x) tam bana göre.diğerleride onun türevleri zaten. ama tanh belli bir degerden sonr hep 1 vermezmı?y degeri 1 i gecmez bizim onu cızdırırsek.düzeltme: şimdi farkettim sayfanın üstünde zaten demiş -1,1 aralıgındadır diye.biz bunu istediğimiz aralıga nasıl çekicez.trigonometrik hesaplarla olmicak sanırım.

y = 15tanh(x-15)+15
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

serdararikan

Alıntı yapılan: NaMcHo - 08 Şubat 2011, 15:52:55
Bir elips denkelemi şeklinde yazılmalı denklem.
Eğer eğrinin orta noktası şekildeki değerlere göre (7.5 , 15) ise 2 ayrı elips denkleminin toplamı şeklinde denklem oluşturulabilir,

0<x<7.5  arası için (x^2 / (a/2)^2) + (y-b/2)^2 / (b/2)^2 = 1   ve  7.5<x<15   için  (x-a)^2 / (a/2)^2 + (y-b/2)^2 / (b/2)^2 = 1
Burdaki a değeri şeklinize göre 15 ve b değeri ise 30 dur.

[IMG]http://img683.imageshack.us/img683/3982/denklem.jpg[/img]

Uploaded with ImageShack.us

bu gayet güzel bir açıklama olmuş emeğine sağlık.ilgili arkadaşın bu denklemlerde uygun bir düzenleme yapması yeterli.

zamzam23

#12
elinize sağlık. ama denklemlerde sorun var.excelde hesaplattım  farklı cıkıyor.buyrun doysa. zamanınız varsa sizde kontrol edin lütfen.
http://hotfile.com/dl/102915994/55d0953/1.xls.html

NaMcHo

#13
Fonksiyona bidaha baktım fonksiyonda sorun yok gibi sınır değerleri veripde denedim sağlıyor,  birde tek tek değerler vericem bakalım grafik doğru çıkıcakmı sizin exel dosyanızı indiremedim "Hatalı Kod. Lütfen tekrar deneyin." uyarısın veriyor.

x^2 / (a/2)^2 + (y-b/2)^2 / (b/2)^2 = 1  ,  0<x<= 7.5            (x-a)^2 / (a/2)^2 + (y-b/2)^2 / (b/2)^2 = 1   ,    7.5<x<=15

x>=15 için ise  y=b 

a=15 , b=30 , x=5 için denklemi deneyelim;
25/(225/4) + (y-15)^2/225 = 1         100/225 + (y-15)^2 / 225 = 1    100+(y-15)^2 = 225     (y-15)^2 = 125
Burada 2 çözüm vardır y-15 = 11,18   ve y-15 = -11,18 dir  grafiğimize göre y-15 = -11,18 çözümü alınmalı yani y= 3,82 olmalı.

x = 7 için ise y = 9.62 sonucu buldum ben.

Sizin exeldeki bulmuş olduğunuz sonuçlardan x yerine 5 verdiğinizde bulmuş olduğunuz sonuçlar nedir?

zamzam23

#14
x=5 için y=26.18
tamam sorun yok o halde. ama excel sizin aldıgınız noktayı degılde dıgerını aldı.işlemciye bu nasıl anlatılır?

linki şimdi kontrol ettim.calısıyor.ama siz burdan indirin
http://www.burtayelektronik.com/1.xls