|
|
Berechnung von Nullstellen in Flächenformel |
|
morbias_one |
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 13.12.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 5.3.1
|
|
|
|
|
|
Verfasst am: 13.12.2008, 19:59
Titel: Berechnung von Nullstellen in Flächenformel
|
|
|
|
|
Hallo Forum,
ich habe die Frage schon einmal in einem anderen Forum gestellt aber leider keine Antwort bekommen Ich hoffe ihr könnt mir helfen.
Wir haben eine Aufgabe bekommen:
=========================================================
Gegeben sei ein Polynom 3. Grades
f(x) = a(3)x³ + a(2)x² + a(1)x + a(0)
in Form des Koeffizientenvektor a=[a(3), a(2), a(1), a(0)] und ein Integrationsintervall I=[ug,og].
Schreiben Sie ein Programm zur Berechnung der Fläche zwischen der x-Achse und der Funktion f(x) im Intervall I mit Hilfe der numerischen Integration nach der Simpsonregel. Nullstellen des Polynoms innerhalb des Intervalls I sind zu berücksichtigen, positive und negative Flächenanteile sind betragsmäßig zu addieren.
Neben dem direkten Aufruf des Programms mit den vorgegebenen Daten soll die Eingabe eigener Daten möglich sein. Eine Programmwiederholung ist vorzusehen.
Beispieldaten:
a = [-5 , 3 , 4 , -5]
I = [-6 , -2]
Hinweis:
Zur Berechnung der Nullstellen kann die Funktion roots verwendet werden.
Die Simpsonregel
ist mit n=20 für jedes mögliche Teilintervall zu verwenden.
=========================================================
Die Aufgabe ist soweit klar. Mein vorläufiges Ergebnis sieht so aus:
hier klicken
Wir sollen jetzt aber die Nullstellen in die Flächenformel mit einbinden. Da ist mein Problem, da ich nicht weiss wie das gehen soll.
Ich hoffe mir kann jemand helfen.
Danke schon einmal im Vorraus.
MfG
Julia
|
|
|
|
|
josekamara |
Forum-Meister
|
|
Beiträge: 529
|
|
|
|
Anmeldedatum: 26.04.08
|
|
|
|
Wohnort: München
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.12.2008, 23:04
Titel:
|
|
|
|
morbias_one |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 13.12.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 5.3.1
|
|
|
|
|
|
Verfasst am: 07.01.2009, 20:25
Titel:
|
|
Hallo Forum,
ich habe das Programm jetzt soweit fertig. Es gibt da nur noch ein Problem:
"Case 2"
Die Fläche soll nicht so ausgerechnet werden, wie mit einem Taschenrechner (es würde 318 rauskommen, soll es aber nicht). Es soll so gemacht werden: von der 1. Intervallgrenze zur Nullstelle "addiert mit" Nullstelle zur 2. Intervallgrenze (es soll 321,6075 rauskommen). Mit manchen Werten klappt das ganze auch. Wenn man aber die Werte aus dem "Case 1" nimmt klappt es nicht. (In Case 2 müssen auch eigene Werte eingegeben werden können.)
Ich habe die Dateien noch einmal hier (*.m-File zum runterladen) und hier (*.txt-File zum angucken). Kann mir da jemand helfen?
Liebe Grüße
Julia
edit: der "Case 1" ist richtig.
|
|
|
Maddy |
Ehrenmitglied
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 02.10.08
|
|
|
|
Wohnort: Greifswald
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.01.2009, 22:35
Titel:
|
|
Case 1 funktioniert und in Case 2 musst du für alle Möglichkeiten hinter den "disp"-Befehlen ein Pause setzen.
_________________
>> why
The computer did it.
|
|
|
morbias_one |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 15
|
|
|
|
Anmeldedatum: 13.12.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 5.3.1
|
|
|
|
|
|
Verfasst am: 08.01.2009, 07:08
Titel:
|
|
Guten Morgen,
danke für die Antwort.
Die Pausen habe ich eingefügt, aber leider kommt immer noch das falsche Ergebnis von 318 FE raus.
Gibt es noch irgendeine Möglichkeit auf das richtige Ergebnis zu kommen?
Liebe Grüße
|
|
|
Maddy |
Ehrenmitglied
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 02.10.08
|
|
|
|
Wohnort: Greifswald
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.01.2009, 09:23
Titel:
|
|
Ich schau heute abend nochmal drüber, dass war mir beim Testen entfallen, dass man ja Case 1 und Case 2 miteinander kombinieren kann. Ich hatte nur ein eigenes Beispiel gewählt und das wollte er nicht anzeigen, deswegen der Einschub mit den Pausen.
edit: Du solltest nochmal deine if-schleifen kontrollieren, wenn du es so machst wie geschrieben, dann springt er sofort in die else bedingung der ersten if-schleife, sobald die nullstelle über der unteren grenze liegt und das wolltest du damit bestimmt nicht erreichen.
_________________
>> why
The computer did it.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|