2016-06-29 20 views
0

Ich habe mir ähnliche Fragen angeschaut, aber keine davon trifft direkt auf meine Situation zu.Daten aus Zellenfeld extrahieren

Es ist ein ziemlich einfaches Szenario.

Ich verwende Parameterdateien und während eines kleinen 2x1-Array von der pf-Datei zu extrahieren, ich bin links mit

var_1 = 

[-180] 
[-120] 

Ich möchte in die Lage, den Inhalt von var_1 wie eine Matrix zu behandeln, aber die Klammern erlauben mir das nicht. Zum Beispiel gibt sum (var_1) einen Fehler zurück.

Wie kann ich es so machen, dass var_1 wird eine Matrix?

Vielen Dank,

Gauss

+0

Verwenden Sie einfach 'cell2mat' es zu einem brotha Matrix – Suever

Antwort

0

Im Fall von Zellen-Arrays sie mit curl Klammern indiziert '{' und '}'. In Ihrem Fall:

-180 ist var_1 {1} und -120 ist var_1 {2}.

Da Sie Matrizen durch Verketten von Variablen mit den eckigen Klammern '' und '' erzeugen können. Daher können Sie die Matrix var_1 wie folgt erstellen:

var_1=[var_1{1},var_1{2}]; 

Jetzt ist var_1 eine Matrix.

sum(var_1) 

Summe (var_1) wird jetzt zu -300;

Wenn die Größe des Zellenarrays, das Sie dann können Sie für Schleifen verwenden Ändern extrahieren oder

var_1=[var_1{1:end}]; 

das gleiche Ergebnis zu erzielen.

+0

Dank zu konvertieren! Wirklich geholfen eine Tonne. – NeilnGauss

+0

Leider funktioniert Ihre zweite Lösung nicht. (die eine, die für Schleifen) – NeilnGauss

+0

@NeilnGauss könnten Sie erarbeiten? Ich schlug vor, entweder for-Schleifen ODER var_1 = [var_1 {1: end}] –

0

Zwei mögliche Lösungen:

sum(cell2mat(var_1)) 

Oder einfach:

sum([var_1{:}])