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

Spalten weise subtrahieren

 

B1ND3R
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 07.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2008, 16:16     Titel: Spalten weise subtrahieren
  Antworten mit Zitat      
Nabend,

kurze frage, warum geht das so nicht - seh gerade den wald vor lauter bäumen nicht...

Code:

werte_out(:,k) = werte_at(:,k) - werte_ue;
 


während aber folgendes geht:
Code:

LG(:,1) = LG_Atmung(:,1)-LG_Ueber_mittel;
LG(:,2) = LG_Atmung(:,2)-LG_Ueber_mittel;
 


er soll doch nur spaltenweise subtrahieren... Sad
Private Nachricht senden Benutzer-Profile anzeigen


steffi
Forum-Century

Forum-Century



Beiträge: 149
Anmeldedatum: 07.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2008, 16:22     Titel:
  Antworten mit Zitat      
dazu müsste man wissen was in deine variablen drin steht oder was die fehlermeldung ist
_________________

Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
B1ND3R
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 07.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2008, 16:48     Titel:
  Antworten mit Zitat      
werte_at = LG_Atmung
werte_ue = LG_Ueber_mittel

nur das die werte_xx sich in einer funktion befinden.

Fehlermeldung:
??? Error using ==> minus
Matrix dimensions must agree.
Private Nachricht senden Benutzer-Profile anzeigen
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 15.05.2008, 17:02     Titel: Re: Spalten weise subtrahieren
  Antworten mit Zitat      
B1ND3R hat Folgendes geschrieben:

während aber folgendes geht:
Code:

LG(:,1) = LG_Atmung(:,1)-LG_Ueber_mittel;
LG(:,2) = LG_Atmung(:,2)-LG_Ueber_mittel;
 


er soll doch nur spaltenweise subtrahieren... Sad


Schreib danach mal
Code:
und poste die Ausgabe davon.
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
steffi
Forum-Century

Forum-Century



Beiträge: 149
Anmeldedatum: 07.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2008, 17:02     Titel:
  Antworten mit Zitat      
Ok, also wenn ich diese Art Fehlermeldung erhalte, dann setze ich Debug-Punkte in den Code, lasse alles bis dahin durchlaufen und schaue mir dann die Größe der Variablen an

Code:


Meistens kann ich das Problem dann selbst identifizieren. So auf Anhieb fällt mir sonst gerade für dein Problem keine Lösung ein.
Ach ja du solltest dir noch anschauen, welche Werte k annimmt, daran könnte es natürlich auch liegen!

LG
_________________

Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
B1ND3R
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 07.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.05.2008, 13:36     Titel:
  Antworten mit Zitat      
Code:

function [Werte_out,j] = minus(atmung,ueber);

for j = 1:714
        [A B] = size(atmung)
        [C D] = size(ueber)
        Werte_out(:,j) = atmung(:,j)-ueber(:,1);
end;
 


Code:

>> whos
  Name                  Size                    Bytes  Class

  Atmung              511x714                 2918832  double array
  Ch1                   1x1                   2942004  struct array
  Ch2                   0x0                         0  double array
  Data                511x1428                5837664  double array
  FileName              1x21                       42  char array
  Header               16x200                   25600  double array
  Ilm                 511x714                 2918832  double array
  PathName              1x43                       86  char array
  RawData             511x714                 2918832  double array
  Ueber               511x1                      4088  double array
  Uebersprechen       511x100                  408800  double array
  active_Channels       1x1                         8  double array
 


kann mir einer sagen warum das nicht geht?

ich will doch einfach nur eine 511 x 714 Matrix bei jeden durchgang der spalte diese minus einer 511 x 1 Matrix nehmen...
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 16.05.2008, 14:35     Titel:
  Antworten mit Zitat      
Moin,

probier mal folgendes:
Code:
function [Werte_out] = minus(atmung,ueber);

ueber = ueber(:,ones(1,714));
Werte_out = atmung - ueber;
 


Gruß
Alex
_________________

>> 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
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 16.05.2008, 18:35     Titel:
  Antworten mit Zitat      
B1ND3R hat Folgendes geschrieben:
Code:

function [Werte_out,j] = minus(atmung,ueber);

for j = 1:714
        [A B] = size(atmung)
        [C D] = size(ueber)
        Werte_out(:,j) = atmung(:,j)-ueber(:,1);
end;
 



Soweit ich weiß schreibt man in Matlab nach dem end kein Semikolon. Schädlich ist es hier aber wohl nicht.
Gibt es dazu eine Stelle in der Doku, die ich jetzt gerade nur nicht finden kann?
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
B1ND3R
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 07.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.05.2008, 12:26     Titel:
  Antworten mit Zitat      
gibts es nichts allgemeines um eine Spalte von der anderen abzuziehen, weil so sollte es doch EIGENTLiCH gehen...
Private Nachricht senden Benutzer-Profile anzeigen
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 17.05.2008, 12:43     Titel:
  Antworten mit Zitat      
Eigentlich geht das auch, aber nach der Fehlermeldung in Deinem ersten Posting haben werte_at(:,k) und werte_ue unterschiedliche Größen.
Was sagt
Code:
size(werte_at)
size(werte_ue)
?
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
B1ND3R
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 07.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.05.2008, 12:59     Titel:
  Antworten mit Zitat      
es lag an dem Funktionsnamen "minus".

weil sobald ich den änder gehts... nur ist "minus" reserviert?!...
Private Nachricht senden Benutzer-Profile anzeigen
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 17.05.2008, 13:11     Titel:
  Antworten mit Zitat      
Den Befehl gibt es unter anderem in der Fixed Point Toolbox und der Finacial Toolbox.
Aber von dieser Funktion hast Du in Deinem ersten Post nichts gesagt. Wink
Geht das denn jetzt wie gewünscht?
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
B1ND3R
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 07.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.05.2008, 14:19     Titel:
  Antworten mit Zitat      
nschlange hat Folgendes geschrieben:

Aber von dieser Funktion hast Du in Deinem ersten Post nichts gesagt. Wink
Geht das denn jetzt wie gewünscht?


hättet ihr aber auch drauf kommen können Razz Wink

ja jetzt gehts... dummer fehler - aber naja Wink
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.