02. december 2003 - 15:30
Der er
13 kommentarer og 1 løsning
Integral metode??
Findes der en Integral metode, ligesom der findes en cos() metode i Math klassen?? Ligesom der er på en TI89, så man bare skal indtaste ligningen.. M.V.H Anders Hansen
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
02. december 2003 - 15:44
#1
Nej. Men den er ikke svær at kode for en specifik funktion.
02. december 2003 - 15:45
#2
Der findes ikke noget standard, som gør det du har brug for. Hvis du er heldig kan du måske finde en samling klasser på nettet, som klarer problemet. Ellers må du bruge nogle af de eksisterende CAS programmer, eller i værste fald selv tage fat i din formelsamling og programmere det ;-)
02. december 2003 - 15:47
#3
Hvis du fx vil integrere et polynomium, så skal du parse strengen med udtrykket, så du får fat i koefficienterne og de tilsvarende grader.
02. december 2003 - 15:49
#4
Jeg formoder at du mener numerisk integration. Her er et primitivt eksempel: public class Intg { public static double intgcos(double x) { double res = 0; double delta = x / 10000; for(int i = 0; i < 10000; i++) { res += delta * Math.cos(i*delta); } return res; } public static void main(String[] args) { for(int i = 0; i < 10; i++) { System.out.println(intgcos(i/10.0) + " 0 " + Math.sin(i/10.0)); } } } Lad mig understrege at det kan kodes *meget* smartere. Men det illusterer vel ideen.
02. december 2003 - 16:06
#5
En lidt bedre version: public class Integrate { public static double integrate(Integratable f, double x1, double x2) { double delta = (x2 - x1) / 10000; double res = 0.5 * delta * f.f(x1); for(int i = 1; i < 10000; i++) { res += delta * f.f(x1 + i * delta); } res += 0.5 * delta * f.f(x2); return res; } public static void main(String[] args) { for(int i = 0; i < 10; i++) { System.out.println(integrate(new CosIntegration(), 0, i/10.0) + " = " + Math.sin(i/10.0)); } } } interface Integratable { public double f(double x); } class CosIntegration implements Integratable { public double f(double x) { return Math.cos(x); } }
02. december 2003 - 16:07
#6
mange tak for svaret arne_v ligger du ikke et svar? :-)
02. december 2003 - 16:07
#7
Nej, jeg mener symbolsk integration - og det tror jeg også Anders gør, idet han refererer til TI89, som netop kan dette.
02. december 2003 - 16:08
#8
ok - der tog jeg så fejl kan jeg se ;-)
02. december 2003 - 16:10
#9
svar
02. december 2003 - 16:11
#10
Jeg kender slet ikke Ti89. Mine lommeregnere er fra midt i 80'erne. Laver den formel->formel integration ?
02. december 2003 - 16:41
#11
Det er en såkaldt CAS (computer algebra system) lommeregner, hvilket vil sige at den kan regne symbolsk. Man kan således integrere udtrykket "a*x^2" til "(a/3)*x^3"
02. december 2003 - 16:41
#12
Ligesom desktop-programmerne mathematica og maple kan
02. december 2003 - 16:44
#13
OK. Det kan godt kodes i Java, men det er ikke helt nemt. Generelt ihvertfald. Hvsi man indskrænker sig til polynomier i x så er det overkommeligt.
02. december 2003 - 16:45
#14
Ja, præcist
Kurser inden for grundlæggende programmering