How can i create a new vector with conditions?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Alex Yande
am 11 Apr. 2019
Kommentiert: madhan ravi
am 11 Apr. 2019
d=[100 200 300;
250 350 450;
810 550 600;
500 700 400]
v=[1 1 1 1]
d has 4 rows and v has 4 elements.
If d's all of the elements of any row are less than 800, v (row) must be equal to 5. But this process must continue until any element of any row is greater than 800.
Example:
d(1,:)<800 so v(1)=5
d(2,:)<800 so v(2)=5
d(3,:), all of them not less than 800. So v(3)=1
d(4,:)<800. But v(4) will not be changed. Because we find a value which is greater than 800 at row 3.
How can i achieve this problem?
Thanks,
3 Kommentare
Stephen23
am 11 Apr. 2019
"v must be have 5 elements"
I count six elements in your example output:
"Final matrix should be [5 5 5 1 1 1]."
Please revise and correct your question so that we know what you want.
Akzeptierte Antwort
Stephen23
am 11 Apr. 2019
>> d = [100,200,300;250,350,450;810,550,600;500,700,400]
d =
100 200 300
250 350 450
810 550 600
500 700 400
>> v = 1+4*cumprod(all(d<800,2))
v =
5
5
1
1
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!