7 views (last 30 days)

Hello! There is a matrix and I need to find the first value less than 90

clear all

close all

X=[ 80 90 100 110 100 95 90 20

80 90 100 150 100 95 90 20

80 90 100 150 100 95 90 20

80 90 100 150 100 95 90 20

80 90 100 150 100 95 90 20

80 90 100 150 100 95 90 20

80 90 100 150 100 95 90 20

80 90 100 150 100 95 90 20

80 90 100 150 100 95 90 20]' ;

[~,loc]=max(X); % search j

i=1:length(X(:,1)); % search i

j=loc;

while X(i,j)>90

jx(i)=j(i)+1 % find out how many j are running in iteration 1

end

jx is not shown at all, although the condition is true

while X(i,j)<90

jy(i)=j(i)-1

end

first cycle find out the quantity j while condition X> 90 at each iteration

second cycle find out the quantity j while condition X <90 at each iteration

and the problem I do not see jx and jy

Philippe Lebel
on 27 Jan 2020

Edited: Philippe Lebel
on 27 Jan 2020

You are not looping over the values of "i" nor "j"

i=1:length(X(:,1))

i =

1 2 3 4 5 6 7 8

j =

4 4 4 4 4 4 4 4 4

If you try to evaluate X(i,j), it is equivalent to say that you try to evaluate X([1 2 3 4 5 6 7 8], [4 4 4 4 4 4 4 4 4])

If you want to do what i think you want to do, here is the code:

clear all

close all

X=[ 80 90 100 110 100 95 90 20

80 90 100 150 100 95 90 20

80 90 100 150 100 95 90 20

80 90 100 150 100 95 90 20

80 90 100 150 100 95 90 20

80 90 100 150 100 95 90 20

80 90 100 150 100 95 90 20

80 90 100 150 100 95 90 20

80 90 100 150 100 95 90 20]' ;

[~,loc]=max(X); % search j

j=loc;

for i = 1:length(X(:,1))

for k = 1:length(j)

jx(i)=j(i)+1 % find out how many j are running in iteration 1

if X(i,j(k))>90

break

end

end

if X(i,j(k))>90

break

end

end

this is not optimal but it is easier to understand (i think)

Philippe Lebel
on 27 Jan 2020

this is not relevant to the question asked in this post.

I don't know what is the intent behind your code so i don't know how to respond to this.

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

Start Hunting!
## 2 Comments

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/502146-the-loop-does-not-display-results#comment_790429

⋮## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/502146-the-loop-does-not-display-results#comment_790429

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/502146-the-loop-does-not-display-results#comment_790439

⋮## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/502146-the-loop-does-not-display-results#comment_790439

Sign in to comment.