Forum:  Matlab
Thema: Die Fehler der exakten Integralwerte berechnen
Themen-Übersicht
s-amalgh
Aktiv
Dabei seit: 16.12.2020
Mitteilungen: 122
Themenstart: 2021-06-18 12:02
Hallo zusammen ich habe diese Aufgabe : https://www.matheplanet.com/matheplanet/nuke/html/uploads/b/54010_Unbenaruinjeiujnteigjnnt.PNG und das ist mein Code : \sourceon Matlab function Alghabra10 function Trapezregel(f,a,b,n) h = (b-a) / n ; s = 0.5 * (f(a) + f(b)); for i = 1:n-1 s = s + f(a + i*h); end JT= h*s end function Rechteckregel(f,a,b,n) h = (b-a) / n ; s = 0; for i = 1:n s = s + h*f(a + i*h); end JR= s end %i) disp("\ni) n = 1\n") f = @(x)x; a = 0; b = 1; n1 = 1; n2 = 10; Trapezregel(f,a,b,n1) Rechteckregel(f,a,b,n1) disp("\ni) n = 10\n") Trapezregel(f,a,b,n2) Rechteckregel(f,a,b,n2) %ii) disp("\nii) n = 10\n") f = @(x)exp(x); a = -1; b = 1; n1 = 10; n2 = 20; n3 = 40; Trapezregel(f,a,b,n1) Rechteckregel(f,a,b,n1) disp("\nii) n = 20\n") Trapezregel(f,a,b,n2) Rechteckregel(f,a,b,n2) disp("\nii) n = 40\n") Trapezregel(f,a,b,n3) Rechteckregel(f,a,b,n3) %iii) disp("\niii) n = 100\n") f = @(x)sqrt(x); a = 0; b = 9; n1 = 100; n2 = 200; n3 = 400; Trapezregel(f,a,b,n1) Rechteckregel(f,a,b,n1) disp("\niii) n = 200\n") Trapezregel(f,a,b,n2) Rechteckregel(f,a,b,n2) disp("\niii) n = 400\n") Trapezregel(f,a,b,n3) Rechteckregel(f,a,b,n3) end \sourceoff Ich glaube ich habe den Code richtig gemacht. Ich weiß aber jetzt nicht wie ich die Fehler der exakten Integralwerte berechnen soll. Könnte mir jemand dabei helfen? Danke im Voraus!

easymathematics
Aktiv
Dabei seit: 30.12.2020
Mitteilungen: 59
Beitrag No.1, eingetragen 2021-06-20 11:42
Du kannst ja die bestimmten Integrale exakt auswerten. Dann betrachtest Du Fehler = | integral exakt - integral näherung |

s-amalgh
Aktiv
Dabei seit: 16.12.2020
Mitteilungen: 122
Beitrag No.2, vom Themenstarter, eingetragen 2021-06-20 12:22
Wie kann ich die bestimmten Integrale exakt auswerten? Und wie bekomme ich die integral Näherung?

ochen
Senior
Dabei seit: 09.03.2015
Mitteilungen: 3407
Wohnort: der Nähe von Schwerin
Beitrag No.3, eingetragen 2021-06-20 12:36
Hallo, was genau verstehst du nicht? \quoteon(2021-06-20 12:22 - s-amalgh in Beitrag No. 2) Wie kann ich die bestimmten Integrale exakt auswerten? \quoteoff Zum Beispiel sollst du $\displaystyle \int_0^1 x\,\mathrm dx$ ausrechnen. \quoteon Und wie bekomme ich die integral Näherung? \quoteoff Am liebsten mit deinem Programm, was du geschrieben hast. Kannst du es benutzen?

s-amalgh
Aktiv
Dabei seit: 16.12.2020
Mitteilungen: 122
Beitrag No.4, vom Themenstarter, eingetragen 2021-06-20 12:57
Das bekomme ich wenn ich mein Code anwende https://www.matheplanet.com/matheplanet/nuke/html/uploads/b/54010_Unbenafbkrp_bktbpokbennt.PNG

s-amalgh
Aktiv
Dabei seit: 16.12.2020
Mitteilungen: 122
Beitrag No.5, vom Themenstarter, eingetragen 2021-06-20 13:04
"Zum Beispiel sollst du ∫10xdx ausrechnen." wie kann ich die bestimmte Integral mit matlab ausrechnen?

ochen
Senior
Dabei seit: 09.03.2015
Mitteilungen: 3407
Wohnort: der Nähe von Schwerin
Beitrag No.6, eingetragen 2021-06-20 13:44
Keine Ahnung, aber rechne die Integrale doch per Hand aus.

s-amalgh
Aktiv
Dabei seit: 16.12.2020
Mitteilungen: 122
Beitrag No.7, vom Themenstarter, eingetragen 2021-06-20 13:46
Ist JT und JR die integral Näherung oder?

s-amalgh
Aktiv
Dabei seit: 16.12.2020
Mitteilungen: 122
Beitrag No.8, vom Themenstarter, eingetragen 2021-06-22 03:41
Mein Code: \sourceon matlab function Alghabra10 function Trapezregel(f,a,b,n) h = (b-a) / n ; s = 0.5 * (f(a) + f(b)); for i = 1:n-1 s = s + f(a + i*h); end JT= h*s end function Rechteckregel(f,a,b,n) h = (b-a) / n ; s = 0; for i = 1:n s = s + h*f(a + i*h); end JR= s end syms x %i) disp("\ni) n = 1\n") f = @(x)x; a = 0; b = 1; n1 = 1; n2 = 10; exakt = double(int(f(x),x,a,b)) Trapezregel(f,a,b,n1) Fehler_T = abs(exakt - JT) Rechteckregel(f,a,b,n1) Fehler_R = abs(exakt - JR) disp("\ni) n = 10\n") Trapezregel(f,a,b,n2) Fehler_T = abs(exakt - JT) Rechteckregel(f,a,b,n2) Fehler_R = abs(exakt - JR) %ii) disp("\nii) n = 10\n") f = @(x)exp(x); a = -1; b = 1; n1 = 10; n2 = 20; n3 = 40; exakt = double(int(f(x),x,a,b)) Trapezregel(f,a,b,n1) Fehler_T = abs(exakt - JT) Rechteckregel(f,a,b,n1) Fehler_R = abs(exakt - JR) disp("\nii) n = 20\n") Trapezregel(f,a,b,n2) Fehler_T = abs(exakt - JT) Rechteckregel(f,a,b,n2) Fehler_R = abs(exakt - JR) disp("\nii) n = 40\n") Trapezregel(f,a,b,n3) Fehler_T = abs(exakt - JT) Rechteckregel(f,a,b,n3) Fehler_R = abs(exakt - JR) %iii) disp("\niii) n = 100\n") f = @(x)sqrt(x); a = 0; b = 9; n1 = 100; n2 = 200; n3 = 400; exakt = double(int(f(x),x,a,b)) Trapezregel(f,a,b,n1) Fehler_T = abs(exakt - JT) Rechteckregel(f,a,b,n1) Fehler_R = abs(exakt - JR) disp("\niii) n = 200\n") Trapezregel(f,a,b,n2) Fehler_T = abs(exakt - JT) Rechteckregel(f,a,b,n2) Fehler_R = abs(exakt - JR) disp("\niii) n = 400\n") Trapezregel(f,a,b,n3) Fehler_T = abs(exakt - JT) Rechteckregel(f,a,b,n3) Fehler_R = abs(exakt - JR) end \sourceoff und so kommt raus: https://www.matheplanet.com/matheplanet/nuke/html/uploads/b/54010_Unbejhuhguhuiholugzugnannt.PNG https://www.matheplanet.com/matheplanet/nuke/html/uploads/b/54010_Unbjhiulhuzgztdcrtfenannt.PNG Denkst du ist das richtig? Danke im Voraus!



Dieses Forumbeitrag kommt von Matroids Matheplanet
https://https://matheplanet.de

Die URL für dieses Forum-Thema ist:
https://https://matheplanet.de/default3.html?topic=254513=41003
Druckdatum: 2021-09-22 20:15