How do I create an array with unequal increment?

I want to design a program to create an array of numbers. The user can input the maximum and minimum values and the scaling factor.
For example,
max=256,
min=2,
scaling factor=2.
The array will be [2 4 8 16 32 64 128 256].
Is there anyway I can create such array with the max, min and scaling factor as variables? I tried doing it with the following code. However, the x(count) only gives me 1 number instead of storing the answers from the loop.
Is this the right direction to do it? Or is there any other codes to do it in a more efficient way?
Thanks!
xmax=256;
xmin=2;
xfact=2;
count=0;
x=0;
if x<=xmax
count=count+1;
x(count)=x*xfact;
end

 채택된 답변

Star Strider
Star Strider 2018년 2월 14일
Try this:
expspace = @(vmin,vmax,inc) vmin * inc.^(0:( log(vmax/vmin)/log(inc)));
vmin = 2;
vmax = 256;
inc = 2;
v = expspace(vmin, vmax, inc)
v =
2 4 8 16 32 64 128 256
It is also robust to other combinations of input arguments.

추가 답변 (1개)

Birdman
Birdman 2018년 2월 14일
a=2;%min
n=8;%max
r=2;%scaling factor
s = a*r.^(0:n-1)

댓글 수: 4

Wing
Wing 2018년 2월 14일
Thanks! But I want the max to be the last number in the array. In the code you gave me, the input of maximum value is 8 instead of 265.
Jan
Jan 2018년 2월 15일
@Wing: While the input n is 8, the last element of the output is 256 as wanted.
Stephen23
Stephen23 2018년 2월 15일
편집: Stephen23 2018년 2월 15일
"In the code you gave me, the input of maximum value is 8 instead of 265."
The last value is a*r.^(n-1), where a=2, r=2, and n=8, giving 2*2.^(8-1), which is equal to 2^8, which gives 256 (and is exactly what you requested in your question).
Wing
Wing 2018년 2월 15일
Yes, but I would like the last element to be what the input is. so the input of the max number is = the last element. I understand what you mean but the max number that is input into the program might not necessarily be 2^i. For example, min=2, max=199, scaling factor=3, and I want the array to contain the numbers of 2*3, 2*3*3, 2*3*3*3, etc. Sorry for the confusion.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

태그

질문:

2018년 2월 14일

댓글:

2018년 2월 15일

Community Treasure Hunt

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

Start Hunting!

Translated by