Chebyshev coefficients: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) m (→{{header|Raku}}: typoed variable name) |
(Added various BASIC dialects) |
||
Line 263: | Line 263: | ||
=={{header|BASIC}}== |
=={{header|BASIC}}== |
||
==={{header|Applesoft BASIC}}=== |
|||
The [[#MSX-BASIC|MSX-BASIC]] solution works without any changes. |
|||
==={{header|BASIC256}}=== |
==={{header|BASIC256}}=== |
||
{{trans|FreeBASIC}} |
{{trans|FreeBASIC}} |
||
Line 292: | Line 295: | ||
6 : -5.89855645106e-07 |
6 : -5.89855645106e-07 |
||
7 : 1.15214275009e-08</pre> |
7 : 1.15214275009e-08</pre> |
||
==={{header|Chipmunk Basic}}=== |
|||
{{trans|FreeBASIC}} |
|||
{{works with|Chipmunk Basic|3.6.4}} |
|||
<syntaxhighlight lang="qbasic">100 cls |
|||
110 rem pi = 4 * atn(1) |
|||
120 a = 0 |
|||
130 b = 1 |
|||
140 n = 10 |
|||
150 dim cheby(n) |
|||
160 dim coef(n) |
|||
170 for i = 0 to n-1 |
|||
180 coef(i) = cos(cos(pi/n*(i+1/2))*(b-a)/2+(b+a)/2) |
|||
190 next i |
|||
200 for i = 0 to n-1 |
|||
210 w = 0 |
|||
220 for j = 0 to n-1 |
|||
230 w = w+coef(j)*cos(pi/n*i*(j+1/2)) |
|||
240 next j |
|||
250 cheby(i) = w*2/n |
|||
260 print i;" : ";cheby(i) |
|||
270 next i |
|||
280 end</syntaxhighlight> |
|||
{{out}} |
|||
<pre>0 : 1.647169 |
|||
1 : -0.232299 |
|||
2 : -0.053715 |
|||
3 : 2.458235E-03 |
|||
4 : 2.821191E-04 |
|||
5 : -7.722229E-06 |
|||
6 : -5.898556E-07 |
|||
7 : 1.152143E-08 |
|||
8 : 6.596304E-10 |
|||
9 : -1.002234E-11</pre> |
|||
==={{header|FreeBASIC}}=== |
|||
<syntaxhighlight lang="freebasic">Const pi As Double = 4 * Atn(1) |
|||
Dim As Integer i, j |
|||
Dim As Double w, a = 0, b = 1, n = 10 |
|||
Dim As Double cheby(n), coef(n) |
|||
For i = 0 To n-1 |
|||
coef(i) = Cos(Cos(pi/n*(i+1/2))*(b-a)/2+(b+a)/2) |
|||
Next i |
|||
For i = 0 To n-1 |
|||
w = 0 |
|||
For j = 0 To n-1 |
|||
w += coef(j) * Cos(pi/n*i*(j+1/2)) |
|||
Next j |
|||
cheby(i) = w*2/n |
|||
Print i; " : "; cheby(i) |
|||
Next i |
|||
Sleep</syntaxhighlight> |
|||
{{out}} |
|||
<pre> 0 : 1.647169475390314 |
|||
1 : -0.2322993716151719 |
|||
2 : -0.05371511462204768 |
|||
3 : 0.002458235266981634 |
|||
4 : 0.0002821190574339161 |
|||
5 : -7.7222291556156e-006 |
|||
6 : -5.898556451056081e-007 |
|||
7 : 1.152142750093788e-008 |
|||
8 : 6.596299062522348e-010 |
|||
9 : -1.002201654998203e-011</pre> |
|||
==={{header|Gambas}}=== |
|||
{{trans|FreeBASIC}} |
|||
<syntaxhighlight lang="vbnet">Public coef[10] As Float |
|||
Public Sub Main() |
|||
Dim i As Integer, j As Integer |
|||
Dim w As Float, a As Float = 0, b As Float = 1, n As Float = 10 |
|||
For i = 0 To n - 1 |
|||
coef[i] = Cos(Cos(Pi / n * (i + 1 / 2)) * (b - a) / 2 + (b + a) / 2) |
|||
Next |
|||
For i = 0 To n - 1 |
|||
w = 0 |
|||
For j = 0 To n - 1 |
|||
w += coef[j] * Cos(Pi / n * i * (j + 1 / 2)) |
|||
Next |
|||
cheby[i] = w * 2 / n |
|||
Print i; " : "; cheby[i] |
|||
Next |
|||
End</syntaxhighlight> |
|||
{{out}} |
|||
<pre>0 : 1,64716947539031 |
|||
1 : -0,232299371615172 |
|||
2 : -0,053715114622048 |
|||
3 : 0,002458235266982 |
|||
4 : 0,000282119057434 |
|||
5 : -7,7222291556156E-6 |
|||
6 : -5,89855645105608E-7 |
|||
7 : 1,15214275009379E-8 |
|||
8 : 6,59629906252235E-10 |
|||
9 : -1,0022016549982E-11</pre> |
|||
==={{header|GW-BASIC}}=== |
|||
{{trans|FreeBASIC}} |
|||
{{works with|PC-BASIC|any}} |
|||
<syntaxhighlight lang="qbasic">100 CLS |
|||
110 PI# = 4 * ATN(1) |
|||
120 A# = 0 |
|||
130 B# = 1 |
|||
140 N# = 10 |
|||
150 DIM CHEBY(N#) |
|||
160 DIM COEF(N#) |
|||
170 FOR I = 0 TO N#-1 |
|||
180 COEF(I) = COS(COS(PI#/N#*(I+1/2))*(B#-A#)/2+(B#+A#)/2) |
|||
190 NEXT I |
|||
200 FOR I = 0 TO N#-1 |
|||
210 W# = 0 |
|||
220 FOR J = 0 TO N#-1 |
|||
230 W# = W# + COEF(J) * COS(PI#/N#*I*(J+1/2)) |
|||
240 NEXT J |
|||
250 CHEBY(I) = W# * 2 / N# |
|||
260 PRINT I; " : "; CHEBY(I) |
|||
270 NEXT I |
|||
280 END</syntaxhighlight> |
|||
{{out}} |
|||
<pre>0 : 1.647169 |
|||
1 : -.2322993 |
|||
2 : -5.371515E-02 |
|||
3 : 2.458321E-03 |
|||
4 : 2.820671E-04 |
|||
5 : -7.766486E-06 |
|||
6 : -5.857175E-07 |
|||
7 : 9.834766E-08 |
|||
8 : -1.788139E-07 |
|||
9 : -9.089708E-08</pre> |
|||
==={{header|Minimal BASIC}}=== |
|||
{{trans|FreeBASIC}} |
|||
{{works with|BASICA}} |
|||
<syntaxhighlight lang="qbasic">110 LET P = 4 * ATN(1) |
|||
120 LET A = 0 |
|||
130 LET B = 1 |
|||
140 LET N = 10 |
|||
170 FOR I = 0 TO N-1 |
|||
180 LET K(I) = COS(COS(P/N*(I+1/2))*(B-A)/2+(B+A)/2) |
|||
190 NEXT I |
|||
200 FOR I = 0 TO N-1 |
|||
210 LET W = 0 |
|||
220 FOR J = 0 TO N-1 |
|||
230 LET W = W + K(J) * COS(P/N*I*(J+1/2)) |
|||
240 NEXT J |
|||
250 LET C(I) = W * 2 / N |
|||
260 PRINT I; " : "; C(I) |
|||
270 NEXT I |
|||
280 END</syntaxhighlight> |
|||
{{out}} |
|||
<pre> 0 : 1.6471695 |
|||
1 : -.23229937 |
|||
2 : -5.3715115E-2 |
|||
3 : 2.4582353E-3 |
|||
4 : 2.8211906E-4 |
|||
5 : -7.7222291E-6 |
|||
6 : -5.8985565E-7 |
|||
7 : 1.1521437E-8 |
|||
8 : 6.5962449E-10 |
|||
9 : -1.0018986E-11</pre> |
|||
==={{header|MSX Basic}}=== |
|||
{{trans|FreeBASIC}} |
|||
{{works with|MSX BASIC|any}} |
|||
<syntaxhighlight lang="qbasic">100 CLS : rem 10 HOME for Applesoft BASIC |
|||
110 PI = 4 * ATN(1) |
|||
120 A = 0 |
|||
130 B = 1 |
|||
140 N = 10 |
|||
150 DIM CHEBY(N) |
|||
160 DIM COEF(N) |
|||
170 FOR I = 0 TO N-1 |
|||
180 COEF(I) = COS(COS(PI/N*(I+1/2))*(B-A)/2+(B+A)/2) |
|||
190 NEXT I |
|||
200 FOR I = 0 TO N-1 |
|||
210 W = 0 |
|||
220 FOR J = 0 TO N-1 |
|||
230 W = W + COEF(J) * COS(PI/N*I*(J+1/2)) |
|||
240 NEXT J |
|||
250 CHEBY(I) = W * 2 / N |
|||
260 PRINT I; " : "; CHEBY(I) |
|||
270 NEXT I |
|||
280 END</syntaxhighlight> |
|||
==={{header|QBasic}}=== |
==={{header|QBasic}}=== |
||
Line 316: | Line 506: | ||
END</syntaxhighlight> |
END</syntaxhighlight> |
||
{{out}} |
{{out}} |
||
<pre> 0 : 1.647169470787048000000 |
|||
<pre> |
|||
0 : 1.647169470787048000000 |
|||
1 : -0.232299402356147800000 |
1 : -0.232299402356147800000 |
||
2 : -0.053715050220489500000 |
2 : -0.053715050220489500000 |
||
Line 326: | Line 515: | ||
7 : 0.000000053614126471757 |
7 : 0.000000053614126471757 |
||
8 : 0.000000079823998078155 |
8 : 0.000000079823998078155 |
||
9 : -0.000000070922546058227 |
9 : -0.000000070922546058227</pre> |
||
</pre> |
|||
==={{header| |
==={{header|Quite BASIC}}=== |
||
{{trans|FreeBASIC}} |
|||
<syntaxhighlight lang="freebasic">Const pi As Double = 4 * Atn(1) |
|||
<syntaxhighlight lang="qbasic">100 cls |
|||
Dim As Double i, w, j |
|||
110 rem pi = 4 * atn(1) |
|||
120 let a = 0 |
|||
Dim As Double cheby(10), coef(10) |
|||
130 let b = 1 |
|||
140 let n = 10 |
|||
150 array c |
|||
160 array k |
|||
170 for i = 0 to n-1 |
|||
180 let k[i] = cos(cos(pi/n*(i+1/2))*(b-a)/2+(b+a)/2) |
|||
190 next i |
|||
200 for i = 0 to n-1 |
|||
210 let w = 0 |
|||
220 for j = 0 to n-1 |
|||
230 let w = w + k[j] * cos(pi/n*i*(j+1/2)) |
|||
240 next j |
|||
250 let c[i] = w * 2 / n |
|||
260 print i; " : "; c[i] |
|||
270 next i |
|||
280 end</syntaxhighlight> |
|||
{{out}} |
|||
<pre>0 : 1.6471694753903137 |
|||
1 : -0.23229937161517186 |
|||
2 : -0.05371511462204768 |
|||
3 : 0.0024582352669816343 |
|||
4 : 0.0002821190574339161 |
|||
5 : -0.0000077222291556156 |
|||
6 : -5.898556451056081e-7 |
|||
7 : 1.1521427500937876e-8 |
|||
8 : 6.59629917354465e-10 |
|||
9 : -1.0022016549982027e-11</pre> |
|||
==={{header|Run BASIC}}=== |
|||
For i = 0 To n-1 |
|||
{{trans|FreeBASIC}} |
|||
coef(i) = Cos(Cos(pi/n*(i+1/2))*(b-a)/2+(b+a)/2) |
|||
{{works with|Just BASIC}} |
|||
Next i |
|||
{{works with|Liberty BASIC}} |
|||
<syntaxhighlight lang="vb">pi = 4 * atn(1) |
|||
For i = 0 To n-1 |
|||
a = 0 |
|||
b = 1 |
|||
n = 10 |
|||
dim cheby(n) |
|||
dim coef(n) |
|||
for i = 0 to n-1 |
|||
coef(i) = cos(cos(pi/n*(i+1/2))*(b-a)/2+(b+a)/2) |
|||
next i |
|||
for i = 0 to n-1 |
|||
w = 0 |
w = 0 |
||
for j = 0 to n-1 |
|||
w |
w = w + coef(j)*cos(pi/n*i*(j+1/2)) |
||
next j |
|||
cheby(i) = w*2/n |
cheby(i) = w * 2 / n |
||
print i; " : "; cheby(i) |
|||
next i |
|||
end</syntaxhighlight> |
|||
{{out}} |
|||
<pre> 0 : 1.647169475390314 |
|||
1 : -0.2322993716151719 |
|||
2 : -0.05371511462204768 |
|||
3 : 0.002458235266981634 |
|||
4 : 0.0002821190574339161 |
|||
5 : -7.7222291556156e-006 |
|||
6 : -5.898556451056081e-007 |
|||
7 : 1.152142750093788e-008 |
|||
8 : 6.596299062522348e-010 |
|||
9 : -1.002201654998203e-011</pre> |
|||
==={{header|Yabasic}}=== |
==={{header|Yabasic}}=== |