��976 2021-08-27 19:12 采纳率: 86.7%
浏览 64
已结题

请问这段代码作用是什么?输入和输出的para1和para2是什么意思?怎么调用输入接口得到输出?


function [X,para1,para2]=pretreat(X,method,para1,para2)
%   data pretreatment
if nargin==2
  [Mx,Nx]=size(X);
   if strcmp(method,'autoscaling')
    para1=mean(X);para2=std(X);
   elseif strcmp(method,'center')
    para1=mean(X);para2=ones(1,Nx);
   elseif strcmp(method,'minmax')
    para1=min(X);maxv=max(X);para2=maxv-para1;  
   elseif strcmp(method,'pareto');
    para1=mean(X);para2=sqrt(std(X));
   elseif strcmp(method,'none');
    para1=zeros(1,Nx);para2=ones(1,Nx);
   else
    display('Wrong data pretreat method!');
   end
   
   for i=1:Nx
     X(:,i)=(X(:,i)-para1(i))/para2(i);
   end
   
elseif nargin==4
   [Mx,Nx]=size(X);
   for i=1:Nx     
     X(:,i)=(X(:,i)-para1(i))/para2(i);
   end
end
  • 写回答

1条回答 默认 最新

  • joel_1993 2021-08-27 21:22
    关注

    大概是这个意思

     
    function [X,para1,para2]=pretreat(X,method,para1,para2)
    %   data pretreatment 数据预处理
    if nargin==2 % 假如输入参数只有两个即 Xmethod
      [Mx,Nx]=size(X); % 把X矩阵大小求出来
       if strcmp(method,'autoscaling')  % 如果处理方法是'autoscaling',自动标准化
        para1=mean(X);para2=std(X); % 求出X的均值para1和标准差para2
       elseif strcmp(method,'center') % 如果是中心标准化
        para1=mean(X);para2=ones(1,Nx); % 那么求出X的均值para1和1×Nx的大小的1值para2
       elseif strcmp(method,'minmax') % 如果是minmax标准化方法
        para1=min(X);maxv=max(X);para2=maxv-para1;  % 求出最小值para1最大值maxv和极差para2
       elseif strcmp(method,'pareto'); % 如果是pareto标准化方法
        para1=mean(X);para2=sqrt(std(X)); % 求出均值para1和标准差的开方para2
       elseif strcmp(method,'none'); % 如果method设为‘none’,则按照【0,1】标准化方法
        para1=zeros(1,Nx);para2=ones(1,Nx); 
       else
        disp('Wrong data pretreat method!'); % 否则输入错误
       end
       for i=1:Nx
         X(:,i)=(X(:,i)-para1(i))/para2(i); % 标准化后的X数据
       end
    elseif nargin==4
       [Mx,Nx]=size(X);% 如果是输入参数数目等于4个,那么按照输入的para1,para2参数进行标准化处理
       for i=1:Nx     
         X(:,i)=(X(:,i)-para1(i))/para2(i);% 标准化后的X数据
       end
    end
    

    基本都给你注释了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月5日
  • 已采纳回答 8月28日
  • 创建了问题 8月27日

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器