J'ai une matrice de dimension variable, X. Je veux une fonction qui obtiendra la première moitié de X dans une dimension. I.E., je veux quelque chose comme ceci:MATLAB submatrix sur les dimensions variables
function x = variableSubmatrix(x, d)
if d == 1
switch ndims(x)
case 1
x = x(1:end/2);
case 2
x = x(1:end/2, :);
case 3
x = x(1:end/2, :, :);
(...)
end
elseif d == 2
switch ndims(x)
case 2
x = x(:, 1:end/2);
case 3
x = x(:, 1:end/2, :);
(...)
end
elseif (...)
end
end
Je ne suis pas tout à fait sûr comment faire cela. J'ai besoin d'être rapide, car cela sera utilisé plusieurs fois dans le calcul.
Wow, ce qui est grand! Je ne connaissais pas '': ''non plus! – rlbond