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

Forschleife und Wertezuweisung

 

ERM
Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 26.09.09
Wohnort: ---
Version: 7.7.0(R2008b)
     Beitrag Verfasst am: 07.10.2009, 15:43     Titel: Forschleife und Wertezuweisung
  Antworten mit Zitat      
Diesmal gleich 2 Fragen.

1. Frage:

Einmal möchte ich einen Vektor b immer mit dem letzten Wert dividieren also genauer gesagt:

a=X-b(n)/b(n-1)

Wobei n=1:100 ist und ich keine Forschleife verwenden möchte, ich glaube Matlab hat da was einfacheres und schneller parat.

2. Frage:

Ich habe 2 Vektoren(a und b, jefalls 100 Werte) und im neuen Vektor soll eine 1 wenn der Wert im ersten Vektor "a" größer ist als im 2ten Vektor "b". Ansonsten -1. Ich hab es mit Logik befehlen versucht, aber leider nichts gefunden. Das müsste aber doch gehen? Auch wieder ohne eine Forschleife zu benutzen.
Und dann das ganze mit 4 Vektoren und 4 Entscheidern. hier 1,-1,j und -j. Ist dass dann noch Möglich?

Beide Probleme hab ich mit einer Forschleife realisiert, denke aber das es schöner und schneller geht.

ERM
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 07.10.2009, 16:27     Titel:
  Antworten mit Zitat      
Hallo
zu Frage 1: verstehe ich nicht ganz, aber wahrscheinlich meinst du das
Code:


a=X-b./b(end)
 


zu Frage 2: geht schon mit logischen arrays
Code:

a=[1; 2; 3]; b=[3; 2; 1];
c=zeros(size(a));
a_vs_b = a > b;

c(a_vs_b)  =1
c(~a_vs_b)=-1
 
Private Nachricht senden Benutzer-Profile anzeigen
 
ERM
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 26.09.09
Wohnort: ---
Version: 7.7.0(R2008b)
     Beitrag Verfasst am: 08.10.2009, 16:43     Titel:
  Antworten mit Zitat      
Also zu Frage 1 nochmal:

Code:

for(n=2:100)
a(n)=X-b(n)/b(n-1);
end
 


also nicht immer den letzten Wert sondern den vorherigen. Ist das auch möglich?

ERM
Private Nachricht senden Benutzer-Profile anzeigen
 
Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 08.10.2009, 16:53     Titel:
  Antworten mit Zitat      
Hallo,

jepp, ist möglich:
Code:

n = 2:100;
a(n) = X - b(n)./b(n-1);
 


Wink

Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
ERM
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 26.09.09
Wohnort: ---
Version: 7.7.0(R2008b)
     Beitrag Verfasst am: 08.10.2009, 17:28     Titel:
  Antworten mit Zitat      
ich zweifel gerade an mir Selbst, ist ja zu einfach. Einfach die Forschleife weglassen. Ok besten dank, für die 2te Frage muss ich noch austesten.

Echt ein geiles Forum!

ERM
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.