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

24 次查看(过去 30 天)
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)

采纳的回答

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

更多回答(1 个)

Bob Thompson
Bob Thompson 2019-10-23
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

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by