⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pca_svm_testx.m

📁 pca+svm源代码(matlab) matlab代码
💻 M
字号:
%本程序与 Tpca_svm_train一起使用
function main
clear all
disp('程序正在运行')

load traindata.mat;
global svm_classpara;
global Proaxis;
global MIXimage_mean;

load CBTR_mag.mat
[Sample_test]=subfunction1(mobandata);
load CBTR_fw.mat
fw=FW;
[BTR_result,BTR_percent]=subfunction2(Sample_test,fw)
clear fw;
clear Sample_test;

load CT72_132_mag.mat
[Sample_test]=subfunction1(mobandata);
load CT72_132_fw.mat
fw=FW;
[CT72_132_result,CT72_132_percent]=subfunction2(Sample_test,fw)
clear fw;
clear Sample_test;

% load CT72_812_mag.mat
% [Sample_test]=subfunction1(mobandata);
% load CT72_812_fw.mat
% fw=FW;
% [CT72_812_result,CT72_812_percent]=subfunction2(Sample_test,fw)
% clear fw;
% clear Sample_test;

% load CT72_s7_mag.mat
% [Sample_test]=subfunction1(mobandata);
% load CT72_s7_fw.mat
% fw=FW;
% [CT72_s7_result,CT72_s7_percent]=subfunction2(Sample_test,fw)
% clear fw;
% clear Sample_test;

load CBMP_c21_mag.mat
[Sample_test]=subfunction1(mobandata);
load CBMP_c21_fw.mat
fw=FW;
[CBMP_c21_result,CBMP_c21_percent]=subfunction2(Sample_test,fw)
clear fw;
clear Sample_test;

% load CBMP_9563_mag.mat
% [Sample_test]=subfunction1(mobandata);
% load CBMP_9563_fw.mat
% fw=FW;
% [CBMP_9563_result,CBMP_9563_percent]=subfunction2(Sample_test,fw)
% clear fw;
% clear Sample_test;
% 
% load CBMP_9566_mag.mat
% [Sample_test]=subfunction1(mobandata);
% load CBMP_9566_fw.mat
% fw=FW;
% [CBMP_9566_result,CBMP_9566_percent]=subfunction2(Sample_test,fw)
% clear fw;
% clear Sample_test;
% 
disp('分类完成')

%%%%%%%%%%%%%%%%%%%%%%%%subfunction 2 %%%%%%%%%%%%%%%%%%%%
function [result,percent]=subfunction2(Sample_test,fw)
global svm_classpara;
global Proaxis;
global MIXimage_mean;

n1=0;
n2=1;
Parameters=[2,1,0.75,1,10,35,0.001,0,0.3,0.3];%10月10日2点
d=1;   %多项式核函数阶数
for k=1:length(fw)
    for n=1:6              %%%%%%判断输入图象的方位
        if (fw(k)/60)>=n1&(fw(k)/60)<n2
            j=n2;
            break
        else
            n1=n1+1;
            n2=n2+1;
        end
    end
    fea=(Sample_test(k,:)-MIXimage_mean(j,:))*Proaxis{j};    %广逆矩阵 (1*2113-1*2113)*2113*83=1*83
    touying=fea';%83*1
    Alphay_hp=svm_classpara{j}{1};%1*175
    SVs_hp=svm_classpara{j}{2};%83*175
    Bias_hp=svm_classpara{j}{3};
    Para_hp=svm_classpara{j}{4};%1*11
    Ns_hp=svm_classpara{j}{5};%1*3
    
    [Labels,scores]=osuSVMClass(touying,Ns_hp,Alphay_hp, SVs_hp, Bias_hp, Parameters);
    
    Labels_hp(k)=Labels;
end

T72_num=size(find(Labels_hp==1));
BMP_num=size(find(Labels_hp==2));
BTR_num=size(find(Labels_hp==3));

result=[T72_num(2) BMP_num(2) BTR_num(2)];
percent=max(result)/sum(result);
   
    
%%%%%%%%%%%%%%%%%%%%%%     SUBFUNCTION 1       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%    This function is to realize fft of  chips %%%%%%%%%%%%%%%%%%%%
 function [chips]=subfunction1(mobandata)
     for k=1:length(mobandata)
          chp=log10(mobandata{k}(33:97,33:97)+1);%取出65*65
         fft_chip=fftshift(abs(fft2(chp)));
         fft_chip=fft_chip/max(max(fft_chip)); %幅度归一
         cut_chip1=fft_chip(1:65,33:65);%取出一半幅频信息
         X_chip1=reshape(cut_chip1,1,65*33);%形成列矢量
         chips(k,:)=X_chip1(33:65*33);%去掉一半直流  
     end  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -