有没有办法将参数多次传递给不同的数组?
我想做的是:
r ='1:10:结束'; %这对我不起作用 plot(x1(r),y1(r));
plot(x2(r),y2(r));
......
并在许多绘图函数中将r
传递给不同的数组(具有不同的长度)。我试过[r]
但没有成功。
答案 0 :(得分:4)
据我所知,你想要绘制可能不同大小的数组的每个第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+');
答案 1 :(得分:1)
要使用“end”运算符,它需要位于数组访问调用中;
n = 10;
r = 1 : 1 : n;
r(1:end) % is legal
r(1:floor(end/2)) % is legal
所以你可以这样做:
s = rand(1,2*n);
s(r)
% to compare...
s( 1:1:n )