matlab如何实现降维,matlab怎么把矩阵降维
1. matlab如何對(duì)一個(gè)矩陣 求導(dǎo)而且不降維
gradient
計(jì)算數(shù)值梯度。
函數(shù)F(x,y,。)在(x0,y0,。)的梯度就是函數(shù)在該點(diǎn)的導(dǎo)數(shù),通常在數(shù)學(xué)上記作▽F(x0,y0,。)或gradF(x0,y0,。)。
梯度是一個(gè)向量, 它的方向是函數(shù)在一點(diǎn)變化率最快的方向,而它的模就是函數(shù)沿這個(gè)方向的變化率。
在MATLAB中利用gradient計(jì)算梯度,將得到若干向量,它們指出了F的值增大的方向。
語(yǔ)法格式:
FX = gradient(F)
其中F是一個(gè)向量。該格式返回F的一維數(shù)值梯度。FX即?F/?x,即沿著x軸(水平軸)方向的導(dǎo)數(shù)。
[FX,FY] = gradient(F)
其中F是一個(gè)矩陣。該調(diào)用返回二維數(shù)值梯度的x、y部分。FX對(duì)應(yīng)?F/?x, FY對(duì)應(yīng)于?F/?y。
[FX,FY,FZ,。] = gradient(F)
這里,F是一個(gè)含有N個(gè)自變量的多元函數(shù)。
[。] = gradient(F,h)
這里的h指定了沿著梯度的方向取點(diǎn)的間隔。
[。] = gradient(F,h1,h2,。)
以x,y方向分別為間隔0.2求取矩陣Z的數(shù)值梯度,dZ/dx和dZ/dy分別返回到DX,DY中。
2. Matlab 二維數(shù)組Z字形降維操作
假設(shè) data 是8*8數(shù)據(jù)矩陣
order = [
0 1 5 6 14 15 27 28
2 4 7 13 16 26 29 42
3 8 12 17 25 30 41 43
9 11 18 24 31 40 44 53
10 19 23 32 39 45 52 54
20 22 33 38 46 51 55 60
21 34 37 47 50 56 59 61
35 36 48 49 57 58 62 63
]
當(dāng)然也可以把 order就建成一個(gè)向量, 這樣下面就不用reshape它了
result = sortrows( [reshape(data, [], 1) reshape(order, [], 1)], 2);
結(jié)果取 result(:, 1) 是個(gè)列向量
總結(jié)
以上是生活随笔為你收集整理的matlab如何实现降维,matlab怎么把矩阵降维的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 决策算法python_GitHub -
- 下一篇: 数字填图问题matlab上机实验报告,数