|
|
Hi, Bräuchte Hilfe bei einer Wertepaar-Aufgabe :) |
|
MoeE |
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 17.07.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.07.2016, 18:55
Titel: Hi, Bräuchte Hilfe bei einer Wertepaar-Aufgabe :)
|
|
Hallo Matlab Community,
ich habe etwas Probleme bei der Erstellung eines Codes zu dieser Aufgabe:
" Eine Funktion vom Typ f(x) = a+ b * x^c , die möglichst gut durch N vom Benutzer vorgegebene (x,y)-Wertepaare legt."
Die Funktion ist denke ich selbst erstellbar und sollte nur von diesem Typ sein. Die Anzahl der Wertepaare jedoch sollten vom Benutzer selbst N mal bestimmt werden.
Zudem denke ich, dass die bestimmte Stelle von der die N Werte ausgehen (Bsp. ab -5 oder so) ebenfalls bestimmt werden müsste.
Als Matlab-Neuling weiß ich nicht, wie ich hier in irgendeiner Weise vorgehen soll. Hilfe jeglicher Art dazu wäre echt der Hammer und ich würde mich sehr darüber freuen !
Danke Moe
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 17.07.2016, 20:35
Titel:
|
|
Hallo,
sofern du fertige Funktionen verwenden darfst, würde ich zu lsqcurvefit raten.
Grüße,
Harald
|
|
|
MoeE |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 17.07.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.07.2016, 22:23
Titel:
|
|
Hi Harald, danke erstmal für die Antwort.
Also wenn du mit fertiger Funktion meinst was ich denke, dann ja. Die Funktion ist halt von dem Typ f(x) = a+ b * x^c , dabei sind die Variablen a,b und c beliebig auswählbar (würde da vielleicht ganze Zahlen nehmen).
Wie genau würde das denn aussehen wenn ich den Befehl lsqcurvefit nutze bzw. was bewirkt das ?
Danke schonmal.
Gruß,
Moe
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 17.07.2016, 22:33
Titel:
|
|
Hallo,
Zitat: |
dabei sind die Variablen a,b und c beliebig auswählbar (würde da vielleicht ganze Zahlen nehmen). |
Das ist sehr widersprüchlich. Eine Einschränkung auf ganze Zahlen würde das Problem deutlich verkomplizieren.
Zitat: |
Wie genau würde das denn aussehen wenn ich den Befehl lsqcurvefit nutze bzw. was bewirkt das ? |
Bitte lese dir die Dokumentation zu
lsqcurvefit
durch. Da sollten diese Fragen beantwortet werden.
Grüße,
Harald
|
|
|
MoeE |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 17.07.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.07.2016, 23:08
Titel:
|
|
Hi,
ne gibt keine Einschränkung ... man kann nehmen was man möchte.
Alles klar, dann muss ich mich erstmal über darüber erkundigen.
Danke.
Moe
|
|
|
MoeE |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 17.07.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.07.2016, 23:55
Titel:
|
|
Wäre das vielleicht ein Anfang ?
Gruß,
Moe
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 18.07.2016, 08:53
Titel:
|
|
Hallo,
hast du den Code denn mal laufen lassen?
Da müsstest du ja eine Fehlermeldung bekommen, z.B. dass für ydata numerische Daten erforderlich sind.
Grüße,
Harald
|
|
|
MoeE |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 17.07.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.07.2016, 12:34
Titel:
|
|
Hallo,
genau das ist vorgekommen. Die Fehlermeldung für ydata.
Ich habe mir aber gedacht dass der Code damit, dass ydata ausrechnet für dass zugehörige x, dass ja selbst bestimmt werden kann. Muss man die Werte für ydata selbst erst ausrechnen und dann einsetzen damit der Befehl lsqcurvefit überhaupt funktioniert ?
In meiner Aufgabe sollte der Benutzer lediglich nur angeben wie viele Wertepaare (N Wertepaare) er denn sehen bzw. haben möchte mit der Anwendung der Formel: f(x) = a+ b * x^c .
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 18.07.2016, 13:11
Titel:
|
|
Hallo,
ich würde die Aufgabenstellung
Zitat: |
durch N vom Benutzer vorgegebene (x,y)-Wertepaare |
schon so verstehen, dass der Nutzer nicht nur die Anzahl der Wertepaare, sondern die tatsächlichen Wertepaare vorgibt. So sehen auch alle praktischen Anwendungen aus, die ich bisher gesehen habe.
Grüße,
Harald
|
|
|
MoeE |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 17.07.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.07.2016, 13:28
Titel:
|
|
Hallo Harald,
aber wenn der Benutzer die Wertepaare schon vorgibt, dann ist doch die eigentliche Arbeit geleistet.
Ich versuche das so zu gestalten, dass die "Range"oder die x-Werte für die Berechnungen eingegeben werden vom Benutzer und die dazugehörigen y-Werte nur noch ausgegeben/berechnet werden müssen. In Bezug zu der Formel.
Danke dir.
Gruß,
Moe
|
|
|
AKNOT |
Forum-Century
|
|
Beiträge: 129
|
|
|
|
Anmeldedatum: 12.10.11
|
|
|
|
Wohnort: Bochum
|
|
|
|
Version: R2018a
|
|
|
|
|
|
Verfasst am: 18.07.2016, 13:53
Titel:
|
|
Hi,
ich sehe das genauso wie Harald, weil es für mich anders auch nicht wirklich Sinn ergeben würde. Der Nutzer gibt Wertepaare vor und die sollen mit einer Funktion der genannten Form möglichst gut widergegeben werden.
Die Arbeit besteht darin mit curvefit, die Parameter der Funktion so zu bestimmen, dass die aus den x-Werten gebildeten y-Werte möglichst gut zu den vorgegeben y-Werten passen.
Oder?
|
|
|
MoeE |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 17.07.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.07.2016, 13:59
Titel:
|
|
Hallo zusammen,
nach kurzen Überlegungen gebe ich euch Recht ! Ich habe womöglich die Aufgabe etwas falsch verstanden. Das ergibt eher Sinn wenn ich mir die Aufgabenstellung nochmal durchlese.
Soll ich dann erst alle y-Werte ausrechnen und einsetzen in den Code oder wie soll ich am besten vorgehen ? Mann muss ja noch im Hinterkopf behalten, dass der Benutzer N Wertepaare vorgeben soll.
Danke.
Gruß,
Moe
|
|
|
AKNOT |
Forum-Century
|
|
Beiträge: 129
|
|
|
|
Anmeldedatum: 12.10.11
|
|
|
|
Wohnort: Bochum
|
|
|
|
Version: R2018a
|
|
|
|
|
|
Verfasst am: 18.07.2016, 14:05
Titel:
|
|
xdata und ydata werden vom Nutzer vorgegeben. Damit gehst du einfach genauso vor wie im ersten Beispiel in der lsqcurvefit Doku, nur, dass du fun mit deiner Funktionsdefinition ersetzt.
|
|
|
MoeE |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 17.07.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.07.2016, 14:15
Titel:
|
|
Hi,
achso ok ich probiere das mal, danke.
Ist es dabei egal was du für x und y eingibst ? Ich denke mir die ganze Zeit dass es für einen x-wert auch nur einen y-wert geben darf .. aber dafür wäre dann lsqcurvefit da um sich den eingegeben y-Werten zu nähern, wenn ich das richtig verstehe..
Das heißt dann wohl auch keine Werte für die Parameter der Funktion bestimmen. Oder ?
Gruß,
Moe
|
|
|
AKNOT |
Forum-Century
|
|
Beiträge: 129
|
|
|
|
Anmeldedatum: 12.10.11
|
|
|
|
Wohnort: Bochum
|
|
|
|
Version: R2018a
|
|
|
|
|
|
Verfasst am: 18.07.2016, 14:35
Titel:
|
|
xdata und ydata müssen schon die gleiche Dimension haben, was sollte er sonst mit den übrigen Daten anfangen. Schau dir doch einfach mal das Beispiel an.
Die Parameter deiner Funktion (a,b,c) werden von lsqcurvefit ermittelt, das ist der Sinn. Die stehen dann in x drin (Vektor). Entsprechend musst du in deiner Funktionsdefinition a,b und c mit x(1), x(2),... ersetzen. Wie gesagt, siehe Beispiel.
|
|
|
|
Gehe zu Seite 1, 2, 3 Weiter
|
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.
|
|