Arrays 在MATLAB中多次传递参数
有没有办法将参数多次传递给不同的数组 我想做的是: r='1:10:end';%这对我不起作用Arrays 在MATLAB中多次传递参数,arrays,matlab,arguments,multiple-instances,Arrays,Matlab,Arguments,Multiple Instances,有没有办法将参数多次传递给不同的数组 我想做的是: r='1:10:end';%这对我不起作用 地块(x1(r)、y1(r)) 地块(x2(r)、y2(r)) ... 并在许多绘图函数中将r传递到不同的数组(具有不同的长度)。我尝试了[r],但没有成功 据我所知,您需要绘制可能大小不同的数组的每10个元素。有几种方法可以做到这一点。一种方法是编写一个短函数来为您过滤数组,例如: plot_10 = @(x,y) plot(x(1:10:end),y(1:10:end)); plot_10(x
地块(x1(r)、y1(r))
地块(x2(r)、y2(r))
...
并在许多绘图函数中将
r
传递到不同的数组(具有不同的长度)。我尝试了[r]
,但没有成功 据我所知,您需要绘制可能大小不同的数组的每10个元素。有几种方法可以做到这一点。一种方法是编写一个短函数来为您过滤数组,例如:
plot_10 = @(x,y) plot(x(1:10:end),y(1:10:end));
plot_10(x1,y1);
plot_10(x2,y2);
...
编辑:只是一个额外的想法。如果要启用绘图的扩展功能(例如,传递线条/颜色参数等)。你可以这样做:
plot_10 = @(x,y,varargin) plot(x(1:10:end),y(1:10:end),varargin{:});
plot_10(x1,t1,'k+');
s = rand(1,2*n);
s(r)
% to compare...
s( 1:1:n )
据我所知,您需要绘制可能大小不同的数组的每10个元素。有几种方法可以做到这一点。一种方法是编写一个短函数来为您过滤数组,例如:
plot_10 = @(x,y) plot(x(1:10:end),y(1:10:end));
plot_10(x1,y1);
plot_10(x2,y2);
...
编辑:只是一个额外的想法。如果要启用绘图的扩展功能(例如,传递线条/颜色参数等)。你可以这样做:
plot_10 = @(x,y,varargin) plot(x(1:10:end),y(1:10:end),varargin{:});
plot_10(x1,t1,'k+');
s = rand(1,2*n);
s(r)
% to compare...
s( 1:1:n )
要使用“end”操作符,它需要位于数组访问调用内部
n = 10;
r = 1 : 1 : n;
r(1:end) % is legal
r(1:floor(end/2)) % is legal
所以你可以这样做:
plot_10 = @(x,y,varargin) plot(x(1:10:end),y(1:10:end),varargin{:});
plot_10(x1,t1,'k+');
s = rand(1,2*n);
s(r)
% to compare...
s( 1:1:n )
要使用“end”操作符,它需要位于数组访问调用内部
n = 10;
r = 1 : 1 : n;
r(1:end) % is legal
r(1:floor(end/2)) % is legal
所以你可以这样做:
plot_10 = @(x,y,varargin) plot(x(1:10:end),y(1:10:end),varargin{:});
plot_10(x1,t1,'k+');
s = rand(1,2*n);
s(r)
% to compare...
s( 1:1:n )
r
应该是字符串吗?不一定。我只需要一种方法将该参数传递给多个数组函数。如果有更好的方法,如果r是一些带有索引的向量,例如r=1:1:5
,你肯定可以使用它来绘制位置1到位置5的值,从x1
,y1
等等你的意思是x1
,y1
等?那么你需要MrAzzaman的答案。r
应该是字符串吗?不一定。我只需要一种方法将该参数传递给多个数组函数。如果有更好的方法,那就更好了,如果r是一些带有索引的向量,例如,r=1:1:5
,你肯定可以用它来从x1
,y1
等绘制位置1到5的值,你的意思是x1
,y1
等等,那么你需要Mrazzman的答案。谢谢,我想你的回答解决了我的大部分问题。如果我想要在同一个图中有多个图,比如plot(x1,y1,x2,y2)
,这是否太难了,我想,这会使它变得更难,因为你必须考虑到plot(x1,y1,'r+',x2,y2,'k')这样的语句的可能性代码>等等。不是说这不可能,但你必须写一个单独的函数文件来完成。谢谢,我想你的回答解决了我的大部分问题。如果我想要在同一个图中有多个图,比如plot(x1,y1,x2,y2)
,这是否太难了,我想,这会使它变得更难,因为你必须考虑到plot(x1,y1,'r+',x2,y2,'k')这样的语句的可能性代码>等等。并不是说这是不可能的,但您必须编写一个单独的函数文件来实现。