subsasgn.m

来自「matlab有限元分析工具,比经较全面的一个手册,请大家下载呀」· M 代码 · 共 29 行

M
29
字号
function z = subsasgn(a,s,b);
news = s;
for j = 1 : length(news)
  if strcmp(news(j).type, '.')
    error('Dot subscripting not allowed for zba');
  end
  for l = 1 : length(news(j).subs)
    s1 = news(j).subs{l};
    if isa(s1,'zba')
      s1 = double(s1);
    end
    if islogical(s1)
      s1 = find(s1);
      [m,n] = size(s1);
      s1 = s1 - ones(m,n);
    end
    if ~strcmp(s1, ':')
      [m,n] = size(s1);
      o = ones(m,n);
      news(j).subs{l} = s1 + o;
    end
  end
end
if isa(b,'zba')
  z = zba(subsasgn(a.entries, news, double(b)));
else
  z = zba(subsasgn(a.entries, news, b));
end

⌨️ 快捷键说明

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