gpt4 book ai didi

arrays - 函数类似于Matlab中的head()

转载 作者:太空宇宙 更新时间:2023-11-03 20:29:26 26 4
gpt4 key购买 nike

我只是想看看 Matlab 中是否有一个简单的等价于 R 中的 head()?它应该显示/打印数组的前 5 行。所以给定以下 table

var1 = transpose(1:6);
var2 = transpose(2:7);
aa = table(var1,var2);

我正在寻找一个函数xx,它产生的结果与:

aa(1:5,:)

答案=

var1    var2
____ ____

1 2
2 3
3 4
4 5
5 6

类似于:

xx(aa)

我当然可以继续使用上面的索引,但是使用函数会更方便。我在 R 中广泛使用了 head()

最佳答案

这里有两个等同于 R 中的 head() 和 tail() 的函数。您只需将源代码复制/粘贴到一个 .m 文件中,然后将其保存在您想要的目录中:

function head(data, varargin)
%head - displays the first n rows of an array
%
% Syntax: head(data, n)
%
% Inputs:
% data - data to display (table, double)
% n - number of rows (integer, optional input)
%
% Author: Daniel A. Brodén
% KTH, Royal Institute of Technology, Osquldas Väg 10, 100 44, Stockholm
% email: danbro@kth.se
% Website: http://www.kth.se/profile/danbro
% August 2015; Last revision: Aug-2015
% Define parser object
p = inputParser;

% Required inputs
addRequired(p, 'data')

% Default values
default_n = 10;

% Optional inputs
checkInt = @(x) validateattributes(x,{'numeric'},{'integer','positive'});
addOptional(p, 'n', default_n, checkInt)

% Parse inputs
parse(p, data, varargin{:})

% Conditions
if size(p.Results.data, 1) < p.Results.n
error('Not enough rows')
end

% Return
data(1:p.Results.n,:)
end

尾部代码

function tail(data, varargin)
%tail - displays the last n rows of an array
%
% Syntax: tail(data, n)
%
% Inputs:
% data - data to display (table, double)
% n - number of rows (integer, optional input)
%
% Author: Daniel A. Brodén
% KTH, Royal Institute of Technology, Osquldas Väg 10, 100 44, Stockholm
% email: danbro@kth.se
% Website: http://www.kth.se/profile/danbro
% August 2015; Last revision: Aug-2015

% Parser object
p = inputParser;

% Required inputs
addRequired(p, 'data')

% Default values
default_n = 10;

% Optional inputs
checkInt = @(x) validateattributes(x,{'numeric'},{'integer','positive'});
addOptional(p, 'n', default_n, checkInt)

% Parse inputs
parse(p, data, varargin{:})

% Conditions
if size(p.Results.data, 1) < p.Results.n
error('Not enough rows')
end

% Return
data((size(data,1)-p.Results.n + 1):size(data,1),:)
end

关于arrays - 函数类似于Matlab中的head(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26611411/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com