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

Zeile aus array löschen Embedded matlab function

 

fekal
Forum-Century

Forum-Century



Beiträge: 124
Anmeldedatum: 08.02.11
Wohnort: Mainz
Version: 2017b
     Beitrag Verfasst am: 08.08.2011, 15:32     Titel: Zeile aus array löschen Embedded matlab function
  Antworten mit Zitat      
Hallo bestes Forum,

ich versuche eine Zeile aus einem Array zu löschen
mit üblichem
Code:
Fuellung(C,:)=[];

Da es sich aber um eine embedded matlabfunction handelt wird das nicht akzeptiert.
Fehlermeldung: "Removing elements from a matrix is not supported."
ich hab´s schon mit
Code:
eml.extrinsic('[]');
versucht, aber das gilt ja eigentlich nur für Funktionen. Hat also auch nicht funktioniert.

Wenn einer von euch noch eine Idee hätte wäre ich glücklich.

Beste Grüße Jan

Zuletzt bearbeitet von fekal am 08.08.2011, 16:53, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen


BlackDread
Forum-Century

Forum-Century


Beiträge: 212
Anmeldedatum: 11.05.11
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 08.08.2011, 15:50     Titel:
  Antworten mit Zitat      
Hallo fekal,

was steht denn noch so da außen rum? Weil wenn Fuellung und C
wie in meinem Codesnipe aussehen, sollte das schon funktionieren.

Code:
Fuellung = [ 1 1 1; 2 2 2; 3 3 3];
C = 1;
Fuellung(C,:)=[]


Grüßle Chris
Private Nachricht senden Benutzer-Profile anzeigen
 
fekal
Themenstarter

Forum-Century

Forum-Century



Beiträge: 124
Anmeldedatum: 08.02.11
Wohnort: Mainz
Version: 2017b
     Beitrag Verfasst am: 08.08.2011, 16:04     Titel:
  Antworten mit Zitat      
Hallo BlackDread,

genau Füllung ist einfach ein 2-D Array mit beliebigen Werten daherinn.
Es gibt jedoch auch leere Zeile,die ich löschen möchte.
über any suche ich diese.
Code:
C=any(Fuellung,2);

Dannach wird direkt mit
Code:
Fuellung(C,:)=[]

gelöscht.

Wird [] doch von der Embedded Matlabfunction unterstützt? und ich habe sie nur falsch angewendet ?

Vielen Dank für deine Antwort
Private Nachricht senden Benutzer-Profile anzeigen
 
BlackDread
Forum-Century

Forum-Century


Beiträge: 212
Anmeldedatum: 11.05.11
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 08.08.2011, 16:30     Titel:
  Antworten mit Zitat      
Was bedeutet leer? leer = 0? NaN?
doc any: "Determine whether any array elements are nonzero"
die Zeilen die du löschst sind also eher nicht leer Wink nehm ich mal an.
Wenn leer = 0 dann schreib:

Code:

Fuellung = [ 0 0 0 0 ; 2 2 2 2; 3 3 3 3];
leer = ~any(Fuellung,2)
Fuellung(leer,:)=[]
 


dazu müssen aber alle Elemente in der Zeile 0 sein.

Grüßle Chris
Private Nachricht senden Benutzer-Profile anzeigen
 
fekal
Themenstarter

Forum-Century

Forum-Century



Beiträge: 124
Anmeldedatum: 08.02.11
Wohnort: Mainz
Version: 2017b
     Beitrag Verfasst am: 08.08.2011, 16:52     Titel:
  Antworten mit Zitat      
da hast du natürlich recht Very Happy leer ist falsch. Die sind teilweise randvoll mit Nullen.

mmmm Leider funktioniert es immer noch nicht. Schade.

Ich hoffe, ich nerve nicht, aber hast du das im "basic" matlab gemacht, oder in Embedded matlab unter Simulink. Ich glaube, das dieser Befehl von Embedded matlab nicht unterstützt wird.
Aber trotzdem Tausend Dank ich schau nochmal drüber, vielleicht ist es ja einer dieser bekannten Dummheitsfehler

Gruß fekal

Vorläufig hab ich das Problem umgangen, indem ich einfach die gewünschten Array zeilen in ein neues Array geschrieben habe. Ist halt nicht ganz so elegant
Code:
C=any(Fuellung,2); %hier wird gefragt, welche Zeilen nicht mit Nullen gefüllt sind
Fuellung2=Fuellung(C,:); %Umschreiben
Private Nachricht senden Benutzer-Profile anzeigen
 
BlackDread
Forum-Century

Forum-Century


Beiträge: 212
Anmeldedatum: 11.05.11
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 08.08.2011, 19:52     Titel:
  Antworten mit Zitat      
Tut mir leid, hab das "embedded" übersehen... mit embedded hatte ich auch schon meine Problemchen...Da weiß ich im Moment auch nicht weiter, werd aber nochmal schauen, vielleicht weiß ja Jan, Andi oder ein anderer Profi weiter Very Happy

Grüßle Chris
Private Nachricht senden Benutzer-Profile anzeigen
 
fekal
Themenstarter

Forum-Century

Forum-Century



Beiträge: 124
Anmeldedatum: 08.02.11
Wohnort: Mainz
Version: 2017b
     Beitrag Verfasst am: 09.08.2011, 14:09     Titel:
  Antworten mit Zitat      
trotzdem vielen Dank für deine Mühe.

Frohes programmieren noch Very Happy
Gruß Fekal
Private Nachricht senden Benutzer-Profile anzeigen
 
Embedded_Mario

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.07.2012, 16:02     Titel: Gibt es mittlerweile eine Lösung?
  Antworten mit Zitat      
Habe die gleiche Problematik... hast du mittlerweile eine Lösung gefunden?



Viele Grüße, Mario
 
fekal
Themenstarter

Forum-Century

Forum-Century



Beiträge: 124
Anmeldedatum: 08.02.11
Wohnort: Mainz
Version: 2017b
     Beitrag Verfasst am: 04.02.2013, 12:40     Titel:
  Antworten mit Zitat      
Hallo Mario,

tut mir leid. Ich weiß auch nicht mehr wie ich das hingebogen hab. Ich glaube, ich hab schlussendlich alle "vollen" Zeilen in eine neue Variable geschrieben. Ist ja jetzt schon etwas her und mein löchriges Hirn hat das Trauma "embedded Matlab" verdrängt Wink .

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