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

Problem in der for Schleife

 

Magic.Wolf
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 04.12.18
Wohnort: Köln
Version: ---
     Beitrag Verfasst am: 21.01.2019, 17:29     Titel: Problem in der for Schleife
  Antworten mit Zitat      
Hallo Leute,
Ich möchte durch den Fahrzyklus und die Gegeben werten den Energieverbrauch aus rechnen des PKW.
Aber es wird immer angezeigt das ich ein Fehler habe ??
Der werd sollte zyklus(:,i) - zyklus(:,i-1) = v(t)*v(t-1)
Und der wert zyklus(:,i-1)),zyklus(i,Smile-zyklus(i-1,Smile=t_1 - t_2=Dealta t


Code:

clear;
Energieverbrauch='Energieverbrauch';
load(Energieverbrauch);
W=0;
for i=2:1:length(zyklus)
   
    F_a = mrdivide(Masse_m*(zyklus(:,i) - zyklus(:,i-1)),zyklus(i,:)-zyklus(i-1,:));
    if F_a>=0
        Fv=Kraft_C*v^2+Kraft_B*v+Kraft_A;
        W=W+zyklus(:,i)*(F_a+F_v)*(zyklus(i,:)-zyklus(i-1,:));
    end
end
 


Bildschirmfoto 2019-01-21 um 16.26.12.png
 Beschreibung:

Download
 Dateiname:  Bildschirmfoto 2019-01-21 um 16.26.12.png
 Dateigröße:  103.94 KB
 Heruntergeladen:  220 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: 21.01.2019, 17:39     Titel:
  Antworten mit Zitat      
Hallo,

in dem Code sieht man rot ein £ - Symbol, das da wie auch immer reingerutscht ist.
Generell bitte immer die Fehlermeldung angeben.

mrdivide aufzurufen ist sehr ungewöhnlich. Gibt es einen speziellen Grund, warum du nicht / (oder auch ./ ) verwendest?

Wenn F_a ein Vektor wird, ist die folgende if-Abfrage nicht recht sinnvoll bzw. wird wohl nicht das machen, was du erwartest. Alternative wäre logische Indizierung.

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
 
Magic.Wolf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 04.12.18
Wohnort: Köln
Version: ---
     Beitrag Verfasst am: 21.01.2019, 20:39     Titel:
  Antworten mit Zitat      
Das £ - Symbol habe ich korrigiert und nein es gibt kein besonderen Grund fand ,dass das übersichtlicher ist
Private Nachricht senden Benutzer-Profile anzeigen
 
Magic.Wolf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 04.12.18
Wohnort: Köln
Version: ---
     Beitrag Verfasst am: 21.01.2019, 21:48     Titel:
  Antworten mit Zitat      
Ich habe mein Fehler gefunden aber kann es leider nicht umsetzen.
Ich muss delta_t richtig einrichten .
delta_t soll die erste spalte von zyklus sein das bis zum end laufen soll.
Code:

clear;
Energieverbrauch='Energieverbrauch';
load(Energieverbrauch);
W=0;
for i=2:1:length(zyklus)
   
    delta_v = zyklus(:,i) - zyklus(:,i-1);
    delta_t = zyklus(i,:) - zyklus(i-1,:);
   
    F_a = (Masse_m*(delta_v))/(delta_t);
 
    if F_a >= 0
       
        F_v=Kraft_C*v^2+Kraft_B*v+Kraft_A;
       
        W=W+zyklus(:,i)*(F_a+F_v)*(delta_t);
       
    end
end
 


Bildschirmfoto 2019-01-21 um 20.45.09.png
 Beschreibung:

Download
 Dateiname:  Bildschirmfoto 2019-01-21 um 20.45.09.png
 Dateigröße:  195.31 KB
 Heruntergeladen:  220 mal
Bildschirmfoto 2019-01-21 um 20.45.18.png
 Beschreibung:

Download
 Dateiname:  Bildschirmfoto 2019-01-21 um 20.45.18.png
 Dateigröße:  9.59 KB
 Heruntergeladen:  203 mal
Bildschirmfoto 2019-01-21 um 20.45.28.png
 Beschreibung:

Download
 Dateiname:  Bildschirmfoto 2019-01-21 um 20.45.28.png
 Dateigröße:  137.2 KB
 Heruntergeladen:  196 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: 21.01.2019, 23:54     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
fand ,dass das übersichtlicher ist

Mir ist schleierhaft, was an solchen Sonderzeichen in Variablen übersichtlicher sein soll.

Zitat:
delta_t soll die erste spalte von zyklus sein das bis zum end laufen soll.

Zum einen extrahierst du Spalten, zum anderen ist mir nicht klar, was "bis zum end laufen soll" heißen soll, wenn nicht etwas wie das, was in der Zeile drüber steht.

Wenn ich raten soll, dann meinst du
Code:
delta_v = zyklus(i,2) - zyklus(i-1,2);
delta_t = zyklus(i,1) - zyklus(i-1,1);


Das kannst du aber auch einfacher haben, indem du außerhalb der Schleife
Code:
delta_v = diff(zyklus(:,2))
 
schreibst und entsprechend für delta_v

Wenn du Vektoren elementweise teilen willst, musst du ./ statt / verwenden.

Und wie gesagt:
Zitat:
Wenn F_a ein Vektor wird, ist die folgende if-Abfrage nicht recht sinnvoll bzw. wird wohl nicht das machen, was du erwartest. Alternative wäre logische Indizierung


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
 
Magic.Wolf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 04.12.18
Wohnort: Köln
Version: ---
     Beitrag Verfasst am: 25.01.2019, 16:33     Titel:
  Antworten mit Zitat      
Danke Leute ihr seid die beste
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.