matlab中怎樣將1 10304的矩陣進行降維,也就是將10304變小

2021-03-27 11:16:29 字數 3886 閱讀 3094

1樓:匿名使用者

用squeeze命令即可

設a為待降維矩陣,b為降維輸出矩陣

b=squeeze(a);

現有矩陣降維常用方法

2樓:匿名使用者

來降維方法分為線性核非線

源性降維,非線性降維又分為基於核函式和基於特徵值的方法。

線性降維方法:pca  ica lda  lfa  lpp(le的線性表示)

於核函式的非線性降維方法:kpca  kica  kda

基於特徵值的非線性降維方法(流型學習):isomap  lle  le  lpp  ltsa  mvu

lle(locally linear embedding)演算法(區域性線性嵌入):

每一個資料點都可以由其近鄰點的線性加權組合構造得到。

演算法的主要步驟分為三步:

(1)尋找每個樣本點的k個近鄰點(k是一個預先給定的值);

(2)由每個樣本點的近鄰點計算出該樣本點的區域性重建權值矩陣;

(3)由該樣本點的區域性重建權值矩陣和其近鄰點計算出該樣本點的輸出值,定義一個誤差函式。

3樓:匿名使用者

給個地址你,絕對滿意你。我也是在學圖內像這一塊

請教如何用pcacov對矩陣進行降維處理

4樓:匿名使用者

pcacov函式的輸入引數是資料的協方差矩陣,是個方陣;

2、計算出矩陣對應的協方差矩陣,然後呼叫pcacov函式;

3、程式裡面的特徵值是按從大到小的順序排列的,根據索引,也可以找到對應的特徵向量。

matlab 中a是一個194*196*4維的矩陣,請問如何處理使其變為4*196*194的矩陣

5樓:匿名使用者

for i=1:4

b(i,:,:)=a(:,:,i)end

6樓:匿名使用者

你好用reshape命令可以辦到,命令:reshape(a,4,194,194)

matlab中如何實現偏最小二乘法

7樓:匿名使用者

fz=@(z,x) z(1)*x.^2+z(2)*x+z(3),...

'z','x';

[z,resnorm,residual,exitflag,output] = lsqcurvefit(fz,z0,x,y,,,options)

z0為係數抄矩陣

初值襲一般評價最小二乘非線性擬合不是用相關性係數,而是用residual,殘差或殘差平方和

再有一種是用nonfit,很簡單的一種非線性迴歸,不用寫函式格式

我沒有看清楚,不好意思,所謂偏最小二乘法,就是指在做基於最小二乘法的線性迴歸分析之前,對資料集進行主成分分析降維,將最後得到的主成分作為輸入的x,你可以看一下prin***p這個函式是進行主成分分析的

8樓:shine戚七七

%matlab程式

clc;clear

y=[ 0.1 0.5 0.7

0.2 0.6 0.4

0.3 0.7 0.5

0.4 0.6 0.3

0.5 0.8 0.2

0.6 0.3 0.5

0.4 0.7 0.6

0.3 0.5 0.7];

x=[0.2876 0.6173 0.

9647 1.1936 1.0636 0.

7332 0.5441 0.6247 0.

7421 0.7052

0.2653 0.5167 0.

8403 1.0435 1.008 0.

7396 0.5344 0.5675 0.

6312 0.5368

0.3833 0.7089 1.

0544 1.2805 1.2524 0.

8886 0.6596 0.6815 0.

75 0.6671

0.3957 0.6853 0.

9204 1.0648 1.0486 0.

7999 0.5579 0.5381 0.

5698 0.469

0.472 0.7413 1.

0124 1.2202 1.2297 0.

9699 0.6646 0.635 0.

6254 0.4978

0.6268 0.9851 1.

1633 1.1629 1.0128 0.

7123 0.5161 0.482 0.

5194 0.4909

0.4921 0.8723 1.

2407 1.4583 1.3631 1.

0073 0.7341 0.7032 0.

8171 0.7228

0.4308 0.8232 1.

146 1.309 1.1767 0.

8207 0.5852 0.6604 0.

7677 0.7237];

x0=[0.4089 0.6996 0.

8712 1.0159 0.9638 0.

7115 0.5112 0.4722 0.

5059 0.4343];

[xl,yl,xs,ys,beta,pctvar,mse] = plsregress(x,y);

ytest = [ones(size(x,1),1) x]*beta;

residuals = y-ytest

yfit=[ones(size(x,1)+1,1) [x;x0]]*beta

abc=yfit(9,1:3)

求大神給這段**寫上詳細註釋,matlab的,有問題可以追問,萬分感謝!!

9樓:我行我素

你程式中的train_dat資料呢,能發過來用一下嗎?程式最後第二個for迴圈少一個end.

我除錯後,再註釋發給你。

matlab人臉檢測步驟

10樓:匿名使用者

灰度化處理後,剪下出臉部部分,就是額頭到下巴,左耳到右耳的部分,然後選擇合適的演算法進行檢測,用模板匹配或者神經網路等,結論是演算法在小範圍內得到識別結果和識別率。

matlab中如何將圖線加粗

如果是離散的點,可以用 plot x,y,bo markersize 10 maxima said for example plot x,y,linewidth 3 matlab通過程式語言控制繪圖對圖形屬性修改的一些基本常識 h plot a,b,k o markersize 7,marke ce...

MATLAB中如何將匯入資料中的字母轉化為數字

可以使用fscanf或者sscanf的方式讀取,思路為 定義cell矩陣,先全部以字元的方式讀入,再將其中的數字轉換為資料格式。如下 m 8 n 3 data cell m,n 定義cell矩陣,儲存檔案內容fid fopen test.txt r 以只讀方式開啟檔案 for i 1 m for j...

怎樣用matlab將影象轉化為矩陣

2 影象imread後,a已經是矩陣了 彩色的3維,灰度2維 3 matlab運算元據以矩陣為基礎,也就是計算都是矩陣啦。matlab的作用 讀入彩色圖的時候,是一個二維矩陣,矩陣中每個元素有rgb三個值 讀灰度圖時,讀入的就是一個二維矩陣,元素值是灰度值i imread a.jpg 讀入 i2 r...