Info
此问题已关闭。 请重新打开它进行编辑或回答。
How can I solve this
1 次查看(过去 30 天)
显示 更早的评论
write a script that select only odd numbers from random vector of length 10 and its elements between 1 to 20
0 个评论
回答(2 个)
Jan
2017-3-21
编辑:Jan
2017-3-21
As usual for homework question, let me encourage you to try it at first by your own an then ask a specific question. The forum will not solve your homework, because this is not useful in a long term of view - neitehr for you nor for the forum.
Start with the definition of "odd": The rest of a division by 2 is 1. The rem or mod function is useful to calculate this.
Then you should extract elements in the range between 1 and 20. (Is this correct? Or should the inputs vector have this range?) Then use "logical indexing" - search in the documentation for these terms, or here in the forum. Note that "1<x<20" is not valid in Matlat, but you need 1 < x & x < 20.
Please try it and then post the code you got so far. When you ask a specific question, the forum will help you: Assistance is fine, posting solutions is not.
0 个评论
John BG
2017-3-20
编辑:John BG
2017-3-21
Hi Ghada
x=randi([1 20],1,10)
x_odds=nonzeros(x.*mod(x,2))' % find odd parity values of x
x_odds_locations=find(mod(x,2))
x =
12 15 1 10 16 8 2 6 14 17
x_odds = 15 1 17
x_odds_locations = 2 3 10
if you find this answer useful would you please be so kind to consider marking my answer as Accepted Answer?
To any other reader, if you find this answer useful please consider clicking on the thumbs-up vote link
thanks in advance
John BG
2 个评论
James Tursa
2017-3-20
This solution does not work and generates an error because of invalid indexing in x_odds=x(mod(x,2)). Also, since this is obviously homework, it is best in this forum to encourage the poster to make an attempt and offer advice/corrections on his/her attempt rather than giving a complete solution outright.
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!