Matlab指南中的句柄

时间:2012-09-01 15:11:02

标签: matlab matlab-guide

我很难理解句柄的使用

在MATLAB的指南中。什么时候使用它们?

例如,这是MATLAB的示例如何使用MATLAB指南:

handles.peaks = peaks(35); 
[x, y] = meshgrid(-8:.5:8)
handles.current_data = handles.peaks
surf(handles.current_data)

我想我们正在使用句柄将数据传递给函数。

我很困惑。

1 个答案:

答案 0 :(得分:2)

您没有处理该示例中的句柄。你有一个名为handle的结构,但它就是关于它的(你可以把它称为chipotle)并且你有两行完全没有任何代码。唯一可以提供句柄的是函数surf,它返回它生成的图形的句柄。例如:

chipotle    = peaks(35); 
surf_handle = surf (chipotle);

你可以做的事情包括再次选择这个数字(想象你在同一时间创造了另一个数字:

new_handle = figure;  # create new figure
sphere;               # draw in the new figure
figure (surf_handle); # select the previous figure

某些功能会使用该句柄来更改图中的内容,例如setget

句柄的其他示例是文件句柄:

file_handle = fopen ("splat.dat", "r", "ieee-le");
fread (file_handle, 10, "uint8")
fclose (file_handle)