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

Zugriff auf Wert vorheriger Iteration (for-schleife)

 

flintstone
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 19.10.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.10.2021, 14:48     Titel: Zugriff auf Wert vorheriger Iteration (for-schleife)
  Antworten mit Zitat      
Hallo,
ich bin sehr neu im Umgang mit Matlab und habe eine Frage zu meinem Code:
Es handelt sich um ein Fixpunktproblem. Allerdings habe ich keine Funktion sondern nur eine Menge an Punkten (b_2,b_1), bei der überprüft werden muss, an welcher Stelle die Ursprungsgerade geschnitten wird (b_2 ist der x-Wert;b_1 der y-Wert).

Ich bestimme in einer For-Schleife für jeden b_2 Wert einen zugehörigen b_1 Wert.
Alle Werte für b_1/b_2 werden sozusagen in einem Vektor abgespeichert, wobei der Iterationsindex i den i-ten Wert des Vektors ausgibt.

Um nun die Punkte zu berechnen, bei denen meine ,,Funktion'' die Ursprungsgerade schneiden würde, habe ich einen weiteren Vektor ,,differenz'' erstellt, welcher die gleiche size wie b_1/b_2 besitzt. Dieser bildet die Differenz aus b_1 und b_2. Da es sich um Punkte und keine Funktionen handelt wird die Differenz niemals differenz=0 erzeugen, weshalb ich einen Vorzeichenwechsel untersuche.
An dieser Stelle setzt meine Frage an:
- ich möchte für den ersten Schnittpunkt überprüfen das differenz(der vorherigen Iteration)<=0 ist und differenz(der nachfolgenden Iteration)>=0.
- für den zweiten Schnittpunkt ist zu überprüfen das differenz(der vorherigen Iteration)>=0 ist und differenz(der nachfolgenden Iteration)<=0.

-> Die Frage, wie kann das syntaktisch durchgeführt werden, denn mein Vorschlag im Anhang funktioniert nicht?

Vielen Dank für eure Hilfe im Voraus, gerne kann auch anderweitig Kontakt aufgenommen werden.
MFG

MATLAB_Frage.m
 Beschreibung:
Zu untersuchende Schleife

Download
 Dateiname:  MATLAB_Frage.m
 Dateigröße:  1.04 KB
 Heruntergeladen:  147 mal
Figure 1 19.10.2021 14_30_11.png
 Beschreibung:
Schaubild der ,,Funktion''. Auf y-Achse ist b_1 und auf der x-Achse b_2 abgebildet

Download
 Dateiname:  Figure 1 19.10.2021 14_30_11.png
 Dateigröße:  8.63 KB
 Heruntergeladen:  151 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.10.2021, 16:19     Titel:
  Antworten mit Zitat      
Hallo,

was heißt "funktioniert nicht"?
Da etliche Variablen nicht definiert sind, lässt sich der Code so nicht ausführen.

Um welche Ursprungsgerade geht es? Die Winkelhalbierende oder eine andere? Generell lässt sich ein Schnittpunkt mit der Ursprungsgerade mit Steigung m im wahrsten Sinne des Wortes über Vorzeichenänderung ermitteln:
Code:
vzw = diff( sign (b2 - m*b1) ) ~= 0
vzw_idx = find(vzw) % falls gewünscht


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
flintstone
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 19.10.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.10.2021, 18:56     Titel:
  Antworten mit Zitat      
Wahnsinn hat funktioniert-genauso wie ich es mir vorgestellt habe nur ohne viel Recherchearbeit! Vielen Dank Harald! Very Happy
Private Nachricht senden Benutzer-Profile anzeigen
 
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 - 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.