Nested for loops using vectorization in MATLAB

I currently have two national instrument devices hooked up to MATLAB and have this nested for loop:
for i=1: 5
removeChannel(session, 7)
addAnalogInputChannel(session, 'cDAQ1Mod8', ['ai' num2str(i)], 'Voltage');
for j=1: 5
signal = [in(i,:) out(j,:)];
outputSingleScan(session, signal);
measurements(6-j,6-i) = session.inputSingleScan;
end
end
Basically what this does is removes the last channel in the session and adds a new one from the DAQ depending on the iteration. A signal is then sent from the NI USB device and then another measurement is read from the DAQ. How do I use vectorization for this nested for loop?

3 commentaires

OCDER
OCDER le 22 Sep 2017
Modifié(e) : OCDER le 22 Sep 2017
Not sure how to vectorize this (don't have the toolbox), but you could simplify the code like this if you want:
for i = 1:5
removeChannel(session, 7)
addAnalogInputChannel(session, 'cDAQ1Mod8', ['ai' num2str(i)], 'Voltage');
for j = 1:5
signal = [in(i,:) out(j,:)];
outputSingleScan(session, signal);
measurements(6-j,6-i) = session.inputSingleScan;
end
end
Also, are you trying to vectorize this because this is too slow? You would have to determine what the bottle neck is first. For instance, even if we could vectorize this, if removeChannel or outputSingleScan is slow, then vectorizing may not help much.
Ahmad Lakhani
Ahmad Lakhani le 22 Sep 2017
Modifié(e) : Ahmad Lakhani le 22 Sep 2017
@DonaldLee outputSingleScan is a Matlab function. the first argument is the session and the second argument it takes is a row vector. The function takes the voltage measurement from the DAQ.
Yeah I need it vectorized because it is too slow. My goal here is to see whether or not it makes a difference for my code. Thanks for the help with the if statements.
OCDER
OCDER le 22 Sep 2017
Oh, I see. I don't have the Data Acquisition Toolbox, so hopefully one of the pros will stop by to lend a help. Also, feel free to edit the question with the simpler code to make it easy on their eyes :)

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Instrument Control Toolbox dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by