How can I assign a variable to all the columns and all the rows of a matrix?

47 Ansichten (letzte 30 Tage)
Got a 20x10 double matrix and I'd like to assign 'numsub' to the number of rows and 'numtrials' to the number of columns in the whole matrix so that I can use them as an index in a for loop for extracting values from certain subjects.
I will need to do something like this:
for i = 1:numsubs
disp(['sub' num2str(i)])
disp('Slow trial')
for j=1:numtrials
if RT(j,i)<=0.3
disp(['trial' num2str(j)])
end(x3)

Akzeptierte Antwort

Jos (10584)
Jos (10584) am 23 Okt. 2019
Are you looking for the function SIZE?
data = rand(20,10) ;
[numsubs, numtrials] = size(data)

Weitere Antworten (1)

Bob Thompson
Bob Thompson am 23 Okt. 2019
You don't need to actually create a new variable for this, you can just use the results from size.
A = randi(100,20,10);
[r,c] = size(A); % Where r is the number of rows, and c is the number of columns
% You can also just put the function directly into your loop
for i = 1:size(A,1)
...
for j = 1:size(A,2)
...
end
end

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by