关于matlab代码的问题

[xy]=ginput();holdallplot(x,y,'*')x1=round(x(1,1));y1=round(y(1,1));x2=round(x(2,1));... [x y]=ginput();
hold all
plot(x,y,'*')
x1=round(x(1,1));
y1=round(y(1,1));
x2=round(x(2,1));
y2=round(y(2,1));
请问hold all 以及plot(x,y,'*')和x1=round(x(1,1));是什么意思??
展开
 我来答
tianxiawulang
推荐于2016-11-09 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2530万
展开全部
1、hold all 和 hold on 类似,其作用是后续的绘图命令不仅保留之前的绘图结果,而且还记住当前使用的线型和颜色,从而新的绘图可以使用不同的颜色或线型以示区别。

后面括号中的这部分说明可以不看,只是我个人分析代码的一点记录。

【hold all 是R14(MATLAB 7.0)引入的绘图选项,在7.0之前的版本不支持;而对于最新的版本而言,hold on 被修改为和 hold all 相同,hold all 会在将来的版本中被删除(不确定具体从哪个版本改变的,从我现在安装的版本看,2012b没改,2014b改了,2015b仍未删除 hold all 的用法,猜测很可能是从2014b改的)。

从实现的机理上说,hold all 就是保证坐标系的 ColorOrder 和LineStyleOrder这两个属性不会被复位至最前面。在早期的版本中,是通过setappdata 函数设置坐标系的 PlotHoldStyle属性,而在新版中,坐标系则新增加了 ColorOrderIndex 和 LineStyleOrderIndex 这两个属性来记录颜色与线型的索引号。】

2、plot(x,y,'*') 非常简单,就是以x为横坐标、y为纵坐标绘图。'*' 用于指定线型、颜色和标记,即点与点之间没有线条、颜色为默认、以星号(*)作为标记。

3、x1=round(x(1,1)); 对数据 x 的第一个点进行舍入运算,结果赋值给变量 x1。
追问
谢谢,我还想问下x2=round(x(2,1));y2=round(y(2,1));像括号里面的坐标(2,1)等代表的是什么呢?
追答
就是引用矩阵(二维数组)的下标。
只不过,其实x和y都是列向量(也就是N*1的数组),更直接的索引方式用x(2)之类的就行了,如果用双下标,第2个下标肯定都是1。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式