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 Kommentare

OCDER
OCDER am 22 Sep. 2017
Bearbeitet: OCDER am 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 am 22 Sep. 2017
Bearbeitet: Ahmad Lakhani am 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 am 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 :)

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Instrument Control Toolbox finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 22 Sep. 2017

Bearbeitet:

am 22 Sep. 2017

Community Treasure Hunt

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

Start Hunting!

Translated by