Ich habe Probleme beim Schreiben eines MATLAB-Codes, der den Maximalwert jeder Zelle meines Einzellenarrays vel_data
, einer 1x430
Zelle, die mehrere Excel-Tabellen enthält, finden muss Daten bestehend aus M
Zeilen x 1
Spalte. Ich möchte den Maximalwert sowie jeden Wert vor und nach diesem Maximalwert extrahieren, bis die erste 0
in einem neuen Zellenfeld erreicht ist.Suchen mehrerer Nullwerte in einem großen Zellenfeld in MATLAB
z.B. Wenn die erste Zelle im Array [3 2 1 0 2 6 4 3 0 1 0]
wäre, würde sie die Werte [0 2 6 4 3 0]
extrahieren und dies für jede Zelle im Array tun.
Ich weiß, dass die folgenden Extrakte die maximalen Werte des Zellenarrays, aber ich möchte dafür wie ich oben erwähnt tun.
d=dir(f);
for n=1:numel(d)
max_vel{n} = deal(max(vel_data{n}));
end
Jede Beratung/Beispielcode würde sehr geschätzt werden.
Ich denke, ich verstehe, was Sie sagen. Um die letzte Nullstelle und die erste Nullstelle nach dem Extrahieren eines Maximalwerts zu finden, indexierten Sie zuerst den Maximalwert, extrahierten dann alle Nullstellen in der Zelle, die 0 enthielt, und extrahierten dann die beiden Werte mit f2, f3. – Shin
Das Problem ist, dass ich denke, dass diese Methode den Maximalwert des gesamten Zellenarrays extrahiert, während ich dies brauche, um das Maximum jeder Zelle im Array zu extrahieren. Darüber hinaus ergab mein erster Versuch, diesen Code auszuführen: Fehler beim Verwenden von horzcat; Dimensionen von verketteten Matrizen sind nicht konsistent mit der Zeile max_vel {n}. – Shin
Können Sie mehr über die Daten erklären? Es ist sehr nützlich, wenn Sie ein einfaches Beispiel mit reduzierter Größe und die erwartete Ausgabe bereitstellen. – rahnema1