build an array y depending on x

10 次查看(过去 30 天)
Mina
Mina 2021-6-4
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 个评论
Adam Danz
Adam Danz 2021-6-4
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 2021-6-4
x = input();
for i = 1:x
if x(i) >= 0
y = x(i)* 2;
else
y = x(i) + 10;
end
disp(y);
end

请先登录,再进行评论。

回答(1 个)

the cyclist
the cyclist 2021-6-4
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).

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by