我是matlab的新手。现在我的任务是从生物信息学工具箱重新编写集群功能。在命令行中键入编辑群集后,我得到一个默认的群集功能,如下所示。
function T = cluster(Z, varargin)
%CLUSTER Construct clusters from a hierarchical cluster tree.
我想要的是具有以下语法的集群功能。
cluster (phytree)
Validate clusters in phylogenetic treeexpand all in page
Syntax
LeafClusters = cluster(Tree, Threshold)
[LeafClusters, NodeClusters] = cluster(Tree, Threshold)
[LeafClusters, NodeClusters, Branches] = cluster(Tree, Threshold)
cluster(..., 'Criterion', CriterionValue, ...)
cluster(..., 'MaxClust', MaxClustValue, ...)
cluster(..., 'Distances', DistancesValue, ...)
有谁知道我该怎么办?我非常感谢你的时间和精力。
答案 0 :(得分:0)
我不确定你想要什么。如果您希望我们编写代码,那么很遗憾问题是偏离主题的。但是,我将回答如何让该函数返回多个变量
要使群集返回不同的内容,您可以通过2种方式完成。
其中一个是将函数的所有可能输出定义为
function [LeafClusters,NodeClusters,Branches] = cluster(Z, varargin)
然后在函数内部为这些变量分配你想要的值。
另一种方法是使用varargout
。这允许您定义任意数量的输出参数。语法如下:
function [LeafClusters,varargout] = cluster(Z, varargin)
然后您可以分配varargout
任意数量的输出,通常取决于varargin
参数(例如'Criterion'
)
您应该将参数指定为单元格数组:
vargout{5}="banana"