build an array y depending on x

10 visualizzazioni (ultimi 30 giorni)
Mina
Mina il 4 Giu 2021
Risposto: the cyclist il 4 Giu 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.
  2 Commenti
Adam Danz
Adam Danz il 4 Giu 2021
What have you tried already to meet these goals?
If you're having trouble getting started, consider going through the Matlab on ramp.
Mina
Mina il 4 Giu 2021
x = input();
for i = 1:x
if x(i) >= 0
y = x(i)* 2;
else
y = x(i) + 10;
end
disp(y);
end

Accedi per commentare.

Risposte (1)

the cyclist
the cyclist il 4 Giu 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).

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by