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

Vektor mit 2 Laufvariablen

 

ka404
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 95
Anmeldedatum: 29.05.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.05.2014, 19:17     Titel: Vektor mit 2 Laufvariablen
  Antworten mit Zitat      
Hallo,

Ich habe folgendes Problem. Ich möchte aus einer einer csv Datei die etwa 180Zeilen hat und 256 Spalten Werte herauslesen und die Summe dabei bilden und zwar so:
- die 256 Spalten werden in 11 Bereiche eingeteilt, von jedem Bereich wird die Summe gebildet,was auch schon funktioniert (über i*20:(i+1)*20-1 allerdings nur für die 1. Zeile

Code:
filename=uigetfile('*.csv');
A=xlsread(filename);
j=1;
s1 = zeros(11,100);
Ber= zeros(11,100);
Merkmal= zeros(44,44);

    for i=1:11
   
    Ber=A(1,i*20:(i+1)*20-1);    % 11 Bereiche Ultraschallsensor 1
    s1(i)=sum(Ber);       % das ist die Summe


 Merkmal=[s1'];
 


Wie kann ich das ganze für mehrere Zeilen realisieren? Allerdings möchte ich nur jede 3. Zeile haben also dann etwa so


Code:

n=0;
for m=1:100
n=n+3
   Ber=A(n,i*20:(i+1)*20-1)

end
 


das funktioniert aber leider weil ich ja mehrere Variablen habe und dann bekomme ich auch Probleme bei der Summenbildung.

DieMerkmalmatrik soll dann also am Ende so aussehen:

1. Zeile: summe von Bereich 1 summe von Bereich 2....summe von Bereich 11
2. Zeile: summe von Bereich 1 summe von Bereich 2....summe von Bereich 11
....
100.Zeile: summe von Bereich 1 summe von Bereich 2....summe von Bereich 11

Geht das irgendwie zu realisieren?

Grüße

Ka
Private Nachricht senden Benutzer-Profile anzeigen


ka404
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 95
Anmeldedatum: 29.05.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.05.2014, 10:05     Titel:
  Antworten mit Zitat      
Hallo,
Kann mir jemand helfen? Ich versteh nicht warum das nicht so funktioniert:

Code:

s1 = zeros(180,44);
s2 = zeros(180,44);

Us1Ber1= zeros(11,100);
Us2Ber1= zeros(11,100);
Lern= zeros(190,44);
     
 for m=1:50
    for i=1:11
   
    Us1Ber1=A(m,i*20:(i+1)*20-1);    % 11 Bereiche
    s1(i)=sum(Us1Ber1);        % das ist die Summe
    Us2Ber1=A(m,i*20:(i+1)*20-1);    % 11 Bereiche
    s2(i)=sum(Us2Ber1);       % das ist die Summe

 
     end
   
 
 end
   Lern(m)=[s1' s2'];


die innere Schleif mit i=1:11 soll die Vektoren s1 und s2 erstellen, die beinhalten jeweils 11 Summen in einer Spalte. Im Vektor Lern sollen diese dann hintereinander weg geschrieben werden also stehen dort dann in der 1. Zeile 22 Werte

jetzt wollte ich noch eine äußere Schleife machen m=1:50 um das ganze für jede einzelne Zeile der csv. Datei zu machen
in den Vektor sollen dann also nach m=2
s1'(von m=2) und s2'(von m=2) in die 2. Zeile des Lern vektors schreiben, dabei bekomme ich aber eine Fehlermeldung.

Viele Grüße

Ka
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 23.05.2014, 10:14     Titel:
  Antworten mit Zitat      
Zitat:
dabei bekomme ich aber eine Fehlermeldung.

fehlermedlungen sollten immer mit angegbenen werden da sie meist sagen wo der fehler liegt ^^
wahrscheinlich bekommst du einen dimensionsfehler da du einem element versuchst mehrere zuzuordnen.
außerdem muss das noch in die schleife rein.
man könnte sowas probieren.
Code:
s1 = zeros(180,44);
s2 = zeros(180,44);

Us1Ber1= zeros(11,100);
Us2Ber1= zeros(11,100);
Lern= [];
     
 for m=1:50
    for i=1:11
   
    Us1Ber1=A(m,i*20:(i+1)*20-1);    % 11 Bereiche
    s1(i)=sum(Us1Ber1);        % das ist die Summe
    Us2Ber1=A(m,i*20:(i+1)*20-1);    % 11 Bereiche
    s2(i)=sum(Us2Ber1);       % das ist die Summe

 
     end
Lern= [Lern,s1',s2']
 end

 

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
ka404
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 95
Anmeldedatum: 29.05.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.05.2014, 10:23     Titel:
  Antworten mit Zitat      
Oh super das funktioniert jetzt.

Vielen Dank Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 23.05.2014, 10:27     Titel:
  Antworten mit Zitat      
achtung. der speicher wurde hier nicht vorher angelegt weil ich keine lust hatte mir gedanken zu machen Smile bei kleinen dimensionen wie bei dir ist das nicht so schlimm. sollten deine matritzen aber größer werden kann das schon recht viel zeit fressen.
_________________

richtig Fragen
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 - 2025 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.