Question about how to formulate this vector

7 次查看(过去 30 天)
Hey guys,
I am having a trouble now.
I would like to create a vector, a2 = 1.0000 0.5000 0.3333 0.2500 0.2000, but I can only have "exactly one line of code".
For example, the code xx = 1 : 6 is acceptable; the code xx = [1, 2, 3, 4, 5, 6] is not.
In addition, loop is not the right choice.
Could someone help me about it?Thanks a lot!

采纳的回答

Star Strider
Star Strider 2015-9-27
I would generate ‘a2’ simply as:
a2 = 1./[1:6]
a2 =
1 0.5 0.33333 0.25 0.2 0.16667
One line of code, as required.
  2 个评论
Star Strider
Star Strider 2015-9-28
My pleasure!
The sincerest form of appreciation here on MATLAB Answers is to Accept the Answer that most closely solves your problem.

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2015-9-27
The line of code
xx = [1, 2, 3, 4, 5, 6]
is exactly one line of code. Why do you insist it's not?
My solution to your question is to simply do this:
a2 = [1.0000 0.5000 0.3333 0.2500 0.2000]
Note, it is definitely one single line of code.
  5 个评论
WAT
WAT 2015-9-28
My best guess is that he or she was looking for a form that is easily generalizable to create an arbitrarily long vector. That's obviously far different from saying "exactly one line of code" though.
Image Analyst
Image Analyst 2015-9-28
If they have an integer n, then the OP can make it general by doing either of these lines:
a2 = ones(1,n) ./ [1:n]
a2 = 1 ./ [1:n]; % Parentheses also work (1:n)
whichever they prefer.

请先登录,再进行评论。

类别

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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by