求解这段指令的意思,越详细越好,谢谢啦

function [Kp,T2]=KPCA(ax,ay)

[Nx]=size(ax);

mean_X =mean(ax);

axb=ax;

std_X=std(ax);

ax=ax-mean_X(ones(Nx,1),:);

std_X(find(std_X==0))=1;%数据预处理

ax=ax./std_X(ones(Nx,1),:);

c=10000;

% gama=0.05;

% ni=1;

% F1=ax(1,:);

% F=F1';

% for ib=2:Nx

% for i=1:ni

% for j=1:ni

%

% batar1(ib).block(i,j)=exp(-norm(ax(i,:)-ax(j,:))^2/c);

% end

% batar2(i,1)=exp(-norm(ax(i,:)-ax(ib,:))^2/c);

% batar3(1,i)=exp(-norm(ax(ib,:)-ax(i,:))^2/c);

% end

% s1=exp(-norm(ax(ib,:)-ax(ib,:))^2/c);

% batar= batar3(1,i)*inv(batar1(ib).block)* batar2(i,1);

% s=(s1- batar)/s1;

% if s>sqrt(gama)

% ni=ni+1;

% F=[F ax(ib,:)'];

% end

%

%

% end

% AX=F'%训练集基的提取结束

[N]=size(ax,1);

for i=1:N

for j=1:N

K(i,j)=exp(-norm(ax(i,:)-ax(j,:))^2/c);%求核矩阵

end

end

n1=ones(N,N);

N1=1/N*n1;

Kp=K-N1*K-K*N1+N1*K*N1;

[u,s,v]=svd(Kp);

lamda=s*(1/(N-1));

P=v;

lamda=diag(lamda);

B=length(find(lamda>1e-10)); %求非零的特征值个数

%求主元个数

npc=1;

while sum(lamda(1:npc))/sum(lamda(1:B))<0.9

npc=npc+1;

end

%求特征空间有效维数

DimFS=1;

while sum(lamda(1:DimFS))/sum(lamda(1:B))<=0.99

DimFS=DimFS+1;

end

lamda=diag(lamda);

for i=1:B

% P(:,i)=P(:,i)/norm(P(:,i)*s(i,i));

% P(:,i)=P(:,i)/(norm(P(:,i))*sqrt(N*lamda(i,i)));

P(:,i)=P(:,i)/(sqrt((N-1)*lamda(i,i)));

end

[Ny]=size(ay,1);

mean_X =mean(axb);

std_X = std(axb);

[num_sample] = Ny;

ay = ay-mean_X(ones(num_sample,1),:);

ay = ay./std_X(ones(num_sample,1),:);

% mean_y = mean(ay);

% std_y=std(ay);

% ay = ay-mean_y(ones(Ny,1),:);

% std_y(find(std_y==0))=1;%数据处理

% ay = ay./std_y(ones(Ny,1),:);

for i=1:Ny

for j=1:N

Ky(i,j)=exp(-norm(ay(i,:)-ax(j,:))^2/c);

end

end

t1=ones(1,N);

t11=1/N*t1;

for i=1:Ny

kp1(i,:)= Ky(i,:)-t11*K- Ky(i,:)*N1+t11*K*N1;

end

for i=1:Ny

for k=1:B

t(i,k)=P(:,k)'*kp1(i,:)';

end

end

% 求T2,SPE

% covtyb=inv(t'*t);

for i=1:Ny

T2(i)=t(i,1:npc)*inv(lamda(1:npc,1:npc))*t(i,1:npc)'; %也可以

% SPE(i)=t(i,1:npc)*t(i,1:npc)';

% T2(1,i)=t(i,1:npc)*(covtyb(1:npc,1:npc))*t(i,1:npc)';

% SPE(i)=t(i,(npc+1):B)*t(i,(npc+1):B)';

SPE(i)=1-(2/N)*ones(N,1)'*Ky(i,:)'+(1/(N^2))*ones(N,1)'*K*ones(N,1)-t(i,1:npc)*t(i,1:npc)';

end

%T2,SPE控制线

t2cl=npc*(N-1)*(N+1)*icdf('f',0.99,npc,N-npc)/(N*(N-npc));

for i=1:3

theta(i)=trace((lamda(npc+1:DimFS,npc+1:DimFS))^i);

end

h0=1-2*theta(1)*theta(3)/(3*theta(2)^2);

ca=icdf('norm',0.99,0,1);

s_cl=theta(1)*(ca*sqrt(2*theta(2)*h0^2)/theta(1)+1+theta(2)*h0*(h0-1)/theta(1)^2)^(1/h0)*4;

for i=1:Ny

t2cl1(i)=t2cl;

end

for i=1:Ny

s_cl1(i)=s_cl;

end

figure

plot(1:Ny,T2(1:Ny),'k');

hold on;

plot(1:Ny,t2cl1(1:Ny),'r');

title('T2');

hold off;

figure

plot(1:Ny,SPE(1:Ny),'k')

hold on;

plot(1:Ny, s_cl1(1:Ny),'r');

title('SPE');

hold off;

matlab各个指令的含义,[MATLAB基础] 求解这段指令的意思,越详细越好,谢谢啦相关推荐

  1. matlab各个指令的含义,matlab的常用指令及其含义

    . . . . . . . . matlab的常用指令及其含义 最佳答案matlab常用命令速查 sizeabs 绝对值.模.字符的ASCII码值acos 反余弦 acosh 反双曲余弦 acot 反 ...

  2. matlab曲线拟合sse等含义,Matlab曲线拟合SSE等含义

    Matlab曲线拟合SSE等含义 使用过Matlab的拟合.优化和统计等工具箱的网友,会经常遇到下面几个名词: SSE(和方差.误差平方和):The sum of squares due to err ...

  3. docker from指令的含义_Docker中Dockerfile多From 指令存在的意义

    Docker 17.05版本以后,新增了Dockerfile多阶段构建.所谓多阶段构建,实际上是允许一个Dockerfile 中出现多个 FROM 指令.这样做有什么意义呢? 老版本Docker中为什 ...

  4. java array arraylist_java 基础 array arraylist..越详细越好。

    展开全部 java.util 类 ArrayList java.lang.Object java.util.AbstractCollection java.util.AbstractList java ...

  5. MATLAB说文本命令超过,MATLAB基础

    可以直接调用,而且因为用户文件同MATALB的库函数在形式上一样,所以用户文件也可作为MATALB的库函数来调用.因而,用户可以根据自己的需要方便地建立和扩充新地库函数,以便提高MATALB地使用效率 ...

  6. MATLAB学习笔记5:绘图基础与数据可视化(中)

    阅读前请注意: 1. 该学习笔记是华中师范大学HelloWorld程序设计协会2021年寒假MATLAB培训的学习记录,是基于培训课堂内容的总结归纳.拓展阅读.博客内容由 @K2SO4钾 撰写.编辑, ...

  7. MATLAB学习笔记3:MATLAB编程基础(前半)

    阅读前请注意: 1. 该学习笔记是华中师范大学HelloWorld程序设计协会2021年寒假MATLAB培训的学习记录,是基于培训课堂内容的总结归纳.拓展阅读.博客内容由 @K2SO4钾 撰写.编辑, ...

  8. matlab指令vpa(j10),matlab中vpa函数

    Matlab中矩阵函数_IT/计算机_专业资料.Matlab中矩阵函数 矩阵转置... Matlab 中 solve 函数主要是用来求解线性方程组的解析解或者精确解.对于得 出的结果是符号变量,可以通 ...

  9. MATLAB学习笔记2:MATLAB基础知识(下)

    阅读前请注意: 1. 该学习笔记是华中师范大学HelloWorld程序设计协会2021年寒假MATLAB培训的学习记录,是基于培训课堂内容的总结归纳.拓展阅读.博客内容由 @K2SO4钾 撰写.编辑, ...

最新文章

  1. 禁止页面复制功能 js禁止复制 禁用页面右键菜单
  2. 科学家发现量子大脑传感器可以跟踪脑电波,这可能对发现脑疾病至关重要
  3. python绘图函数m_python绘图数据m
  4. Leecode20. 有效的括号——Leecode大厂热题100道系列
  5. [导入]ASP.NET中上传并读取Excel文件数据
  6. 什么是响应式布局设计
  7. LeetCode 33. Search in Rotated Sorted Array
  8. Docker-07:Docker网络管理
  9. 纯js手写一个element的弹窗,方便修改自己想要的样式
  10. 云数据库和本地数据库有什么区别?
  11. 感知机-收敛性证明及代码实现
  12. 银行数字化转型导师坚鹏:数字化背景下BLM银行网点转型
  13. 武汉计算机学校分数线,武汉交通学校2021年招生录取分数线
  14. 基于物理的渲染技术(PBR)系列一
  15. kafka+flume 实时数据处理
  16. LuLu UI - 腾讯阅文集团出品的“半封装” 开源 Web UI 组件库,特点是面向设计、简单灵活、支持 Vue
  17. VRTK4开发VR2:射线
  18. Oraclenbsp;X$Tables
  19. 融云韩迎:中国技术型公司出海才刚开始,未来有很大发展空间
  20. 安卓网页广告拦截_Android webview广告过滤的实现

热门文章

  1. python提示对话框自动关闭_Python实现定时自动关闭的tkinter窗口方法
  2. 局部放大_Origin教程|巧用ZOOM功能做数据对比和快速绘制局部放大图
  3. java 查找排序_查找与排序算法(Java实现)
  4. restify mysql_[菜鸟试水]关于Nodejs搭建后台API服务(Mysql-Restify)[下]
  5. 凑钱系统C语言,C语言课程设计报告书凑钱程序.doc
  6. php 微信转账,php实现微信公众号企业转账功能
  7. sql 两表数据合并_多表查询SQL语句
  8. springboot 接口404_资深架构带你学习Springboot集成普罗米修斯
  9. linux无限刷屏代码,linux下如何实现简单刷屏
  10. java运行环境_Windows系统java运行环境配置 | 吴文辉博客