Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 10 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.01.12
Prihlásený: 20.07.13
Príspevky: 46
Témy: 9
Príspevok NapísalOffline : 28.01.2013 19:42

zdravim, pls help.mam problem s nasl. fciou. Ide o fatal error : Allowed memory size of bytes exhaust. s odporucanim alokovat 24 B. Nasledne som vyguglil jednoduchy prikaz "ini_set('memory_limit','128M');", kde som zvysoval od 24 vyssie a po 128 s tym ze aj poziadavka na velkost pamate sa stale zvysovala. Fcia mi ma vratit maticu, s tym ze neskor bude posielana do druheho suboru kde vykreslujem pomocou GD. To ale neni podstatne, tiez som poprehadzoval mocninove prepocty z pow(n,2) na n*n cim som vlastne odsuval chybovy riadok, ale stale pytalo vacsiu alokaciu, a neskor uz bol problem s presiahnutim defaultneho execution time (30s). Tak si teda neviem rady. POZNAMKA: v argum. fcie su aj samotne indexy potom tu fciu volam cyklicky. Napada ma ci to nie je prilis narocne na mnozstvo kopii funkcii..ale neviem. vie miekto poradit co s tym ?..DAKUJEM
Kód:
function last_space($o, $p, $r, $s, $t, $u, $v)// args[A, B, x, d, diff_1, index, index]
{
      
      $matrix= array(array());// [0][i] - stredy // [1][i] - spojnice2 // [2][i] - vysky //
       for($i = 1, $j = 0 ; $j < floor($o / $s) ; $i+=2, $j++)
               {
               $matrix[0][$j] = $i * $r;
               }

            for($i = 1 ; $i < 5 ; $i++)
              {
              for($j = 0 ; $j < floor(count($matrix[0])) ; $j++)
               {
               $matrix[$i][$j]=0;// nulovanie zvysku - v tele fcie budu prepisane podla potreby
               }
              }


            $vertic       = ($p - $r) - ($s + (floor(($p - $s)/($s - $t)) - 1) * ($s - $t) - $r);
            $horizont = $s;
            

            $n = 1; $q = $m = $f = 0;   

      while($o - $f >= $r)
            {
               
               
               $spojnica       = sqrt($vertic * $vertic + $horizont * $horizont);
               $gamma          = rad2deg(acos(($s * $s + $s * $s - $spojnica * $spojnica) / (2 * $s * $s)));
               $alfa          = (180 - $gamma) / 2;
               $alfa_          = rad2deg(acos($vertic * $vertic + $spojnica * $spojnica - $horizont * $horizont)/(2*$spojnica*$vertic));
               $alfa__          = 90 - $alfa - $alfa_;
               $gamma_       = (180 - $alfa__) / 2;
               $acko          = sqrt($s * $s + $s * $s - (2 * $s * $s) * cos(deg2rad($alfa__)));
               $v_c          = $s * sin(deg2rad($alfa__));

               //$posun1        = sqrt(pow($acko,2) - pow($v_c,2));
                $spojnica2     = sqrt($s*$s + $s*$s - 2*$s*$s*cos(deg2rad(180 - 2*$alfa__)));
               
               if(2 * $r + $f + ($spojnica2 / 2) > $o)
                  {
                  break;
                  }
               else if(2 * $r + $f + $spojnica2 / 2 <= $o)
                  {
                  $matrix[3][$q] = $m + $spojnica2 / 2;
                  $matrix[2][$q] = $v_c + $r;
                  $f             = $matrix[3][$q];
                  
                     if(2 * $r + $f + $spojnica2 <= $o)
                        {
                        $matrix[1][$q] = $m + $spojnica2;
                        $m             = $matrix[1][$q];
                        $f             = $m;
                        }
                  }
                  
               while(!($f+$r >= $matrix[0][$n - 1] && $f+$r < $matrix[0][$n] && $n < count($matrix[0])))
                    {
                      $n++;
                     
                     if($f+$r >= $matrix[0][$n - 1] && $f+$r < $matrix[0][$n])
                       {
                        $horizont          = $matrix[0][$n] - $f;
                        
                       }
                     
                    }
                   
               $q++;
                }
   return $matrix[$u][$v];
   
}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.01.12
Prihlásený: 20.07.13
Príspevky: 46
Témy: 9
Príspevok Napísal autor témyOffline : 29.01.2013 0:52

+ ak tu fciu nevolam cyklicky ale len jednorazovo, napr:

echo last_space($A, $B, $x, $d, $diff, 2, 1); - tz ze tie indexy 2 a 1 vlozim priamo, tak je problem s prekrocenim execution time na zaciatku vnoreneho cyklu while(!($f+$r >= $matrix[0][$n - 1] && $f+$r < $matrix[0][$n] && $n < count($matrix[0])))
. . .

ciel je vlastne to aby som mohol pouzit udaje z matice $matrix[][] na roznych miestach v scriptoch. vdaka


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok NapísalOffline : 29.01.2013 22:18

Tak sa ti to zrejme proste v tom cykle zacykluje. Nechal by som si vypisovat hodnoty tich premennych co riadia cyklud a podla toho sledoval preco sa to zacykluje.







_________________
CPU: Intel core i5 3470 GPU: Gigabyte N760OC-2GD MB: MSI B75A-G43 RAM: DDRAM3 8GB (2x4GB) TEAM RAM 1600MHz Elite Zdroj: Seasonic G Series 450W HDD: 500GB vybraty z notebooku Lenovo E531 i5-3230M N4IBPXS SSD:Samsung 840 Evo 250GB Case: Fractal Define R4 black pearl FAN: Cooler Master Hyper 212+ EVO DVD: SAMSUNG DVD±R/±RW/RAM SH-224DB SATA, černá, bulk OS: Ubuntu 12.04 64bit & Windows 7 Ultimate 64bit Monitor: Dell U2412m
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.01.12
Prihlásený: 20.07.13
Príspevky: 46
Témy: 9
Príspevok Napísal autor témyOffline : 30.01.2013 4:30

hmm..vazne vdaka za nazor len neviem presne ako to myslis, ak mas na mysli nejaku slepu iteraciu tak to na 99perc. vylucujem. inak ked ta procedura bola priamo v kode(nie cez fciu) tak normalne mi davala hodnoty. neviem si s tym rady, nemam skusenost s podobnym problemom. nejak ju zrejme musim prerobit jednoducho. napadlo ma ci tam nieje zle nieco co skuseny prog. hned vidi, v kode ako takom by chyba nemala byt, ocakaval som skor radu na nejaku fintu..kazdopadne dik aj tak


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok NapísalOffline : 30.01.2013 7:45

Ja som ten kod nejak podrobne neskumal ani netestoval. Kazdopadne mozes si skusit este zvysit cas na 1 script aj volnu pamet pre script v php.ini a uvidis, ci ti to aspon poriadne prebehne.







_________________
CPU: Intel core i5 3470 GPU: Gigabyte N760OC-2GD MB: MSI B75A-G43 RAM: DDRAM3 8GB (2x4GB) TEAM RAM 1600MHz Elite Zdroj: Seasonic G Series 450W HDD: 500GB vybraty z notebooku Lenovo E531 i5-3230M N4IBPXS SSD:Samsung 840 Evo 250GB Case: Fractal Define R4 black pearl FAN: Cooler Master Hyper 212+ EVO DVD: SAMSUNG DVD±R/±RW/RAM SH-224DB SATA, černá, bulk OS: Ubuntu 12.04 64bit & Windows 7 Ultimate 64bit Monitor: Dell U2412m
Offline

Správca fóra
Správca fóra
problem s kapacitou ?? (PHP)

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 30.01.2013 9:04

Bolo by vhodne, keby si zverejnil aj vstupne data, pri ktorych sa problem vyskytuje, aby sa pricina dala rychlejsie identifikovat.







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.01.12
Prihlásený: 20.07.13
Príspevky: 46
Témy: 9
Príspevok Napísal autor témyOffline : 30.01.2013 15:22

ok tak vstupy, menujem zaradom podla poradia argum. ($o, $p, $r, $s, $t, $u, $v) ,
$o, $p su strany pravouhleho 4uholnika..cize stvorec alebo obdlznik v metroch, vykresovanie mam uz v mierke ale v samotnej funkcii nieje podstatne aspon myslim.
$r je polomer kruznice,
$s je priemer tej istej kruznice, cize $r == $s/2,
$t je diferencia kt mi vyplinula z gonio analyzy, zpravidla je to cca 6tina az 9mina priemeru tej kruznice,
$u, $v - indexy vyslednej matice na vytiahnutie hodnot. cize rozmerove data mozu byt kludne v metroch, a len dodrzat aby priemer kruznice bol mensi nez strany 4uholnika a najlepsie niekolko krat mensi napr. 3x ..tz napr. function last_space(9, 7, 1.3, 2.6, 0.4, $u, $v).
..vyznam fcie je ze mi ukaze ako ulozit predmet s kruhovou podstavou cize valec do priestoru o rozmeroch $o x $p aby bol priestor co najlepsie vyuzity, vysledky matice dalej idu do fcie imagearc(...)
fcia last_space(); je uz len doplnkova alebo zaverecna fcia, je to skolsky projekt ohladom logistiky.
..a problem sa vyskztuje na riadku kde zacina ten druhy, vnutorny cyklus while()
dakujem za kazdy prispevok


Offline

Správca fóra
Správca fóra
problem s kapacitou ?? (PHP)

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 31.01.2013 10:35

Skusil som spustit last_space(9, 7, 1.3, 2.6, 0.4, 1, 1). Podla vsetkeho tam mas nekonecny cyklus (1. while), kde sa ti hodnoty v podmienke vobec nemenia, v mojom pripade to bolo vzdy while(9 - 0 >= 1.3). Cyklus sa nedostal ani do if vetvy, kde je break, ani do elseif vetvy, kde by sa mala menit hodnota $f, ktora sa pouziva v podmienke 1. while cyklu.

Hlavny dovod je chyba pri vypocte $alfa_, kde acos vracia NAN, pretoze cislo predane ako argument je > 1







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.01.12
Prihlásený: 20.07.13
Príspevky: 46
Témy: 9
Príspevok Napísal autor témyOffline : 31.01.2013 17:08

ou, vdaka, hmm..pri hodnotach co som daval mi NAN vobec netlacilo..vdaka este raz!(:


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.01.12
Prihlásený: 20.07.13
Príspevky: 46
Témy: 9
Príspevok Napísal autor témyOffline : 01.02.2013 2:31

takze..mal si pravdu bola tam chyba, pri kopirovani proced. do fcie sa mi podarilo pozmenit zatvorky, a acos platil len po lomitko, pritom mal zahrnat cely vyraz nebolo by ma napadlo ze je tam taka mechanicka chyba.sustredil som sa na ine, lebo povodne v nefunkcionalnom tvare to islo pekne..really thanx ! (:


Odpovedať na tému [ Príspevkov: 10 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. DVD s kapacitou 42GB?

v Novinky

17

1068

07.07.2008 12:22

Qpkqkma Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nezrovnalost s kapacitou HDD

v Pevné disky a radiče

3

429

23.09.2008 21:46

dadmtb Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Schéma: Merač kondenzátorov s veľkou kapacitou

v Elektronika

0

2709

23.01.2007 5:23

Elektronic Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. hdd sata2 s kapacitou 20 - 40 GB

v Úložné zariadenia

4

626

20.06.2008 14:53

P3CKIV Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. microSD karty s kapacitou už 12 GB

v Novinky

3

376

08.01.2008 11:22

mimkork Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Yahoo Mail s neobmedzenou kapacitou pre všetkých

v Novinky

1

695

29.03.2007 18:06

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hitachi přinese disky s kapacitou až 24 TB

v Novinky

27

844

29.11.2010 18:24

jtbs Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Poradte externy HDD s kapacitou aspon 1 TB

v Úložné zariadenia

0

352

04.09.2011 15:25

Melouch Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nové SSD flash disky s kapacitou až 120 GB

v Novinky

6

729

23.11.2010 17:02

maestro44 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. HITACHI predstavil pevné disky s kapacitou 1 TB na platňu

v Novinky

4

562

06.09.2011 18:52

Millfox Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kingston uvádza kľúč s USB 3.0 a kapacitou 64 GB

v Novinky

23

2215

23.09.2010 8:30

Xaltotun Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pevný disk so šťastím: WD Caviar Green s kapacitou 808,8 GB

v Novinky

12

747

21.04.2009 21:13

Spirit Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP problem

v PHP, ASP

15

1860

30.03.2007 8:19

Punker661 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. problem s php

v PHP, ASP

0

348

14.02.2010 12:23

sparco8888 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problem s PHP

v Operačné systémy Unix a Linux

2

697

01.03.2007 22:33

--==[Lu-Boss]==-- Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problém s PHP

v PHP, ASP

17

453

05.06.2014 20:04

BX Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra