2017-03-10 6 views
2

Wie kann man 'Gradienten' Funktion für Spalten einer Matrix verwenden? Zum Beispiel möchte ich für Spalten Gradient von Matrix c zu finden: ich unten Antwort erwarten:Gradient der Matrix in vertikaler Richtung in Matlab

B(i,j) = c(i+1,j)-c(i-1,j) %for i is not equal t 1 or last row of matrix c 
B(i,j) = c(i+1,j)-c(i,j) %for i is equal to 1 
B(i,j) = c(i,j)-c(i-1,j) %for i is equal to last row of matrix c 

I unten Code verwendet, aber die Antwort ist nicht das, was ich will.

c=[4,6,8,12;4,0,22,0;32,42,12,6;20,10,4,7] 
B = gradient(c')' 

Antwort

1

Die second output of gradient werden Sie mit der Steigung in Richtung y liefern

[~, ygrad] = gradient(c); 
+0

Ihre Antwort ganz korrekt wird, wenn Sie -ygrad statt ygrad setzen :) –