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

2 次查看(过去 30 天)
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 个评论
Amit
Amit 2014-1-28
You know x<=5 will create a logical vector for 0 where the conditions dont satisfy and 1 for where it will.
Amit
Amit 2014-1-28
Moreover, by x<=5, are you trying to createe a logical vector for the whole matrix or just that column?

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2014-1-28
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

更多回答(1 个)

Amit
Amit 2014-1-28
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);

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by