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

mit For Schleife auf einen Vektor zugreifen

 

je2679
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 26.04.23
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.04.2023, 15:20     Titel: mit For Schleife auf einen Vektor zugreifen
  Antworten mit Zitat      
Hallo,
ich habe einen Vektor t = [1 2 3 4 5 6 7 8] und D =[...]

und die Funktionen f und g. f = 10+n und g=10-n (vereinfacht)

ich möchte jetzt die ersten vier Einträge aus v in die f Funktion stecken und die letzten vier in die g Funktion. Das Gleiche mit dem Vektor D. Die Ergebnisse sollen dann in einem weiteren Vektor nacheinander gespeichert werden.
Code:
x = [0.6435; 2.4194; 4.3920; -0.1830]
a0 = x(1,1)
a1 = x(2,1)
b0 = x(3,1)
b1 = x(4,1)



t = [12+0/60 12+10/60 12+20/60 12+30/60 -12-5/60 -12-15/60 -12-25/60 -12-35/60].'
D = [0.800 1.600 2.400 3.200 1.200 2.000 2.800 3.600].'

for n = 1:4
    ger = a0 + a1*D(n,1)+b0+b1*t(n,1);
    l_ger(n) = ger;

end
l_ger

for n = 5:8
    ger = a0 + a1*D(n,1)-b0-b1*t(n,1);
    l_ger(n) = ger;

end
l_ger

Habe schon mal etwas ausprobiert, funktioniert aber noch nicht richtig
Private Nachricht senden Benutzer-Profile anzeigen


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 27.04.2023, 07:55     Titel:
  Antworten mit Zitat      
Hallo,

for-Schleifen sollten dafür nicht notwendig sein. Matlab ist dafür ausgelegt mit Vektoren und Matrizen zu rechnen. Das Matlab Onramp sollte für das Grundverständis dazu die entsprechenden Grundlagen vermitteln: https://matlabacademy.mathworks.com.....lab-onramp/gettingstarted

Ansonsten:
    - Warum setzt zu keine ";" am Zeilenende? Die Variablen kannst du dir jederzeit über den Workspace anschauen, statt sie im Command Window ausgeben zu lassen.
    - x, t und D sind Vektoren, d.h. du benötigst nur einen Index, der zweite ist bei einem Vektor immer "1"
    - im Forum findest du viele Beispiele wie for-Schleifen am besten funktionieren (sofern diese überhaupt benötigt werden)
    - l_ger(n) = ger; ist überflüssig, denn du kannst l_ger(n) gleich statt ger schreiben
    - Warum ist x gleich ein Spaltenvektor und t, D als Zeilenvektoren werden erst transponiert?


Wenn du auf die erste Hälfte eines Vektors zugreifen möchtest, dann geht das einfach mit
Code:
und auf die zweite Hälfte mit
Code:
.

Das alles zusammen sollte dir bei der Lösungsfindung helfen. Wenn etwas nicht funktioniert, dann bitte genau beschreiben, was nicht funktioniert und die Fehlermeldung dazugeben.

Gruß,
Steve
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
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.