Seek and destroy - Programmēšana atkal.

About Programmēšana atkal.

Previous Entry Programmēšana atkal.3. Nov 2006 @ 20:18 Next Entry
Lai sevišķi stilīgi un viegli novērtētu lambda kļūdu, nolēmu uzrakstīt nelielu skriptiņu, kas interpolē dažus rezultātus un pēc tam salīdzina interpolēto taisni ar dotajiem punktiem.
Programmai vajadzētu atlasīt no tabulas (pavisam nelielas - tikai 62 rindiņas) tās rindiņas, kurām pirmajā kolonā stāv 0, 0.1, 0.2, ..., 0.6, ko tā principā ir spējīga izdarīt, taču programmai ir neizprotamas izcelsmes aizspriedumi pret skaitli 0.4 un šo skaitli viņa atsakās atlasīt. Ieejas datu tabulā šis skaitlis ir, pati pārbaudīju ar savām rociņām. Programma pie visa ir spējīga atlasīt skaitļus 0.35 un 0.39, ja es tos ierakstu 0.4 vietā.

Man nav tam racionāla izskaidrojuma. Laikam pie visa vainīgs poltergeists. LOL.

Jebkurā gadījumā - uzmanieties no skaitļa 0.4 Iespējams, tā ir kāda zīme!


Upd. Problēma atrisināta, aizstājot for ciklu ar while ciklu. Still LOL.
Esmu: ieinteresēta
Skan: Metallica - Wherever I roam
(Piekrītu)
[User Picture Icon]
From:[info]virus
Date: 3. Novembris 2006 - 23:01
(Link)
Well, source code would be a nice illustration :P
Un racionāls izskaidrojums ir vienmēr, parasti gan tās kaitinošākās kļūdas ir tās triviālākās - ";" vietā ":" u.tml.
[User Picture Icon]
From:[info]klobex
Date: 6. Novembris 2006 - 20:30
(Link)
Nu te būs koda gabals. Viņš ir rakstīts Matlabā - uz C bāzes taisītā brīnumā.
Šī ir pirmā,nestrādājošā versija:
if mat(i,1)==0.0)||(mat(i,1)==0.1)||(mat(i,1)==0.2)||(mat(i,1)==0.3)||(mat(i,1)==0.4)||(mat(i,1)==0.5)||(mat(i,1)==0.6)
k1(a,1)= mat(i,1);
k1(a,2) = mat(i,2);
a = a+1;

end


Šis savukārt strādā:

while i<62
k1(a,1)= mat(i,1);
k1(a,2) = mat(i,2);
a = a+1;
i = i+10;
end
(Piekrītu)
Top of Page Powered by Sviesta Ciba