我環顧四周,但我能找到的是如何使用diff(d)
找到矩陣的導數,其中d
是矩陣。這並不能爲我提供矢量,只是一堆標量。我不確定該怎麼做。如何計算在R中繪製矢量場的矩陣的梯度?
我想找到一種方法來計算矩陣表示的整個表面上的幾個點的梯度。該漸變可以顯示爲矢量場。有關於在R中創建矢量場的question here,但我不知道如何計算梯度。
編輯:我會盡力詳細說明我在找什麼。比方說,我有這樣一個矩陣:
現在,我想很簡單::在x的一定的時間間隔和
X0 X1.5 X3.1 X4.3 X5.9 X7.3 X8.6 X9.8 X11 X12.3 X13.6 X14.9 X16.4 X17.9 X20
[1,] 0 1.4 3.0 4.5 6.0 7.3 8.6 9.7 10.9 12.2 13.4 14.9 16.4 18.1 20
[2,] 0 1.6 3.2 4.9 6.4 7.6 8.7 9.6 10.6 11.8 13.2 14.7 16.4 18.1 20
[3,] 0 1.7 3.5 5.2 7.0 8.3 9.0 9.4 9.9 11.1 12.7 14.6 16.3 18.2 20
[4,] 0 1.8 3.7 5.8 8.0 9.3 9.3 9.3 9.4 10.2 12.1 14.1 16.2 18.0 20
[5,] 0 1.7 3.9 6.0 8.8 9.3 9.3 9.4 9.6 9.9 11.8 14.0 16.2 18.1 20
[6,] 0 1.8 3.8 5.7 8.1 9.3 9.3 9.4 9.6 10.1 12.3 14.4 16.3 18.0 20
[7,] 0 1.6 3.5 5.2 7.0 8.4 9.1 9.5 10.1 11.3 13.0 14.6 16.4 18.2 20
[8,] 0 1.5 3.2 4.9 6.4 7.7 8.7 9.7 10.7 11.9 13.3 14.9 16.5 18.3 20
[9,] 0 1.5 3.1 4.6 6.0 7.4 8.6 9.7 10.9 12.1 13.5 15.1 16.6 18.3 20
[10,] 0 1.5 3.0 4.6 6.0 7.3 8.5 9.7 10.9 12.4 13.6 13.1 16.6 18.2 20
當您繪製它,它看起來是這樣的Ÿ,我希望能夠找到表面的斜度。因此,例如,從x = 0開始,y = 0,我希望能夠以稍後可以使用的矢量形式查找斜率。然後,找出x = 0,y = 1處的斜率,以此類推y的所有值。然後找出x = 1的所有y值,依此類推。
這樣做的目的是爲了在矢量字段like this中繪製一組向量。
這可以在R中完成嗎?
你可以更具體一點/給一個可重複的例子?你想僅在網格點計算梯度,還是希望能夠計算任意點的梯度?線性插值(假設分段線性)?你想對邊界條件做什麼假設? – 2014-09-06 21:10:05
@BenBolker我在我的問題上擴大了一些。 – Hassan 2014-09-06 22:25:49
也許你想''raster'包中'terrain'函數的'slope'和'aspect'功能? 「斜率」爲您提供了方向的大小和「方面」。 – Spacedman 2014-09-06 22:30:09