Forum: PC-Programmierung [matlab] Probleme mit arraysuche


von ibo (Gast)


Lesenswert?

Hallo,

ich berechne die mittelwerte einiger werte un schaue in einer matrix 
nach wo in der erten zeile dieser wert steht und lese in der zweiten 
zeile den dazugehörigen wert ab. jedoch bekomme ich als index ein "empty 
1x0 double", wieso???
1
for i=1:n
2
    
3
        durchschnitte.wert(1,i) = mean(test(2,(z*teiler+1:i*teiler)));
4
        durchschnitte.dauer(1,i) = test(1,round(i*teiler)) - test(1,round(z*teiler+1));
5
        z=z+1;
6
       
7
        
8
        if abs(durchschnitte.wert(1,i))> fuse_ok
9
            strom_faktor = -durchschnitte.wert(1,i)/sicherung;
10
            stromfaktor = strom_faktor*1;
11
            index=find(table_fuse(1,:)==stromfaktor);
12
            zulaessige_stromdauer = table_fuse(2,index);
13
        end
14
end


--

Betreff um "matlab" ergänzt.

-rufus

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Was ist das für eine Programmiersprache?

von ibo (Gast)


Lesenswert?

matlab sorry habs vergessen :D

von Justus S. (jussa)


Lesenswert?

ibo schrieb:
> jedoch bekomme ich als index ein "empty
> 1x0 double", wieso???

weil nix passendes gefunden wird...steht doch auch in der Hilfe zum 
find-Befehl:
1
Example 7
2
3
If X is a vector of all zeros, find(X) returns an empty matrix. For example,
4
5
indices = find([0;0;0])
6
indices =
7
   Empty matrix: 0-by-1

von ibo (Gast)


Lesenswert?

das kann aber nicht sein, da steht zB im ersten durchlauf eine 1.307 
drin als 1x1 double und findet nix... wenn ich das jedoch händisch mache 
also find(....==1.307) dann gibt es mir den index zurück... ich versteh 
es nicht

von Justus S. (jussa)


Lesenswert?

Vergleiche mit == sind bei double/float in keiner Programmiersprache 
eine gute Idee...dein stromfaktor ist ziemlich sicher nicht genau 1.307 
sondern 1.307irgendwas...

von ibo (Gast)


Lesenswert?

danke :D:D:D:D:D:D:D:D es war meine allererste Vermutung aberbin dem 
nicht nachgegangen :D oh man

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.