主要内容

复制对象

复制对象CopyObj.

将对象从一个父级复制到另一个父权CopyObj.功能。副本与原件不同:

  • 父母物业现在是新父母。

  • 复制的对象的句柄与原始的不同。

  • CopyObj.不复制原始对象的回调属性

  • CopyObj.不复制与原始对象关联的任何应用程序数据。

所以,==.是平等的比较原始手柄时返回false。

只要结果维护正确的父/子关系,您可以将各种对象复制到新父对象或多个新父项。复制具有子对象的对象,Matlab®也要复制所有孩子。

笔记

在单个呼叫中,您无法将相同的对象多次复制到同一父级CopyObj.

将单个对象复制到多个目的地。

将单个对象复制到多个目的地时,返回的新手CopyObj.与父处理有关的顺序相同。

H = CopyObj(Cobj,[Newparent1,Newparent2,Newparent3])

返回的阵列H包含按所示顺序包含新对象句柄:

H(1) - > newparent1 h(2) - > newparent2 h(3) - > newparent3

复制多个对象

此示例显示如何将多个对象复制到单个父级。

假设您创建了一组类似的图表,并希望在每个图表上标记相同的数据点。您可以复制用于将第一个图中的点标记为每个后续图形的文本和标记对象。

创建和标记第一图:

x = 0:.1:2 * pi;plot(x,sin(x))htext = text('细绳''\ {5 \ pi \ div4,sin(5 \ pi \ div4)\} \ lightarrow'......'位置',[5 * pi / 4,sin(5 * pi / 4),0],......'水平对齐''对');HMASKER = LINE(5 * PI / 4,SIN(5 * PI / 4),0,'标记''*');

在没有标签的情况下创建两个图表:

图x = PI / 4:.1:9 * PI / 4;绘图(x,sin(x))haxes1 = gca;
图X = PI / 2:.1:5 * PI / 2;绘图(x,sin(x))haxes2 = gca;

复制文本和标记(htext.赫克斯)通过将它们赋予相应的轴来到每个图。返回文本和标记副本的新手:

newhandles1 = copyobj([htext,hmarker],haxes1);newhandles2 = copyobj([htext,hmarker],haxes2);

因为目标是将两个对象复制到每个轴,呼叫CopyObj.两次,每次都有一个目的轴。

将多个对象复制到多个目的地

你打电话时CopyObj.有多个对象复制和多个父目标,CopyObj.将相应的对象复制到相应的父母。那是,如果HP.是长度的手柄阵列N然后这个电话CopyObj.

CopyObj(H,P)

结果逐个元素副本:

h(1) - > p(1);h(2) - > p(2);......h(n) - > p(n);