Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

karmaşık matematik işlemleri

Konu, 'PHP' kısmında exedat tarafından paylaşıldı.

  1. exedat

    exedat Üye

    Kayıt:
    16 Haziran 2004
    Mesajlar:
    138
    Beğenilen Mesajlar:
    0
    Meslek:
    Makine müh.
    Şehir:
    İzmir
    arkadaşlar mühendislik hesaplamaları için program yazıyorum c++ da yapmıştım şimdide php de yapmaya çalışıyorum daha php seviyesi olarak ilerde değilim aşağıda hesaplama yaptırıyorum sentaxlarda bir problem yok fakat $r yi tanımlayamadığım için Undefined variable uyarısı alıyorum

    PHP:
    <?
     
     
    $kissi 0.2 ;

     
    $kissi =  sqrt(1+4*(pow($kissi,2))*pow($r,2))  /  sqrtpow( (1-pow($r,2)),2)+4*pow($kissi,2)*pow($r,2)) ;

    echo 
    $r ;
    ?>
    burada amacım $r yi buldurmak yani 0.2= falan felan*x dersek , x i buldurmak istiyorum nasıl bir değişiklik yapmam lazım?
     
  2. mgsmus

    mgsmus Aktif Üye

    Kayıt:
    20 Şubat 2007
    Mesajlar:
    265
    Beğenilen Mesajlar:
    0
    Şehir:
    Mersin
    Matematiğim çok iyi değil :) çok basit olacak ama

    $x = $y + $r değil de $r = $y-$x gibi :)
     
  3. exedat

    exedat Üye

    Kayıt:
    16 Haziran 2004
    Mesajlar:
    138
    Beğenilen Mesajlar:
    0
    Meslek:
    Makine müh.
    Şehir:
    İzmir
    demek istediğimi tam anlatamatım galiba şimdi şöyle söyliyim biz $r yi bilmiyoruz o yüzden bir şey atayamıyorum $r ye amaç denklemin içindeki $r yi buldurmak. $r yi tanımlayamadığım için tanımlanamayan değer olarak hata alıyorum.sizin dediğiniz olay elemanların yerlerini değiştirmek bu karakök içerisinde birden fazla işlem olduğundan diğer tarafa atsamda aynı hatayı alırım.zaten çarpan durumunda $r olmadığından öyle bişi yapmak imkansız :)
     
  4. hyrgul

    hyrgul Üye

    Kayıt:
    14 Ocak 2011
    Mesajlar:
    208
    Beğenilen Mesajlar:
    0
    Meslek:
    Bilgisayar Öğretmeni
    Şehir:
    Kocaeli
    C++ da nasıl yaptınız merak ettim. Kodları görmemiz mümkün müdür acaba?
    mgsmus arkadaşın dediği gibi r değişkenini çekerek ancak hesaplanır gibi geliyor bana da
     
  5. mgsmus

    mgsmus Aktif Üye

    Kayıt:
    20 Şubat 2007
    Mesajlar:
    265
    Beğenilen Mesajlar:
    0
    Şehir:
    Mersin
    ­Kodları bildiğimiz matematiğe çevirdim. Bir bilinmeyenli bir denklem. Bilinmeyen $r, denklem sonucu ise 0.2.
    Kod:
                  √1+4 x ($kissi)² x $r²
      $kissi =  -------------------
                  √(1-$r²)² + 4 x ($kissi)² x $r²
    
    
    gibi sanırım

    yani burda $r yi dışarı atarsanız kin ben atamam şahsen :) $r yi bulursunuz gibime geliyor.

    Yani

    function r($kissi) {
    return ($r yi veren formül içinde $kissi var fln);
    }
     
    Son düzenleme yönetici tarafından yapıldı: 18 Şubat 2011
  6. Cihan Yakar

    Cihan Yakar Daimi Üye

    Kayıt:
    8 Temmuz 2003
    Mesajlar:
    5,886
    Beğenilen Mesajlar:
    1
    Şehir:
    Ankara
    bilinmeyeni sola çekeceksiniz
    x= 2*x+ y

    gibi basit bir şey olsun bu durumda y nin çözümü için uygulanacak formül :
    y = -(2*x-x)


    x in 5 olduğunu biliyor olalım

    5 = 2 * 5 + y


    şeklinde olur, bu durumda 5 koyduğumuzda
    y = (10-5)
    den -5 çıkar...

    siz $r = ....
    şeklinde işlemi yazıyor olmanız gerekiyor.
     
  7. ckusmez

    ckusmez Üye

    Kayıt:
    26 Temmuz 2008
    Mesajlar:
    180
    Beğenilen Mesajlar:
    0
    bunu görünce aklıma direk matematik bölümünde gördüğümüz Bilgisayar Cebiri dersi geldi. Bu en iyi Mapple'da yapılır. :)
     
  8. Cihan Yakar

    Cihan Yakar Daimi Üye

    Kayıt:
    8 Temmuz 2003
    Mesajlar:
    5,886
    Beğenilen Mesajlar:
    1
    Şehir:
    Ankara
    Son düzenleme yönetici tarafından yapıldı: 18 Şubat 2011
  9. exedat

    exedat Üye

    Kayıt:
    16 Haziran 2004
    Mesajlar:
    138
    Beğenilen Mesajlar:
    0
    Meslek:
    Makine müh.
    Şehir:
    İzmir
    cihan işte istediğim olay bu :D tabi php de çözümlenmesi :) wolframalpha nası buluyorsa bende bulmak istiyorum doğrusu php de. şimdi for döngüsü kullanarak deniycem başarırsam paylaşırım tekrar
     
  10. exedat

    exedat Üye

    Kayıt:
    16 Haziran 2004
    Mesajlar:
    138
    Beğenilen Mesajlar:
    0
    Meslek:
    Makine müh.
    Şehir:
    İzmir
    PHP:
    <?php
     
     
     
     
    for ($r=$kissi=0.2$r++) {
     

     
    $kissi =  sqrt(1+4*(pow($kissi,2))*pow($r,2))  /  sqrtpow( (1-pow($r,2)),2)+4*pow($kissi,2)*pow($r,2)) ;
     
     if (
    $r==$kissi) {
         
         break;
         }
     
     }
    echo 
    $r ;

    ?>
    böyle hesaplatmaya çalıştım bu seferde 30 sn limitine takıldık 30000 sn yaptım işlem süresini 5 dk oldu tık yok.
     
  11. Cihan Yakar

    Cihan Yakar Daimi Üye

    Kayıt:
    8 Temmuz 2003
    Mesajlar:
    5,886
    Beğenilen Mesajlar:
    1
    Şehir:
    Ankara
    iyi de sonucu sağlayan 4 tane r değeri var hiç biride tam sayı değil...
     
  12. exedat

    exedat Üye

    Kayıt:
    16 Haziran 2004
    Mesajlar:
    138
    Beğenilen Mesajlar:
    0
    Meslek:
    Makine müh.
    Şehir:
    İzmir
    sonuç tam sayı çıkmak zorunda değilki 4 tane yok 2 kök var biri - biri + ben for döngüsünde 0 dan başlatıyorum o yüzden tek bi kökü bulması lazım ama bulmaya çalışıoda çalışıo sonç yok
     
  13. Cihan Yakar

    Cihan Yakar Daimi Üye

    Kayıt:
    8 Temmuz 2003
    Mesajlar:
    5,886
    Beğenilen Mesajlar:
    1
    Şehir:
    Ankara
    0 dan başlatıp 1 er 1 er artırıyorsun ama sonuç küsüratlı onu anlatmaya çalışıyorum.

    sallıyorum sonuç 1.5

    sen 0 dan başladın , 0 , 1, 2, 3...
    1.5' u atladın geçtin...
     
  14. exedat

    exedat Üye

    Kayıt:
    16 Haziran 2004
    Mesajlar:
    138
    Beğenilen Mesajlar:
    0
    Meslek:
    Makine müh.
    Şehir:
    İzmir
    hayda doğru diyorsun onu düşünmedim en basit hesapta takıldım allah sonumu hayır ede makinanın titreşim sönümleme hesabı yaptırıyorum o yüzden sürekli bu hesaplar karşıma çıkıcak biren biri hiç yokmu acaba nasıl yapılacağını
     
  15. mgsmus

    mgsmus Aktif Üye

    Kayıt:
    20 Şubat 2007
    Mesajlar:
    265
    Beğenilen Mesajlar:
    0
    Şehir:
    Mersin
    PHP:
    set_time_limit(100);

    $kissi .2;
    $artis .000001;
    $baslangic = -10;
    $bitis 10;

    for(
    $r $baslangic$r <= $bitis$r $r $artis) {
       
    $formul sqrt(1+4*(pow($kissi,2))*pow($r,2))  /  sqrtpow( (1-pow($r,2)),2)+4*pow($kissi,2)*pow($r,2));

       if(
    $kissi <  $formul) {
          
    $a $r;
       }

       if(
    $kissi >  $formul) {
          
    $b $r;
       }

       if(
    $kissi ==  $formul ) {
          
    $c $r;
       }

    }

    if(!isset(
    $c)) {
       
    $c "?";
    }

    echo 
    "r = ".$c" ("$a ." < r < ".$b.")";
    Böyle bişey olur mu acaba. En azından değer aralığını veriyor :) (Ben sosyoloji mezunuyum, yanlış olabilir :s006: )
     
  16. MyProgramming

    MyProgramming Aktif Üye

    Kayıt:
    26 Eylül 2010
    Mesajlar:
    316
    Beğenilen Mesajlar:
    0
    Kısır döngüye girmiş olmıyasın :)
     
  17. ckusmez

    ckusmez Üye

    Kayıt:
    26 Temmuz 2008
    Mesajlar:
    180
    Beğenilen Mesajlar:
    0
  18. exedat

    exedat Üye

    Kayıt:
    16 Haziran 2004
    Mesajlar:
    138
    Beğenilen Mesajlar:
    0
    Meslek:
    Makine müh.
    Şehir:
    İzmir
    walla çalıştırdımda 5dk oldu sonuç gelmedi :D düşünce olarak doğru ama aralik vermesi değilde direk sonucu bulması önemli yani çat die r yi bulucak.çünkü 2 kök var birisi negatif birisi pozitif iki kökten pozitifi alıcak bana diicekki r=2.93 bende onu alıcam arabadaki süspansiyon yayının katsayısını bulucam :) ama çok şükür başta tıkandık...

    walla zaten programda hata var 1 rer 1 rer arttırıo baştan kısır döngüye girmişim:D

    tamam bi bakim işe yararsa paylaşırım