Lors de l'exécution de l'un de mes programmes, je dois parcourir une matrice assez grande (100 * 700) pour identifier les irrégularités.Parcourir une variable pendant un appel de fonction
Mon idée initiale était d'avoir un point d'arrêt en place quand j'ai besoin de faire un scan de données, mais je ne suis pas fan de cette solution. Ce que je cherche équivaudrait à appeler openvar('A')
pendant un appel de fonction (sauf que je ne peux pas le faire actuellement). L'alternative, disp
rend la matrice mal.
Des indices?
Edit:
Un exemple échantillon de ce que je suis en train de faire:
function main
time = 0:pi/100:4*pi;
inV = (1:100)';
data = 10*diag(rand(100,1))*sin((inV)*time);
error = ceil(350*rand); % find the anolmaly
data(ceil(100*rand),error:(error+20))= -13;
test = true;
openvar('data')
while test
close all;
figure(1)
hold on;
plot(data')
test= (input(strcat('Further review? ')));
if (test)
data(test,:) = [];
end
end
Si je un point d'arrêt, je pouvais parcourir les données sachant que -13
fait des ravages sur elle (-13
est un nombre aléatoire que j'ai utilisé, en réalité, c'est beaucoup plus compliqué). Cependant, les points d'arrêt n'existent que pendant la session Matlab en cours.
J'utilise Matlab 2012a
Je ne sais pas si cela aide, mais vous pouvez mettre en pause l'exécution en utilisant 'une pause sur; pause »après avoir tracé votre matrice avec' image() '. Tracer votre matrice avec l'image est la façon la plus simple de l'analyser. Je pense ... –
Pourquoi n'êtes-vous pas fan de la solution breakpoint? –
@ user1241315 Je trace la matrice lorsque j'ai besoin de balayer ma matrice. La solution de pause n'est pas beaucoup mieux que mon autre solution, qui est d'utiliser 'input': au plus je verrai 64 * 64 – Rasman