build an array y depending on x

2 views (last 30 days)
Mina on 4 Jun 2021
Answered: the cyclist on 4 Jun 2021
Build an array y by doubling all the elements of a vector x that are positive and adds 10 to all the elements of x that are negative. Note that x could be any length.
Initialise x as indicated above and y to an array of zeroes for the same number as elements as x.
Use a loop to change each element of y as described above. Use the variable i as your loop counter.
Mina on 4 Jun 2021
x = input();
for i = 1:x
if x(i) >= 0
y = x(i)* 2;
y = x(i) + 10;

Sign in to comment.

Answers (1)

the cyclist
the cyclist on 4 Jun 2021
You have a few problems to fix:
As you can see in its documentation, the input function requires you to include some prompting text, such as
input('Enter x: ')
Instead of
for i = 1:x
you want to loop from 1 to the number of elements in x (not from 1 to x itself). You should be able to figure that out. It is not difficult.
Finally, you keep overwriting the same scalar value of y, over and over. Instead, you also want to define a vector y, and only write to each element in turn. Again, I bet you can figure that out (since you are doing something similar with x).


Find more on Operators and Elementary Operations in Help Center and File Exchange


Community Treasure Hunt

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

Start Hunting!

Translated by