How can we write the for loop for accessing a table data?

1 view (last 30 days)
i want to perform operations on a table data, for that i need to access data of table using its index and again updated value of that index data should be stored at the same position.
  • * For Example: * * A table having 3 columns and 10 rows, i have written following code but its not working,
for i=1:10
for j=1:3
if j==1
x=x<=5
else if j==2
x=x<=15
else
x=x<=25
end
end
end
Please correct my code......
  2 Comments
Amit
Amit on 28 Jan 2014
You know x<=5 will create a logical vector for 0 where the conditions dont satisfy and 1 for where it will.
Amit
Amit on 28 Jan 2014
Moreover, by x<=5, are you trying to createe a logical vector for the whole matrix or just that column?

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 28 Jan 2014
for i=1:10
for j=1:3
if j==1
x(i,j) = x(i,j) <= 5
else if j==2
x(i,j) = x(i,j) <= 15
else
x(i,j) = x(i,j) <= 25
end
end
end

More Answers (1)

Amit
Amit on 28 Jan 2014
If Walter's interpretation is correct, then you do not need so many loops. A single loop approach will be:
A = [5 15 25];
for j = 1:3
x(:,j) = x(:,j) <= A(j);
end
or no loop way:
x = x <= repmat([5 15 25],10,1);

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!