comparison +multiblock/DiffOp.m @ 392:30ff8879162e feature/beams

Better input parsing for multiblock DiffOp.
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 12 Jan 2017 17:17:58 +0100
parents 33b2ef863519
children 225765e345c4 324c927d8b1d
comparison
equal deleted inserted replaced
391:1afd33f719df 392:30ff8879162e
92 error('multiblock:DiffOp:DiffOp:InvalidGridDoHand', 'doHand must be a function handle or a cell array of length grid.nBlocks'); 92 error('multiblock:DiffOp:DiffOp:InvalidGridDoHand', 'doHand must be a function handle or a cell array of length grid.nBlocks');
93 end 93 end
94 94
95 if isempty(doParam) 95 if isempty(doParam)
96 getParam = @(i){}; 96 getParam = @(i){};
97 elseif iscell(doParam) && length(doParam) == grid.nBlocks() 97 return
98 end
99
100 if ~iscell(doParam)
101 getParam = @(i)doParam;
102 return
103 end
104
105 % doParam is a non-empty cell-array
106
107 if length(doParam) == grid.nBlocks() && all(cellfun(@iscell, doParam))
108 % doParam is a cell-array of cell-arrays
98 getParam = @(i)doParam{i}; 109 getParam = @(i)doParam{i};
99 else 110 return
100 getParam = @(i)doParam;
101 end 111 end
112
113 getParam = @(i)doParam;
102 end 114 end
103 end 115 end
104 116
105 function ops = splitOp(obj, op) 117 function ops = splitOp(obj, op)
106 % Splits a matrix operator into a cell-matrix of matrix operators for 118 % Splits a matrix operator into a cell-matrix of matrix operators for