|
|
Anfänger sucht Hilfe: Step by Step |
|
Darryl |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 24.03.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.03.2016, 10:42
Titel: Anfänger sucht Hilfe: Step by Step
|
|
|
|
|
Hallo Community,
ich fange gerade mit Matlab an, habe ansonsten auch noch keine große Programmiererfahrung (Basics in Java).
Für ein Projekt in der Schule habe ich vor einige gemessene Daten von Messreihen mit Matlab auszuwerten (habe mich da evtl. ein wenig übernommen..)
Es geht darum, in Matlab Excel Daten zu importieren (sind geordnet). Ich würde dies irgendwie versuchen mit einem String anlegen und dann über einen Excel Import irgendwie. Diese Punkte aus dem String dann zu einem Graphen zu verbinden. Dieser Graph dürfte dann ähnlich aussehen wie eine Herzform, nur unten offen. Und schlussendlich bei allen Messungen ab einem gewissen y-Wert abzuschneiden, die Fläche zu integrieren und somit zu vergleichen.
Könnt ihr mir sagen, ob das möglich ist? Und wenn ja, kennt ihr die nötigen Befehle?
Habe das Wochenende Zeit mich da dahinter zu klemmen, aber wäre auch kein Beinbruch, wenn ich es nicht schaffen würde.
Vielen Dank
Darryl
|
|
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 24.03.2016, 11:14
Titel:
|
|
darüber wie man daten einliest giebt es hier im forum schon einige beiträge. auch die dokumentation von matlab ist sehr gut und ich kann nur empfehlen sie zu lesen. wenn du noch nie mit matlab gearbeitet hast würde ich mit dem getting started anfangen oder matlab onramp. wenn du dann code hast bei dem du nicht weiter kommst kann dir hier im forum sicher geholfen werden. als anregung würde ich dann auch den thread aus meiner signatur empfehlen.
xlsread
könnte passen. was das mit einem string zu tun hat weis ich nicht.
Zitat: |
. Diese Punkte aus dem String dann zu einem Graphen zu verbinden |
das hört sich sehr komisch an. warum sollte man punkte als string abspeichern und nicht als zahlen in einem array das macht keinen sinn erstmal.
_________________
richtig Fragen
|
|
|
Darryl |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 24.03.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.03.2016, 11:53
Titel:
|
|
Hi Winkow,
danke für deine Hilfe, ich bin schon ein ganzes Stück weiter und vermeintlich kurz vorm Ziel. Im Anhang sind meine 2 geplotteten "Graphen". (Eigentlich sind es ja Punkte mit einer interpolierten Linie verbunden)
Nun müsste ich, um es vergleichbar zu machen, die Flächen dieser beiden Graphen berechnen und anschließend vergleichen.
Weißt du eine Möglichkeit, wie ich die Fläche berechne?
Dazu fällt mir nur das Integral ein, aber das ist ja die eingeschlossene Fläche bis zur x-Achse, ich will aber nur die im Anhang gezeigte eingeschlossene Fläche bis zum Y-Wert von 0,0397.
Ich hoffe da gibt es eine Lösung.
Mit besten Grüßen
Darryl
Beschreibung: |
|
Download |
Dateiname: |
Plot.PNG |
Dateigröße: |
12.54 KB |
Heruntergeladen: |
340 mal |
|
|
|
BBecks |
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 26.03.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.03.2016, 10:00
Titel:
|
|
Hi Darryl,
das ist eigentlich ganz einfach. Die Fläche vom y-Wert 0 bis 0.0397 ist ein Rechteck also A=Höhe * Breite. Mit dem Integral liegst du richtig und dann ziehst du einfach das Rechteck unten drunter, von deinem Integral, ab. Also 0.0397*3=0.1191
Also Integral der Funktion - 0.1191.
Ich hoffe ich konnte dir weiterhelfen.
Eine Frage habe ich noch, wie hast du deine Funktion bestimmt?
Beste Grüße
BBecks
|
|
|
Darryl |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 24.03.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.03.2016, 11:13
Titel:
|
|
Hi BBecks,
danke für deine Antwort!
Ja genau so hatte ich es jetzt auch vor. Die Funktion hatte ich zu dem Zeitpunkt noch garnicht bestimmt, sondern nur die einzelnen Punkte plotten lassen. Ich habe mir nun die Funktion anhand des Curve fitting tools annähren lassen und will diese nun integrieren. Allerdings stoß ich hier auf mein nächstes Problem, habe gerade auch schon gegoogelt, aber keine Lösung will so richtig passen. Siehst du, was ich falsch mache? (siehe Anhang)
Tut mir Leid für die Anfängerfragen, aber beschäftige mich gerade den 3. Tag mit dem Programm.
Beste Grüße
Darryl
Beschreibung: |
|
Download |
Dateiname: |
Snip.PNG |
Dateigröße: |
19 KB |
Heruntergeladen: |
333 mal |
|
|
|
BBecks |
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 26.03.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.03.2016, 12:01
Titel:
|
|
|
|
|
Kein Problem,
erst mal schmeißt du mathematische Funktion und Matlab-Funktion durcheinander.
Eine Matlab-Funktion musst du dir wie ein kleines "Unterprogramm" vorstellen. Sie dient nicht dazu, um mathematische Funktionen auszudrücken oder zu speichern. Hier hilft es wenn du bereits Erfahrungen mit Funktionen in C sammeln konntest, oder dich ein wenig mit objektorientierter Programmierung auskennst.
So viel zum Grundsätzlichen, jetzt zu deinem Problem.
Also wie deine Fehlermeldung schon sagt, benötigt die Matlab-Funktion "integral" ein function handle, eine gute Erklärung gibt es hier http://www.gomatlab.de/tutorial-kei.....function-handle-t545.html im Forum.
Also, die Integral Matlab-Funktion ist so aufgebaut - integral(mathematische Funktion,x_unten,x_oben) - wobei die mathematische Funktion als function handle übergeben wird.
Als nächstes übergibst du das function handle und deine x-Grenzen an die Integral Matlab-Funktion.
Ich habe jetzt mal von 0 bis 0.0015 genommen, da im negativen Bereich, -0.0015 bis 0, auch ein negative Fläche raus kommen müsste. Hier müsstest du den Betrag nehmen und beide Addieren. Anschließend nicht vergessen dein Rechteck unten abzuziehen.
Beste Grüße
BBecks
|
|
|
Darryl |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 24.03.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.03.2016, 13:11
Titel:
|
|
Echt gut erklärt, danke dir! Kann ich mir dann im Prinzip die Arbeit eine Funktion extra anzulegen sparen und lege mit dem Code f=@(x) -18680000.... die Funktion an und kann sie somit dann gleich integrieren?
Das ist ja deutlich einfacher als gedacht:)
Grüße
|
|
|
BBecks |
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 26.03.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.03.2016, 13:25
Titel:
|
|
Richtig.
Aber noch so als kleinen Tipp, probiere mal das Wissen, was du jetzt hast, über die Matlab-Hilfe nachzuvollziehen. Und so den Aufbau der Hilfe zu verstehen. z.B.
Die Jungs von The MathWorks machen hier einen echt guten Job und geben auch gute Beispiele. Wenn man die Hilfe einmal richtig lesen kann, hilft das ungemein . Einziger hacken, man muss wissen wonach man sucht
|
|
|
|
|
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 - 2025
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.
|
|