Matlab-Programm schreiben < Numerik < Hochschule < Mathe < Vorhilfe
|
Aufgabe | Schreiben Sie ein Matlab-Programm, welches für eine vorgegebene Funktion f(x) eine Näherung an das Integral [mm] \integral_{a}^{b}{f(x) dx} [/mm] mittels der abgeschlossenen Newton-Cotes-Formeln für n = 1, 2, 3 (Trapezregel, Simpsonregel und Newtonsche 3/8-Regel) berechnet. |
Ich bin absoluter Matlab-Anfänger. Bin soweit gekommen:
function y = fu(x)
syms x;
y = input('Bitte Funktion eingeben:')
n = input('Bitte 1 für Trapezregel, 2 für Simpsonregel oder 3 für Newtonsche 3/8-Regel eingeben:');
a = input('Bitte untere Integrationsgrenze eingeben:')
b = input('Bitte obere Integrationsgrenze eingeben:')
if n==1
ergebnis = (b-a)/2*(f(a)+f(b))
disp('Das Ergebnis mittels der gewählten Trapezregel lautet:' + ergebnis)
end
if n==2
ergebnis = (b-a)/6*(f(a)+f(b))
disp('Das Ergebnis mittels der ausgewählten Simpsonregel lautet:' + ergebnis)
end
if n==3
ergebnis = (b-a)/8*(f(a)+f(b))
disp('Das Ergebnis mittels der Newtonschen 3/8-Regel lautet:' + ergebnis)
end
Aber leider funktioniert es nicht so wie es soll. Ich will, dass man die Funktion, die Methode (1,2 oder 3) und die Integrationsgrenzen eingeben muss und dann das Ergebnis ausgegeben wird.
Danke
Stefan
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:43 Mo 27.04.2009 | Autor: | Stefan235 |
Ich habe bis jetzt folgendes Programm geschrieben:
function y = f(x)
syms x;
y = input('Bitte Funktion eingeben:')
n = input('Bitte 1 für Trapezregel, 2 für Simpsonregel oder 3 für Newtonsche 3/8-Regel eingeben:');
a = input('Bitte untere Integrationsgrenze eingeben:')
b = input('Bitte obere Integrationsgrenze eingeben:')
if n==1
ergebnis = (b-a)/2*(f(a)+f(b))
disp('Das Ergebnis mittels der gewählten Trapezregel lautet:' + ergebnis)
end
if n==2
ergebnis = (b-a)/6*(f(a)+f*4((a+b)/2)+f(b))
disp('Das Ergebnis mittels der ausgewählten Simpsonregel lautet:' + ergebnis)
end
if n==3
ergebnis = (b-a)/8*(f(a)+3*f((2a+b)/3)+3*f((a+2b)/3)+f(b))
disp('Das Ergebnis mittels der Newtonschen 3/8-Regel lautet:' + ergebnis)
end
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:20 Mi 29.04.2009 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|