WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

schnittpunkt zwischen vektor und gerade

 

Knäckebrot

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.03.2010, 20:29     Titel: schnittpunkt zwischen vektor und gerade
  Antworten mit Zitat      
wie kann ich die schnittpunkte zwischen einem vektor und einer waagrechten gerade z.B y=2 mittels matlab berechnen?

dankeschön


InspectorGadget
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 52
Anmeldedatum: 16.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.03.2010, 21:09     Titel:
  Antworten mit Zitat      
Naja, wie Du es ohne Matlab auch berechnen würdest. Geradengleichungen aufstellen, gleichsetzten und lösen!
Private Nachricht senden Benutzer-Profile anzeigen
 
knäckebrot

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.03.2010, 14:22     Titel:
  Antworten mit Zitat      
ja, aber wie setze ich das um. Ich habe ja einen Vektor und eine Funktion. Also ich glaube ich steh total auf dem Schlauch
 
InspectorGadget
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 52
Anmeldedatum: 16.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.03.2010, 15:01     Titel:
  Antworten mit Zitat      
Also Du musst natürlich aus dem Vektor erst mal eine Geradengleichung machen. Als zweiten Punkt hast Du ja den Ursprung. Also sollte das kein Problem sein.
Jetzt hast Du 2 Geradengleichungen f1 und f2. Die setzt Du einfach gleich, und lässt das Matlab lösen.
Code:

Reicht Dir das, oder brauchst Du noch Hilfe bei der Umsetzung in Matlab? Wenn Du ein Tutorial gelesen hast, schaffst Du das aber. Ist nicht schwer!
Private Nachricht senden Benutzer-Profile anzeigen
 
knäckebrot

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.03.2010, 16:36     Titel:
  Antworten mit Zitat      
das problem ist, dass der vektor aber keine gerade ist.
 
knäckebrot

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.03.2010, 09:31     Titel:
  Antworten mit Zitat      
Kann mir denn keiner helfen? Sad
 
InspectorGadget
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 52
Anmeldedatum: 16.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.03.2010, 11:42     Titel:
  Antworten mit Zitat      
Doch, aber nur ein bischen.
Deine Funktionsgelichung für Deine Punkte bekommst Du mit spline.
Ein Beispiel aus der Doku:
Code:
x = 0:10;  y = sin(x);
        xx = 0:.25:10;
        yy = spline(x,y,xx);
        plot(x,y,'o',xx,yy)

Allerdings habe ich mit spline noch nix gemacht. Da musst Du Dich selber durchlesen. Viel Erfolg!
Private Nachricht senden Benutzer-Profile anzeigen
 
knäckebrot

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.03.2010, 12:49     Titel:
  Antworten mit Zitat      
Danke Inspector!

jetzt habe ich aus dem Vektor die Fkt gemacht und habe eine Gerade.
Jetzt habe ich mir gedacht mit solve('Fkt=gerade') die Schnittpunkte zu berechnen, aber ich bekomm das nicht hin.
 
InspectorGadget
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 52
Anmeldedatum: 16.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.03.2010, 12:55     Titel:
  Antworten mit Zitat      
Leider ist solve nicht so schlau, dass es den Ausdruck fkt=gerade versteht. Du musst vorher die beiden Gleichungen selber gleichsetzen, und dann die resultierende Gleichung an solve übergeben.
Code:
f=f1-f2;
solve(f,'x')
Private Nachricht senden Benutzer-Profile anzeigen
 
knäckebrot

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.03.2010, 13:09     Titel:
  Antworten mit Zitat      
Also ich glaub ich bin blöd. Ich kriege es einfach nicht hin. Soweit habe ich es:

vek=Vektor;

x = 0:.5:10;
y =@(x) 2;


Fkt = spline(x, vek, x);

Schnittpunkt = Funktion-y;

solve(Schnittpunkt, 'x');


was mache ich falsch?
 
InspectorGadget
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 52
Anmeldedatum: 16.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.03.2010, 13:22     Titel:
  Antworten mit Zitat      
Schau Dir mal die Rückgabe von spline an. Das ist keine Funktion, sondern ein struct, in dem die Funktion steht. So direkt kannst Du das dann natürlich nicht gleich setzen. Aber wie gesagt, mit spline kenn ich mich nicht so gut aus, das musst Du Dir selber in der Doku durchlesen. Oder auf jemand anderen hoffen Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
knäckebrot

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.03.2010, 13:47     Titel:
  Antworten mit Zitat      
ich bekomme einen Vekor raus. Also könnte ich doch die 2 Vektoren gleichsetzen, aber das geht auch nicht.
 
knäckebrot

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.03.2010, 13:51     Titel:
  Antworten mit Zitat      
das pass hier zwar nicht unbedingt rein, aber weißt du zufällig, wie ich Elemente des vektors die NaN sind entfernen kann?
 
InspectorGadget
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 52
Anmeldedatum: 16.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.03.2010, 14:02     Titel:
  Antworten mit Zitat      
Nein, da bekommst Du nur dann einen Vektor, wenn die Kurve gleich an Hand eines Gitters ausgewertet wird. Das ist dann aber keine kontinierliche Kurve mehr. Das bringt Dir also nix. Sorry, da hab ich voher ein schlechtes Beispiel aus der Hilfe kopiert. Das ist besser:
Code:
x = pi*[0:.5:2];

y = [0  1  0 -1  0  1  0;

     1  0  1  0 -1  0  1];

pp = spline(x,y);

Schau Dir einfach mal pp an.
Gib in Matlab mal help spline ein. Da solltest Du genug Doku finden, um Dein Problem zu lösen.

Bei dem anderen kann cih Dir aber noch helfen:
Code:

ersetzt alle NaN Einträge aus dem Vektor a mit 77. Kannst Du ja so anpassen, wie Du es brauchst.
Auf NaN kann man in Matlab nur mit isnan(...) prüfen. Da bekommst Du einen Vektor zurück mit gleicher Länge wie der Input, und den Einträgen 0, wenn im Vektor nicht NaN steht, bzw 1 wenn NaN drinsteht.
Private Nachricht senden Benutzer-Profile anzeigen
 
Evi87

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.04.2010, 10:00     Titel:
  Antworten mit Zitat      
Hey,
ich bin gerade auf das gleiche Problem gestoßen. Hat dazu nun einer eine Lösung gefunden, wie ich den Schnittpunkt zwischen einem Spline/Vektor und einer Geraden ermitteln kann?
Gruß
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.