我在想:
假设我有一个结构:
s(1).Xval=[1 2 3];
s(2).Xval=[1 2 3 4];
s(3).Xval=[1 2 3];
s(1).Yval=[1 2 3];
s(2).Yval=[4 3 2 1];
s(3).Yval=[3 2 1];
现在我想将这三条线绘制在一个图中。我可以通过以下方式做到这一点:
plot(s(1).Xval,s(1).Yval,s(2).Xval,s(2).Yval,s(3).Xval,s(3).Yval);
这是可能的,因为 MATLAB 通过以下语法为绘图函数的可变数量的输入参数提供了机会:
plot(X1,Y1,...,Xn,Yn)
我的问题是:有没有办法在没有预定义数量的地块的情况下调用这个函数?所以在这种情况下,我绘制了三行,但如果我不知道要绘制多少行,这种语法是否仍然可行?
我当然知道我可以通过使用Hold All
和For
循环来做到这一点。但是,我问这个是因为我想在必要时避免循环。有没有一个优雅的解决方案?还是我应该只使用循环?
编辑:索引确实有错字。s.Xval(1) 代替 s(1).Xval