2012-04-12 2 views
0

die mitersetzen 17 folgende</p> <p>Spalten 1 bis Gegeben Zellen inf Wert von 1

0.3108 0.7273  Inf 0.2878 -0.0947 0.1286 -0.3108 0.5634 0.2822 0.2362 -0.2628 0.0960 -0.1675 -0.0934 -0.1710 -0.3077 -0.2726 

Columns 18 through 20 

    -0.0630 -0.5097 0.1823 

Wie durch inf Werte zu ersetzen 1. Ich weiß, wie es zu tun mit einer Schleife aber gibt es eine Weg, es ohne zu tun?

Was ist, wenn Sie es unter einem anderen Namen speichern möchten? Daten bleiben gleich Daten1 = Daten außer Inf wird durch 1 ersetzt?

Antwort

6

Verwenden isinf erkennen Inf, und verwenden Sie die Ausgabe als logical index in Ihrem Array:

data(isinf(data)) = 1; 
+0

Dank @Richante. Was, wenn Sie es unter einem anderen Namen speichern möchten? Daten bleiben gleich Daten1 = Daten außer Inf wird durch 1 ersetzt? – pac

+1

'new_data = Daten; neue_Daten (isinf (neue_Daten)) = 1; ' – Richante