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

Summen berechnen

 

Pow Lee
Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 23.10.08
Wohnort: Aldrans
Version: R2009b
     Beitrag Verfasst am: 12.11.2008, 14:45     Titel: Summen berechnen
  Antworten mit Zitat      
Hallo zusammen, kann mir bitte jemand weiterhelfen!
Also ich habe eine tabelle und möchte aus den werten einer spalte summen bilden und diese in eine neue tabelle schreiben.
Es sollen jeweils 6 werte summiert werden und ausgegeben werden. Question

Also quasi:
b1=a1+a2+a3+a4+a5+a6
b2=a7+a8+a9+a10+a11+a12
b3=a13+a14+a15+a16+a17+a18 usw.

kann man das automatisieren?
vieln dank und lg
Private Nachricht senden Benutzer-Profile anzeigen


pebbles1988

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2008, 15:29     Titel:
  Antworten mit Zitat      
Wenn du die Werte in einer Tabelle hast, würde ich es mit einer Schleife versuchen.

(Ich kenn das jetzt nur im c++ code, da ich selbst noch nicht soviel mit Matlab gemacht hab, aber das in Matlab umschreiben ist bestimmt nicht schwer):

also in etwa:

int b[];
int a[];
int i=0;
int j=0;

while (i<b.size)
{
for(j=0;j<6;j++)
{ b[i]=+a[j];}
i++;
}
und dann kannst du ja wieder eine Schleife machen um es dann nachher in einer Tabellenform ausgeben zu lassen.

while (i<b.size)
{
//b[i] in Tabellenform

i++;}

Ich hoffe, dass du zumindest mit der Grundidee etwas anfangen kannst^^

LG
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2008, 18:01     Titel:
  Antworten mit Zitat      
Man könnte auch in Matlab mit Schleifen arbeiten, man wird aber lieber darauf verzichten und z.B die Funktion sum benutzen:
Code:
   % Wieviele Zeilen soll die Testtabelle haben?
tzeilen=30;

    % Wieviele Spalten?
tspalten=1;

    % Testtabelle anlegen
tabelle=round(10*rand(tzeilen,tspalten));

    % Zusaetzliche Spalte fuer die Summen anfuegen
tabelle(:,tspalten+1)=NaN;

    % Tun wir so, als wuessten wir nichts von der Testmatrix
    % Wieviele Zeilen hat sie?
nmax=size(tabelle,1);

    % Zusaetzliche Spalte fuer die Summen anfuegen
tabelle(:,size(tabelle,2))=NaN;

    % In welcher Spalte soll summiert werden?
summespalte=1;

    % Ueber wieviele Zeilen soll jeweils summiert werden?
summenzeilen=10;

    % Liste anlegen, in der steht von wo bis wo summiert werden soll
    % Muster: [von_1 bis_1 von_2 bis_2...]
i=cumsum(repmat([1 summenzeilen-1],1,nmax/summenzeilen));

    % Eingene Funktion anlegen, die mit arrayfun benutzt werden kann
    % Sie bekommt als Parameter ein Element der Liste i und summiert
    % von diesem bis zum naechsten Element
summe=@(n) sum(tabelle(i(n):i(n+1),summespalte));
       
    % Elemente für die Uebergabe an die Funktion summe sind diejenigen mit
    % ungeradem Index (alle von-Werte)
j=1:2:2*nmax/summenzeilen;
   
    % Summen bilden und an die Tabelle anhaengen
tabelle(summenzeilen:summenzeilen:nmax,tspalten+1)=arrayfun(summe,j)'
 
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.