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

📄 netgraph_find_x.m

📁 %The Metabolic Networks Toolbox contains functions to create, %modify, display, and simulate bioche
💻 M
字号:
function x = netgraph_find_x(graphics_object,gridsize,k1,k2,k3,k4,db);  % inital guess from PCA  db  = graphics_object.db.^0.2;  dum = repmat(mean(db.^2),size(db,1),1);  [xeig,a,s] = pca( -0.5*(db.^2-dum-dum'));   x          = s(1:2,:);   x          = diag([-1 1]'.*sign(x(:,1)-mean(x,2)))*x;    [Ni,Nj]=ind2sub(size(graphics_object.N),find((graphics_object.N~=0)));    gridsize = 0.01; % distance between discrete x values  k1 = 0.01;  % overall repulsion strength  k2 = 0.5*sqrt(1/length(graphics_object.metnames));  % overall repulsion scale  k3 = 0.2;  % neighbour attraction strength  % move points around -> similar distances  x=x+0.001*randn(size(x));  for it=1:10    edgecenters = 0.5*(x(:,Ni)+x(:,Nj));    for i=1:size(x,2);      distances = repmat(x(:,i),1,size(x,2)+length(Ni)) - [x, edgecenters]; %      f1 = sum(distances.^2)+10^-10;      f1 = exp(-f1/(2*k2^2))./sqrt(f1);      dummy = x(:,find(db(i,:)==1));      if length(dummy),	       xdum = mean(dummy,2);      else,                     xdum = x(:,i);	       end      xnew(:,i)= x(:,i) + k1 * sum(distances.*repmat(f1,2,1),2) ...	  + k3 * ( xdum - x(:,i) );    end    x = xnew;    x = x-repmat(min(x')',1,size(x,2));    x = diag(1./(max(x')'))*x;    x = gridsize * round(x/gridsize);  end    x = x-repmat(min(x')',1,size(x,2));  x = diag(min(1,1./(max(x')')))*x;  x = gridsize * round(x/gridsize);  

⌨️ 快捷键说明

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