indexing a vector by a power
古いコメントを表示
I would like my vector to go by powers of 2 but everything I tried hasn't worked.
for n = 0:9
pow = (1:2^n:512)
end
but this doesn't return a vector with 1, 2, 4, 16, ...
What can I do to achieve this?
採用された回答
その他の回答 (2 件)
Azzi Abdelmalek
2013 年 9 月 25 日
0 投票
Why are you using if n = 0:9. what you need is a for loop
6 件のコメント
dustin
2013 年 9 月 25 日
Azzi Abdelmalek
2013 年 9 月 25 日
post your code with a for loop
dustin
2013 年 9 月 25 日
Azzi Abdelmalek
2013 年 9 月 25 日
your for loop woks only for n=9, because you are erasing the previous result each iteration
If you have
n=1
pow=2^n
for the next iteration
n=2
power=2^n
What is the result?
dustin
2013 年 9 月 25 日
Azzi Abdelmalek
2013 年 9 月 25 日
Image Analyst
2013 年 9 月 25 日
I don't know what happened to 2^3=8 - maybe it's missing, but if each element is the square of the previous element, this will do that and give you the output you gave:
p = [1, 2];
for k = 3 : 9
p(k) = p(k-1)^2;
end
% Display p
p
In the command window:
p =
Columns 1 through 7
1 2 4 16 256 65536 4294967296
Columns 8 through 9
1.84467440737096e+19 3.40282366920938e+38
On the other hand, this code seems to be more like what your code does, but does not give you the output you gave because the 8 is in there:
for k = 0 : 9
p(k+1) = 2^k;
end
% Display p
p
In the command window:
p =
1 2 4 8 16 32 64 128 256 512
2 件のコメント
dustin
2013 年 9 月 25 日
@dustin: But p is a vector already.
These questions are such basic, that I suggest (as Azzi's did already) to read the Getting Started chapters of the documentation. The forum is not the right place to learn the fundamental usage of Matlab, because this has been done exhaustively by experts in the documentation already. If we re-tell what you can find there, too much time would be wasted.
カテゴリ
ヘルプ センター および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!