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

bestimmte Zeile in Matrix löschen

 

ping
Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 09.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2014, 23:11     Titel: bestimmte Zeile in Matrix löschen
  Antworten mit Zitat      
Hallo,
ich habe ein Cell-Array in dem sich in jeder Celle Matrizen befinden.
Manche Matrizen enthalten in der 9. Spalte eine 0. Zeilen, deren 9. Spalte 0 ist sollen aus dieser Matrix entfernt werden.

Hiermit klappt es leider nicht:

[code]
[y x] = size(finish);
Kanal = 1;
while Kanal < y + 1

Ind= 1;

while Ind < x + 1;

if isempty(finish{Kanal,Ind})
Ind = Ind + 1;
else

if any(finish{Kanal,Ind}(:,9)==0);
finish{Kanal,Ind}(:,9)=[];
end

end


Ind = Ind + 1;
end
Kanal = Kanal + 1;
end


[/code]

Hoffe, mir kann jemand helfen:)

VG
-ping
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

und was klappt daran nicht?

Ich würde es mit cellfun + logischer Indizierung versuchen.
Code:
nozeroin9 = @(x) x( x(:,9) ~= 0, : );
newmat = cellfun(nozeroin9, mat, 'UniformOutput', false);


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
ping
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 09.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2014, 23:45     Titel:
  Antworten mit Zitat      
Hallo Harald,
vielen Dank.

Ist x meine Matrix? Was ist ''mat'' in newmat = cellfun(nozeroin9, mat, 'UniformOutput', false); ?

VG
ping
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.11.2014, 23:52     Titel:
  Antworten mit Zitat      
Hallo,

x ist eine dummy-Variable.
mat ist die Matrix.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
ping
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 09.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2014, 00:05     Titel:
  Antworten mit Zitat      
Hallo nochmal,

Ich bekomme diese Fehlermeldung:

Error using cellfun
Input #2 expected to be a cell array, was double instead.

Error in DDB_CARDIO (line 278)
newmat{Kanal,Ind} = cellfun(nozeroin9, y, 'UniformOutput', false);


y ist dabei meine Matrix.

Kann das damit zu tun haben, dass die Matrizen in Zellen eines cell-Arrays gespeichert sind?

MFG
ping
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.11.2014, 00:08     Titel:
  Antworten mit Zitat      
Hallo,

du schreibst anfangs, dass du mit einem Cell Array von Matrizen arbeitest.

y ist nun anscheinend kein Cell Array. Entweder ist also die anfängliche Beschreibung falsch oder du hast die falsche Variable übergeben.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
ping
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 09.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2014, 00:10     Titel:
  Antworten mit Zitat      
Vllt. war das schlecht beschrieben,
im Prinzip arbeite ich mit Matrizen. Diese sind jeweils in verschiedene Zellen gespeichert.

ich hab mich unglücklich ausgedrückt.

VG
ping
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.11.2014, 09:59     Titel:
  Antworten mit Zitat      
Hallo,

ich wohl auch @ unglücklich ausgedrückt. mat ist bei mir das Cell Array mit den Matrizen. Die ganzen Schleifen sollten unnötig sein.

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