matlab数据矩阵单位化,MATLAB數據矩陣單位化,歸一化,標准化

原博客http://blog.csdn.net/yb536/article/details/41050181點擊打開鏈接

1.數據矩陣單位化

方法一:

%%矩陣的列向量單位化

%輸出矩陣Y為單位化矩陣

%方法即是矩陣中所有元素除以該元素所在列向量的二范數

clc;

clear;

X=[790 3977 849 1294 1927 1105 204 1329

768 5037 1135 1330 1925 1459 275 1487

942 2793 820 814 1617 942 155 976

916 2798 901 932 1599 910 182 1135

1006 2864 1052 1005 1618 839 196 1081];

%方法一

[m,n]=size(X);

for i=1:n

A(1,i)=norm(X(:,i));

end

A=repmat(A,m,1);

Y=X./A;輸出結果:

Y =

0.3974    0.4932    0.3959    0.5290    0.4941    0.4601    0.4422    0.4890

0.3863    0.6247    0.5292    0.5437    0.4936    0.6074    0.5961    0.5471

0.4738    0.3464    0.3823    0.3327    0.4146    0.3922    0.3360    0.3591

0.4608    0.3470    0.4201    0.3810    0.4100    0.3789    0.3945    0.4176

0.5060    0.3552    0.4905    0.4108    0.4149    0.3493    0.4249    0.3977

方法二:

%%矩陣的列向量單位化

%輸出矩陣Y為單位化矩陣

%方法即是矩陣中所有元素除以該元素所在列向量的二范數

clc;

clear;

X=[790 3977 849 1294 1927 1105 204 1329

768 5037 1135 1330 1925 1459 275 1487

942 2793 820 814 1617 942 155 976

916 2798 901 932 1599 910 182 1135

1006 2864 1052 1005 1618 839 196 1081];

%方法二

[m,n]=size(X);

a=0;

for j=1:n

for i=1:m

a=a+X(i,j)^2;

end

A(1,j)=sqrt(a);

a=0;

end

A=repmat(A,m,1);

Y=X./A輸出結果:

Y =

0.3974    0.4932    0.3959    0.5290    0.4941    0.4601    0.4422    0.4890

0.3863    0.6247    0.5292    0.5437    0.4936    0.6074    0.5961    0.5471

0.4738    0.3464    0.3823    0.3327    0.4146    0.3922    0.3360    0.3591

0.4608    0.3470    0.4201    0.3810    0.4100    0.3789    0.3945    0.4176

0.5060    0.3552    0.4905    0.4108    0.4149    0.3493    0.4249    0.3977

結果同上。

2.數據矩陣歸一化

歸一化,將不同樣本的同一維度的數據歸一化。

函數:mapminmax

默認規范范圍(-1,1)

若想將規范范圍划為(0,1),可編寫Y=mapminmax(A,0,1);

此函數規整行向量中最大最小值,如果運用此函數,則A矩陣每一行為一個維度,每一列是一個樣本。

%%矩陣數據歸一化

%歸一化作用是處理奇異樣本矩陣

%將矩陣數據規范與一個范圍之中,使不同維度具有可比性

clc;

clear;

X=[790 3977 849 1294 1927 1105 204 1329

768 5037 1135 1330 1925 1459 275 1487

942 2793 820 814 1617 942 155 976

916 2798 901 932 1599 910 182 1135

1006 2864 1052 1005 1618 839 196 1081];

Y=mapminmax(X,0,1);

輸出結果:

Y =

0.1553    1.0000    0.1710    0.2889    0.4567    0.2388         0    0.2982

0.1035    1.0000    0.1806    0.2215    0.3465    0.2486         0    0.2545

0.2983    1.0000    0.2521    0.2498    0.5542    0.2983         0    0.3112

0.2806    1.0000    0.2748    0.2867    0.5417    0.2783         0    0.3643

0.3036    1.0000    0.3208    0.3032    0.5330    0.2410         0    0.3317

規范范圍為(-1,1)

%%矩陣數據歸一化

%歸一化作用是處理奇異樣本矩陣

%將矩陣數據規范與一個范圍之中,使不同維度具有可比性

clc;

clear;

X=[790 3977 849 1294 1927 1105 204 1329

768 5037 1135 1330 1925 1459 275 1487

942 2793 820 814 1617 942 155 976

916 2798 901 932 1599 910 182 1135

1006 2864 1052 1005 1618 839 196 1081];

Y=mapminmax(X);

輸出結果:

Y =

-0.6894    1.0000   -0.6581   -0.4222   -0.0867   -0.5224   -1.0000   -0.4037

-0.7929    1.0000   -0.6388   -0.5569   -0.3070   -0.5027   -1.0000   -0.4910

-0.4033    1.0000   -0.4958   -0.5004    0.1084   -0.4033   -1.0000   -0.3776

-0.4388    1.0000   -0.4503   -0.4266    0.0833   -0.4434   -1.0000   -0.2714

-0.3928    1.0000   -0.3583   -0.3936    0.0660   -0.5180   -1.0000   -0.3366

3.數據矩陣標准化

標准化的數據均值為0,標准差為1

標准化函數zscore(x)

就是原數據減去均值,再除以標准差(無偏估計)

508466734dfebdace4b85485d056ba73.png

即Z=(x-mean(x))./std(x);

%%矩陣數據標准化

clc;

clear;

X=[790 3977 849 1294 1927 1105 204 1329

768 5037 1135 1330 1925 1459 275 1487

942 2793 820 814 1617 942 155 976

916 2798 901 932 1599 910 182 1135

1006 2864 1052 1005 1618 839 196 1081];

Y=zscore(X);輸出結果:

Y =

-0.9261    0.4840   -0.7522    0.9640    1.1002    0.2177    0.0358    0.6225

-1.1419    1.5457    1.3487    1.1224    1.0886    1.6449    1.6257    1.3944

0.5651   -0.7020   -0.9653   -1.1488   -0.6967   -0.4395   -1.0614   -1.1023

0.3100   -0.6969   -0.3702   -0.6294   -0.8011   -0.5685   -0.4568   -0.3254

1.1929   -0.6308    0.7390   -0.3081   -0.6909   -0.8547   -0.1433   -0.5892

也可以按照上面的公式:

%%矩陣數據標准化

clc;

clear;

X=[790 3977 849 1294 1927 1105 204 1329

768 5037 1135 1330 1925 1459 275 1487

942 2793 820 814 1617 942 155 976

916 2798 901 932 1599 910 182 1135

1006 2864 1052 1005 1618 839 196 1081];

Y=(X-repmat(mean(X),5,1))./repmat(std(X),5,1);輸出結果:

Y =

-0.9261    0.4840   -0.7522    0.9640    1.1002    0.2177    0.0358    0.6225

-1.1419    1.5457    1.3487    1.1224    1.0886    1.6449    1.6257    1.3944

0.5651   -0.7020   -0.9653   -1.1488   -0.6967   -0.4395   -1.0614   -1.1023

0.3100   -0.6969   -0.3702   -0.6294   -0.8011   -0.5685   -0.4568   -0.3254

1.1929   -0.6308    0.7390   -0.3081   -0.6909   -0.8547   -0.1433   -0.5892

和以上結果一致。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据矩阵是指将原始数据化为矩阵形式,方便进行数据处理和分析。在MATLAB中,有多种方法可以进行数据矩阵。 引用中提到的RegEM方法是一种用于处理不完整数据集的方法,其中包括估计平均值和协方差矩阵,以及对缺失值的归因。 引用中提到的方法一是通过将矩阵中的每个元素除以其所在列向量的二范数来实现矩阵的列向量单位。 引用中提到的mapminmax函数可以将数据矩阵归一到指定的范围内。该函数将每个维度的数据规范到指定的范围,使不同维度具有可比性。 因此,根据以上引用内容,可以得出MATLAB中进行数据矩阵的方法有:使用RegEM方法处理不完整数据集、使用方法一将矩阵的列向量单位、使用mapminmax函数进行归一处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [matlab矩阵标准代码-RegEM:正则期​​望最大算法(Matlab代码)](https://download.csdn.net/download/weixin_38669674/19021666)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [MATLAB数据矩阵单位,归一,标准](https://blog.csdn.net/qq_27245709/article/details/98589034)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值