How can I set a matrix value to equal a non-numeric coordinate?
1 次查看(过去 30 天)
显示 更早的评论
For example, if part of a matrix equals 3, I want that coordinate to be (a,b). Then I want to be able to use that coordinate to change other values, such as writing (a,b+1)=4, to change the value in the next column to 4, or (a-1,b)=7 to change the value in the row above to 7.
Thanks.
This is what I've attempted and doesn't work:
clear, clc
x = randi(10,10);
x(x==3) = x(a,b);
Undefined function or variable 'a'.
Error in Lab4 (line 4)
x(x==3)=x(a,b);
回答(1 个)
madhan ravi
2019-5-17
编辑:madhan ravi
2019-5-17
[a,b]=find(x==3)% I don't see the point of this if your assigning the same value
x==3 % is already sufficient and efficient for indexing
2 个评论
madhan ravi
2019-5-17
编辑:madhan ravi
2019-5-17
What is that your trying to do ? Write your expected result explicitly with a 3 by 3 matrix. the expression a-1 will error out if a is one.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!