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

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

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;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php+js实现弹幕,jquery.barrager.js-专业的网页弹幕插件

jquery.barrager.js是一款专业的网页弹幕插件。它支持显示图片,文字以及超链接。支持自定义弹幕的速度、高度、颜色、数量等。能轻松集成到论坛,博客等网站中。由于IE9以下的IE浏览器不兼容CSS圆角,采用兼容样式,可单独设置弹幕的颜色,属性为old_ie_color,建议不要与网页主背景…

python list index方法,Python List.index()方法

Python List index()方法Python index()方法返回传递的元素的索引。此方法接受一个参数并返回其索引。如果该元素不存在&#xff0c;则会引发ValueError。如果list包含重复元素&#xff0c;则返回第一个出现的元素的索引。此方法还使用了两个可选参数start和end&#xff0c;用于…

zend studio php 5.5,Zend Studio使用教程:在Zend Studio中调试PHP(5/5)

本教程将教会您如何调试文件和应用程序以便从您的PHP代码中获取最大的效率和准确性。Zend Studio的调试功能可以检查并诊断PHP代码在本地或远程服务器上的错误。调试器允许您通过设置断点、暂停启动的程序、单步调试代码和检查变量的内容来控制程序的执行。调试应该在您的脚本和…

memcached和php关系,php – memcacheD这没关系?

Is this code vulnerable to the expired cache race condition? How would you improve it?是.如果两个(或多个)并发客户端尝试从缓存中获取相同的密钥并最终从数据库中提取它.您将在数据库上出现峰值,并且数据库将在一段时间内处于高负载状态.这称为缓存标记.有几种方法可以…

php 如何单独刷新模板,反馈一个x-admin模板的问题,点击左侧栏不会刷新右侧栏当前页面的问题,并提供解决方案。...

在xadmin.js或者x-admin.js里面找到左侧菜单效果的函数&#xff0c;2.0版本的如下&#xff1a;//左侧菜单效果// $(#content).bind("click",function(event){$(.left-nav #nav li).click(function (event) {if($(this).children(.sub-menu).length){if($(this).hasCl…

oracle 安装乱码,linux安装Oracle中文乱码问题汇总

解决oracle中文显示乱码有三层地方需要调整或者修改第一层&#xff1a;操作系统层1.首先查看linux是否有安装中文字符集&#xff0c;locale -a2.设置用户的中文字符集查看到linux安装了中文字符集&#xff0c;那么oracle用户下面要设置中文字符集vi /etc/locale.conf # centos7…

php 解析yaml,php yaml 解析 报错问题

今天用php写了一个简单的博客引擎&#xff0c;其中要用php yaml解析器&#xff0c;但是在使用的过程中遇到了这样的报错[09-Dec-2017 14:54:25 PRC] PHP Warning: yaml_parse(): end of stream reached without finding document 0 in /home/twikoizo/public_html/dev/core/mod…

oracle 00371,PLS-00371: 'WEB_LOGIN_CHECK_PK.CURSORTYPE' 最多允许有一个声明

Oracle 10.2.0.4 , 从其他地方导入过来的packages, 发现编译的时候报错。报错信息如下&#xff1a;PACKAGE BODY DPBG_WEB.WEB_LOGIN_CHECK_PKOn line: 11PLS-00371: WEB_LOGIN_CHECK_PK.CURSORTYPE 最多允许有一个声明package的spec 如下&#xff1a;CREATE OR REPLACE P…

oracle判断数据出现交叉,Oracle move table分析

在move操作的时候&#xff0c;进行的是block之间的数据copy&#xff0c;所以table所位于的block的区域会发生变化&#xff1b;所有行物理存储的顺序不会发生变化&#xff0c;但行号会变成按AAA增1的顺子&#xff0c;所以block里行会挪紧&#xff0c;实现了消除HWM和行碎片(包括…

php 路径有汉字,路径文字工具

大家可能会在视频上面看到一些不规则的字幕吧&#xff0c;比如&#xff1a;圆形、椭圆、波浪形等等&#xff0c;这些也叫做路径文字&#xff0c;就是在给视频添加字幕的时候&#xff0c;让文字按着自己描绘的路径来排列&#xff0c;这样就得到了路径文字。原理很简单&#xff0…

在toad新增oracle用户,利用toad发现oracle自动为你干了什么(表空间建立和用户建立)...

利用toad发现oracle自动为你干了什么(表空间建立和用户建立)Oracle:10.2.0.1Windows 2003一、表空间sql>Create tablespace dba datafile ‘D:\dba.dbf’ size 1M autoextend on maxsize 10M;-- DBA (Tablespace)--CREATE TABLESPACE DBA DATAFILED:\DBA.DBF SIZE 1M AUTOE…

linux依据时间过滤文件,详解Linux查找目录下的按时间过滤的文件

在维护项目中&#xff0c;有时会指定都一些条件进行过滤文件&#xff0c;并对该批文件进行操作&#xff1b;这时我们将使用shell命令进行操作&#xff1b;直接上代码#!/bin/sh#BEGIN#find ./ ! -name "." -type d -prune -o -newermt 2001-01-01 00:00:00 ! -newermt…

linux view查看日志命令,【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo...

linux查看日志文件内容命令tail、cat、tac、head、echotail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C,---------------------------linux 如何显示一个文件的某几行(中间几行)从第3000行开始&#xff0c;显示1000行。即显示3000~3999行cat fi…

qq linux版本下载官网下载,腾讯QQ For Linux

安装帮助如何选择安装包&#xff1f;Linux QQ 目前支持x64(x86_64、amd64)、arm64(aarch64)、mips64(mips64el)三种架构&#xff0c;每种架构支持Debian系、红帽系、Arch Linux系、其它发行版中的一种或几种(未来可能继续扩充)。每一次发布均会提供架构和发行版的若干种组合支持…

linux ip隧道技术,linux之IP隧道配置

本文系统Centos6.0在这里我就不讲什么隧道、IP隧道技术了&#xff1b;lvs的三种模式也不说了我这里隧道说白了就是不同机房&#xff0c;不同公网IP&#xff0c;怎么让他们实现局域网的效果&#xff0c;配置同一网段的私网IP&#xff1b;可以实现互联互通&#xff1b;写这篇文章…

windows控制linux桌面图标,完全控制你的Windows桌面 (转)

完全控制你的Windows桌面 (转)[more]完全控制你的桌面对于Windows的桌面界面相信大家已经十分熟悉了&#xff0c;占据屏幕大半部分的是桌面&#xff0c;在上面排列的是桌面图标。任务栏一般位于桌面的下面&#xff0c;也可以在桌面其它边缘。在最左边是“开始按钮”&#xff0c…

windows查看linux文件中文,Linux 系统下无法查看Windows 中创建的中文文件名

标 题: Linux 系统下无法查看Windows 中创建的中文文件名我是Linux初学者&#xff0c;在网上搜索了很久&#xff0c;经过多次尝试仍然无法解决问题&#xff0c;只好在这里发贴请教了&#xff0c;还望各位高手指点一下。问题描述&#xff1a;Linux 系统下无法查看Windows 中创建…

arm-none-linux-gnueabi-gcc:未找到命令,“make: arm-none-linux-gnueabi-gcc:命令未找到”

Ubuntu12.04下编译飞凌嵌入式OK6410开发板提供的内核android2.3_kernel_v1.01-2012-09-23.tar已经执行export PATH/usr/local/arm/arm-none-linux-gnueabi/bin:$PATH&#xff0c;但还是出现如下问题make: arm-none-linux-gnueabi-gcc&#xff1a;命令未找到CHK include/lin…

linux 内核入口地址,linux内核的加载地址和入口地址

编译完内核之后&#xff0c;会产生zImage,而把它直接导入0x30008000&#xff0c;会出现Bad Magic Number.查明是需要将内核加一个0x40大小的头,由mkimage工具来添加.mkimage在编译u-boot时在u-boot-1.1.6/tools下生成,可以为编译的内核添加头信息的.在bootm命令中会解析这个头,…

linux脚本监控某一进程,linux监控某个进程的运行shell脚本

该脚本实现了对指定进程名的进程进行每隔2的扫描监控&#xff0c;一旦发现进程不存在便重新启动。#!/bin/sha10;while [[ a -gt 5 ]]; doif test $(pgrep -f $1|wc -l) -eq 2;thensh stop.shgnome-terminal -x sh start.sh &fi;sleep 2;done;总结&#xff1a;(1)&表示当…