Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
94
Task/Numerical-integration/Comal/numerical-integration.comal
Normal file
94
Task/Numerical-integration/Comal/numerical-integration.comal
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
1000 PRINT "F(X)";" FROM";" TO";" L-Rect";" M-Rect";" R-Rect ";" Trapez";" Simpson"
|
||||
1010 fromval:=0
|
||||
1020 toval:=1
|
||||
1030 PRINT "X^3 ";
|
||||
1040 PRINT USING "#####": fromval;
|
||||
1050 PRINT USING "#####": toval;
|
||||
1060 PRINT USING "###.#########": numint(f1, "L", fromval, toval, 100);
|
||||
1070 PRINT USING "###.#########": numint(f1, "R", fromval, toval, 100);
|
||||
1080 PRINT USING "###.#########": numint(f1, "M", fromval, toval, 100);
|
||||
1090 PRINT USING "###.#########": numint(f1, "T", fromval, toval, 100);
|
||||
1100 PRINT USING "###.#########": numint(f1, "S", fromval, toval, 100)
|
||||
1110 //
|
||||
1120 fromval:=1
|
||||
1130 toval:=100
|
||||
1140 PRINT "1/X ";
|
||||
1150 PRINT USING "#####": fromval;
|
||||
1160 PRINT USING "#####": toval;
|
||||
1170 PRINT USING "###.#########": numint(f2, "L", fromval, toval, 1000);
|
||||
1180 PRINT USING "###.#########": numint(f2, "R", fromval, toval, 1000);
|
||||
1190 PRINT USING "###.#########": numint(f2, "M", fromval, toval, 1000);
|
||||
1200 PRINT USING "###.#########": numint(f2, "T", fromval, toval, 1000);
|
||||
1210 PRINT USING "###.#########": numint(f2, "S", fromval, toval, 1000)
|
||||
1220 fromval:=0
|
||||
1230 toval:=5000
|
||||
1240 PRINT "X ";
|
||||
1250 PRINT USING "#####": fromval;
|
||||
1260 PRINT USING "#####": toval;
|
||||
1270 PRINT USING "#########.###": numint(f3, "L", fromval, toval, 5000000);
|
||||
1280 PRINT USING "#########.###": numint(f3, "R", fromval, toval, 5000000);
|
||||
1290 PRINT USING "#########.###": numint(f3, "M", fromval, toval, 5000000);
|
||||
1300 PRINT USING "#########.###": numint(f3, "T", fromval, toval, 5000000);
|
||||
1310 PRINT USING "#########.###": numint(f3, "S", fromval, toval, 5000000)
|
||||
1320 //
|
||||
1330 fromval:=0
|
||||
1340 toval:=6000
|
||||
1350 PRINT "X ";
|
||||
1360 PRINT USING "#####": fromval;
|
||||
1370 PRINT USING "#####": toval;
|
||||
1380 PRINT USING "#########.###": numint(f3, "L", fromval, toval, 6000000);
|
||||
1390 PRINT USING "#########.###": numint(f3, "R", fromval, toval, 6000000);
|
||||
1400 PRINT USING "#########.###": numint(f3, "M", fromval, toval, 6000000);
|
||||
1410 PRINT USING "#########.###": numint(f3, "T", fromval, toval, 6000000);
|
||||
1420 PRINT USING "#########.###": numint(f3, "S", fromval, toval, 6000000)
|
||||
1430 END
|
||||
1440 //
|
||||
1450 FUNC numint(FUNC f, type$, lbound, rbound, iters) CLOSED
|
||||
1460 delta:=(rbound-lbound)/iters
|
||||
1470 integral:=0
|
||||
1480 CASE type$ OF
|
||||
1490 WHEN "L", "T", "S"
|
||||
1500 actval:=lbound
|
||||
1510 WHEN "M"
|
||||
1520 actval:=lbound+delta/2
|
||||
1530 WHEN "R"
|
||||
1540 actval:=lbound+delta
|
||||
1550 OTHERWISE
|
||||
1560 actval:=lbound
|
||||
1570 ENDCASE
|
||||
1580 FOR n:=0 TO iters-1 DO
|
||||
1590 CASE type$ OF
|
||||
1600 WHEN "L", "M", "R"
|
||||
1610 integral:+f(actval+n*delta)*delta
|
||||
1620 WHEN "T"
|
||||
1630 integral:+delta*(f(actval+n*delta)+f(actval+(n+1)*delta))/2
|
||||
1640 WHEN "S"
|
||||
1650 IF n=0 THEN
|
||||
1660 sum1:=f(lbound+delta/2)
|
||||
1670 sum2:=0
|
||||
1680 ELSE
|
||||
1690 sum1:+f(actval+n*delta+delta/2)
|
||||
1700 sum2:+f(actval+n*delta)
|
||||
1710 ENDIF
|
||||
1720 OTHERWISE
|
||||
1730 integral:=0
|
||||
1740 ENDCASE
|
||||
1750 ENDFOR
|
||||
1760 IF type$="S" THEN
|
||||
1770 RETURN (delta/6)*(f(lbound)+f(rbound)+4*sum1+2*sum2)
|
||||
1780 ELSE
|
||||
1790 RETURN integral
|
||||
1800 ENDIF
|
||||
1810 ENDFUNC
|
||||
1820 //
|
||||
1830 FUNC f1(x) CLOSED
|
||||
1840 RETURN x^3
|
||||
1850 ENDFUNC
|
||||
1860 //
|
||||
1870 FUNC f2(x) CLOSED
|
||||
1880 RETURN 1/x
|
||||
1890 ENDFUNC
|
||||
1900 //
|
||||
1910 FUNC f3(x) CLOSED
|
||||
1920 RETURN x
|
||||
1930 ENDFUNC
|
||||
Loading…
Add table
Add a link
Reference in a new issue