samer@4: function x=arrset(x,i,z) samer@4: % arrset - set elements of array and return result samer@4: % samer@4: % arrset :: samer@4: % [(S:[[1,E]])->R] ~'E-dim array of size S', samer@4: % { K:[E] -> [D->[S(K)]] } ~'cell array of E index arrays', samer@4: % [D->R] ~'data to write' samer@4: % -> [S->R]. samer@4: % samer@4: % Linear indexing version: samer@4: % samer@4: % arrset :: samer@4: % [(S:[[1,E]])->R] ~'E-dim array of size S', samer@4: % [D->[prod(S)]] ~'linear indices between 1 and prod(S)', samer@4: % [D->R] ~'data to write' samer@4: % -> [S->R]. samer@4: if iscell(i), x(i{:})=z; samer@4: else x(i)=z; end samer@4: