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

For-Schleife: Unable to perform assignment

 

Blueberry
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 26.08.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.08.2019, 20:18     Titel: For-Schleife: Unable to perform assignment
  Antworten mit Zitat      
Hallo zusammen,

Ich bin ein ziemlicher Matlab-Neuling und ich komme deshalb leider schon bei diesem einfachen Problem nicht weiter.
Ich habe eine For-Schleife und will die Werte speichern.
Das ist mein Code

Code:
% Laden.csv in Workspace
% Jeden Tag ein Startzeitpunkt zu ordnen
clc
close all
clear

 filename = 'Laden.csv';
 Startdata = csvread(filename,0,0);
 Wahrscheinlichkeit = Startdata(:,1)';
 Uhrzeit = Startdata(:,2)';

 Matrix = zeros(1,365)

 for n=1:365
    %n = Tag
       
    eval([filename ' = [Wahrscheinlichkeit'' Uhrzeit''];']);

    StartzeitpunktWS(n) = random('unid',1000);
    [row(n),~]=find(Startdata==StartzeitpunktWS(n));
    Startzeitpunkt(n) = Startdata(row(n), 2);
    Matrix(:,n)=Startzeitpunkt(n)
 

    end

 


Die Schleife läuft immer bis zu einer bestimmten Nummer durch. Aber stoppt immer bei einer anderen mit dieser Fehlermeldung:
Unable to perform assignment because the left and right sides have a different number of elements.

Error in Vorgangsstart (line 20)
[row(n),~]=find(Startdata==StartzeitpunktWS(n));

Kann mir hier jemand helfen? Ich habe schon viel im Internet gelesen, aber ich glaube mein Problem ist zu einfach..

Blueberry
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.08.2019, 20:31     Titel:
  Antworten mit Zitat      
Hallo,

für solche Probleme hilft der Debugger.

Meine Vermutung ist, dass du entweder keinen oder mehrere Treffer hast. In letzterem Fall wäre eine Lösung, nur den ersten Treffer zu nehmen.
Code:
[row(n),~]=find(Startdata==StartzeitpunktWS(n), 1);


Was soll dieser eval-Befehl denn bezwecken? Mich wundert, dass das keine Fehler erzeugt.

Falls dies nicht weiter hilft, bitte eine Beispieldatei zur Verfügung stellen. Dann kann man wahrscheinlich mehr sagen.

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
 
Blueberry
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 26.08.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2019, 08:25     Titel:
  Antworten mit Zitat      
Hallo Harald,

Perfekt, das hat geklappt, tausend Dank Smile

Der Eval-Befehl hat den Zweck die Daten aus der csv-Datei in den Workspace zu laden, damit ich später darauf zurückgreifen kann.

Wahrscheinlich ist das ziemlich umständlich, und es geht sicher einfacher, aber es erfüllt in meinem Fall seinen Zweck.

Viele Grüße
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.