matrix variable problem in matlab

I have been assigned to run these codes and report what are they for. I'm good up to the 8th line. After that i'm lost and don't know what the last 3 lines do. I'll appreciate it if someone help me and explain what they do.
Thanks
a=rand(5);
b=a;
m=size(a,2);
x=1:m;
y=1:m;
xx=x'*ones(1,m);
yy=(y'*ones(1,m))';
c=xx==yy;
b(c)=0
c=xx.^2>yy;
a(c)=0

 采纳的回答

Henry Tran
Henry Tran 2020-12-10
编辑:Henry Tran 2020-12-10
Hi,
b(c)=0 %sets all values of b to 0, which are along the 1 of c
c=xx.^2>yy; %checks if the value of "xx.^2" is greater than the values in yy. If it is true then it returns as 1.
a(c)=0 --> %same principle as b(c)=0
I hope it answers your question.

4 个评论

about the b(c)=0, what do you mean by '' which are along the 1 of c ''. I didn't catch that part
I found the phrasing confusing, too. Here is an example. Suppose b and c are
b = [2 3 5 7 11]
c = [1 0 1 1 0];
Then b(c) will be
[2 5 7]
In other words, b(c) picks out the elements of b where c is equal to 1.
Thank you. got it now

请先登录,再进行评论。

更多回答(1 个)

类别

帮助中心File Exchange 中查找有关 Matrix Indexing 的更多信息

产品

版本

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by