MATLAB Answers

matrix variable problem in matlab

36 views (last 30 days)
javad hemati
javad hemati on 10 Dec 2020
Commented: javad hemati on 10 Dec 2020
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

  0 Comments

Sign in to comment.

Accepted Answer

Henry Tran
Henry Tran on 10 Dec 2020
Edited: Henry Tran on 10 Dec 2020
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 Comments

Show 1 older comment
javad hemati
javad hemati on 10 Dec 2020
about the b(c)=0, what do you mean by '' which are along the 1 of c ''. I didn't catch that part
the cyclist
the cyclist on 10 Dec 2020
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.

Sign in to comment.

More Answers (1)

the cyclist
the cyclist on 10 Dec 2020
This documentation about indexing with logical values might help you understand.

Products


Release

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by