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

Bad cell reference operation.

 

Stud
Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 12.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.04.2010, 16:49     Titel: Bad cell reference operation.
  Antworten mit Zitat      
Hallo,

ich habe folg. Code:

j = 1:6;
if any(CZ{:,6}(j)==0)
n =sum(CZ{:,6}(j)~=0);
disp(n);
CZ{:,7}=n;
end;


und bekomme folg. Fehler:
??? Bad cell reference operation.

Kann mir jemand bitte sagen, wie ich den Fehler beheben kann?

Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen


Vito
Forum-Guru

Forum-Guru


Beiträge: 315
Anmeldedatum: 02.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 01.05.2010, 17:33     Titel:
  Antworten mit Zitat      
Hallo,

hier ein Vorschlag:
Code:

for j = 1:1:6
for k = 1:1:(zeilenlaenge oder spaltenanzahl) % das muss du wissen was zu untersuchen ist.
if(CZ{j,6}(k)==0);
n =sum(CZ{:,6}(k)~=0);
disp(n);
CZ{:,7}=n;
end
end
end
 


Ich kann dir das mit den "Bad ..." nicht erläutern, aber bei der Lösung deines Problems Wink. Vielleicht kann das einer der Profis Very Happy

Gruß,
Vito
Private Nachricht senden Benutzer-Profile anzeigen
 
Stud
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 12.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.05.2010, 17:48     Titel:
  Antworten mit Zitat      
Hallo und vielen Dank für die Antwort Smile

ich habe das Problem wie folgt gelöst:

for i=1:216; %Anzahl Datensätze
j = 1:6;% Anzahl Zahlen in dem Vektor
try
if any(CZ{i,6}(j)==0)%sucht die Stellen aus dem Vektor, die gleich Null sind
n = sum(CZ{i,6}(j)~=0);%summiert die Anzahl Zahlen ungleich null und speichert sie in n
CZ{i,7}=n*CZ{i,6}(j);
end;

catch exception
%disp('Vektor ist leer')
%disp (exception)
end;
end;

Der Fehler kam anscheinend, weil einige Vektoren leer waren. Das mus nur sein, weil wenn ich manuell den Code getestet habe, lief alles bestens bis den Stellen mit leeren Vektoren.

Danke Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Vito
Forum-Guru

Forum-Guru


Beiträge: 315
Anmeldedatum: 02.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 01.05.2010, 18:02     Titel:
  Antworten mit Zitat      
Hallo,

freut mich das dein Problem gelöst wurden ist Very Happy, wenn du die leeren Stellen aus deinem Vektor oder Matrix entfernen willst, dann muss du folgendes eingeben:
Code:

C; %  CellArray
ind1 = find(cellfun('isempty', C));
C(ind1)=[];
 


Gruß,
Vito
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.