Ich habe eine N-mal-M-Matrix als Eingabe namens GR, die aus den folgenden Zahlen besteht: -3,0,2,4,7,10,12 Und ich habe einen Vektor zurückgeben. Wenn M = 1 ist, sollte es nur die Eingabe zurückgeben.Elemente aus einer Matrix löschen und Mittelwert berechnen
Wenn M> 1 Es sollte die niedrigste Zahl aus der Matrix entfernen und dann den Mittelwert der verbleibenden Zahlen berechnen. Wenn jedoch eine der Zahlen in der Zeile -3 ist, sollte der Wert -3 in der Ausgabe zurückgegeben werden.
Meine Gedanken des Problems:
Ist es möglich, eine for-Schleife zu machen?
for i=1:length(GR(:,1)) If length(GR(1,:))==1 GR=GR end If length(GR(1,:))>1 x=min(GR(i,:))=[] % for removing the lowest number in the row GR=sum(x)/length(x(i,:))
ich habe einfach keine Ahnung, wie zu erkennen, wenn eine der Zahlen in der Reihe ist -3 und dann diesen Wert zurück, anstatt den Mittelwert zu berechnen und wenn ich die niedrigsten zu löschen versucht, Nummer in der Matrix mit x = min (GR (i, :)) Matlab gab mir diese Fehlermassage "Löschung erfordert eine vorhandene Variable."
Können Sie vielleicht einen Teil des Codes erklären ich Hilfe Kommando des Matlab verwendet haben, aber ich bin mir nicht ganz sicher, was idxs3, minCol und minInd – Ryan
tut i Kommentare hinzugefügt jede Zeile zu erklären. Sag mir, ob es immer noch nicht klar genug ist. – user2999345