⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 addmember.m

📁 这是一个关于MATLAB的函数
💻 M
字号:
function nn = addmember(st,name,sobj)
%ADDMEMBER - add a member to structure class
%  ADDMEMBER(ST,NAME,HANDLE)- appends the specifed member to
%  the 'ST' structure class.  NAME is used to identify the
%  member, which is used to specify an entry in the member
%  structure of ST.  
%
%  See Also READ, WRITE, DELMEMBER.

% 
%   Copyright 2002 The MathWorks, Inc.
%   $Revision: 1.3 $ $Date: 2002/02/15 20:49:10 $

% Limited to the following handle types:
%  numeric, string, ....
%
error(nargchk(3,3,nargin));

if ~ischar(name),
    error('member NAME must be a string');
elseif name(1) == '_',
    warning(['Member: ' name ' does not start with an alphanumeric characters.  Q was added to the member name']);
    name = ['Q' name];
    ismangled = true;  % Eventually this should be noted in class
end

if ~ishandle(sobj),
    error('New members must be defined with an UDD object class');
end
% p = schema.prop(st,name,'handle');

memb = get(st,'member');
membname = fieldnames(memb);
if ~isempty(strmatch(name,membname)),
    error(['The new member: ' name ' already exists as a member']);
end
memb(1).(name)  = sobj;
membname{end+1} = name;
set(st,'member',memb);
set(st,'membname',membname);
set(st,'membnumber',length(membname));

i = st.membnumber; 
if i==1
    st.memboffset = horzcat(st.memboffset, 0);
else
    st.memboffset = horzcat(st.memboffset, st.memboffset(end) + st.member.(membname{i}).address(1) - st.member.(membname{i-1}).address(1));
end
 
% handle.listener(st,st.member.(name),'PropertyPreGet', @fetchobj);
% 
% % This avoid the (slow) call to create the object until necessary
% function fetchobj(h, eventData)
% if isempty(h.(get(eventData.Source, 'Name'))),
%     set(h, get(eventData.Source, 'Name'), 'link');
% end

% [EOF] addmember.m

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -