Potrzebujesz pomocy z C, C++, perl, python, itp.
-
m_kordi
- Posty: 12
- Rejestracja: 01 września 2012, 22:41
Post
autor: m_kordi »
Mam jeszcze jedno pytanie. Stworzyłam następującą pętlę:
Kod: Zaznacz cały
C[0]=1
for (( k=1; $k <= 4; k=$[k+1] )) ; do
C[k]=$((${C[k-1]}+3/3.14*${zmienna[k]}))
done
echo ${C
[*]}
i wyskakuje mi następujący błąd:
Kod: Zaznacz cały
1+3/3.14*165.4875404275: syntax error: invalid arithmetic operator (error token is ".14*165.4875404275")
Czy można ten problem jakoð obejść? Będę bardzo wdzięczna za podpowiedź, jak to zrobić.
-
Rafal_F
- Moderator
- Posty: 2350
- Rejestracja: 29 sierpnia 2008, 16:45
Post
autor: Rafal_F »
Zastosuj kalkulator bc:
Kod: Zaznacz cały
C[0]=1
for (( k=1; $k <= 4; k=$[k+1] )) ; do
C[k]=`echo "scale=5 ;(${C[k-1]}+3/3.14*${zmienna[k]})" | bc`
done
echo ${C
[*]}
I chyba powinno być ...3.14*${zmienna[k-1]}...
-
m_kordi
- Posty: 12
- Rejestracja: 01 września 2012, 22:41
Post
autor: m_kordi »
Dziękuję.
Dodane:
Pojawił mi się jeszcze jeden problem, we fragmencie kodu:
Kod: Zaznacz cały
C[0]=0
for (( l=1; $l<=48; l=$((l+1)) )) ;
do
C[$l]=$(echo "${C[$l-1]} + 3 / 3.14*${name[$l]}" | bc -l )
done
echo ${C[48]}
wszystko pięknie działa, ale do momentu gdy skrypt ma wyliczyć wartość dla l<48. Powyżej tej wartości wyrzuca mi błąd:
Czy da się temu jakoś zaradzić?
-
m_kordi
- Posty: 12
- Rejestracja: 01 września 2012, 22:41
Post
autor: m_kordi »
name[$l] jest tablicą, w której znajduje się około 50 wartości postaci:
Kod: Zaznacz cały
1.06856
0.918551
0.791689
0.683214
0.589537
0.50794
0.436348
0.373184
0.317245
0.267623
0.223623
0.18472
0.150504
0.120651
0.0948841
0.0729562
0.0546233
0.039628
0.027686
0.0184809
0.0116628
0.00685627
0.00367456
0.00173557
0.000681742
0.000199053
3.30819e-05
itd.
-
Rafal_F
- Moderator
- Posty: 2350
- Rejestracja: 29 sierpnia 2008, 16:45
Post
autor: Rafal_F »
Jak pisałem wcześniej, uruchom skrypt z parametrem -x i zobacz co wyświetla przy ostatnim (48) przebiegu pętli, jakie parametry są przekazywane do bc?