Numerischer Fehler bei der Multiplikation von zwei 2 Vektoren in MATLAB

7

Ich habe diese 2 Vektoren:

%Vor%

Und wenn ich das tue:

%Vor%

Ich bekomme die Fehlermeldung:

%Vor%

Der interessante Teil ist, dass dieser Fehler nicht erscheint, wenn ich dieselben Vektoren in der Konsole definiere und die Multiplikation dort versuche.

alpha wird von mir definiert und f_uv wird von einigen Pixeln in einem PNG-Bild erhalten.

    
Red33mer 22.11.2008, 10:57
quelle

3 Antworten

16

Unter der Annahme, dass sie zu Beginn beide Ganzzahlmatrizen sind, darf f_uv' nicht sein.

Versuchen Sie:

%Vor%

und lassen Sie uns wissen, ob es noch auftritt.

Sie müssen eventuell alphaf_uv später in einen Integer-Typ zurückverwandeln, abhängig von Ihren Bedürfnissen.

    
paxdiablo 22.11.2008, 11:05
quelle
5

Der große Hinweis ist hier:

  

Alpha wird von mir definiert und f_uv wird von einigen Pixeln in einem PNG-Bild erhalten.

Dies bedeutet, dass die f_uv -Daten als uint8 eingehen. Der WHOS-Befehl wird überprüft. Wenn Sie dies in der Befehlszeile definieren, sind die Vektoren standardmäßig Double. Deshalb sehen Sie den Unterschied im Verhalten zwischen "identischen" Matrizen.

    
MatlabDoug 15.12.2008 20:51
quelle
0

Vielleicht ist f_uv ein Objekt mit "console value", das von einer .toString () -Methode zurückgegeben wird. In diesem Fall müssen Sie möglicherweise f_uv als (int) eingeben.

    
octavian 22.11.2008 11:09
quelle

Tags und Links