Product of vector elements where the vector has a large size

3 ビュー (過去 30 日間)
HAT
HAT 2022 年 1 月 5 日
コメント済み: HAT 2022 年 1 月 5 日
I want to find the nth root of a product for all elements of a vector V having a large size (1064 elements) given as follows.
However, it gives me the answer Inf. Is there any alternative way in matlab to calculate the nth root of the product, where n=length(V)? Thanks.
clear
V = [64 64 256 64 64 64 64 64 256 256 4 4 4 16 16 4 4 4 16 16 64 16 16 16 4 4 16 4 4 16 16 4 16 4 4 16 4 4 4 16 16 64 64 0.250000000000000 0.250000000000000 1 0.250000000000000 0.250000000000000 0.250000000000000 0.250000000000000 0.250000000000000 1 1 4 4 4 16 16 4 4 4 4 4 16 4 4 4 4 4 4 4 4 4 4 4 16 4 4 16 4 4 4 4 4 16 16 64 64 64 256 256 4 4 4 16 16 4 16 4 16 64 64 0.250000000000000 0.250000000000000 0.250000000000000 1 1 4 4 4 4 4 4 16 4 4 16 16 64 64 4 16 16 0.250000000000000 0.250000000000000 4 4 4 64 16 0.250000000000000 4 16 16 64 64 256 64 64 256 4 16 4 16 64 4 4 4 16 16 64 0.250000000000000 1 0.250000000000000 0.250000000000000 1 4 16 4 4 16 4 4 4 4 4 16 64 64 4 16 16 0.250000000000000 0.250000000000000 4 4 4 64 16 0.250000000000000 4 16 16 64 64 4 4 16 4 4 4 4 4 16 16 4 4 4 16 16 4 4 4 16 16 64 4 16 4 4 16 4 4 4 16 16 64 64 64 64 256 64 64 256 256 64 256 256 64 128 128 512 64 64 128 64 64 128 128 64 256 256 64 128 128 512 512 4 4 4 16 16 4 16 4 16 64 64 4 16 16 4 8 8 8 8 32 32 4 4 4 8 8 4 16 4 8 32 32 128 8 8 8 4 4 8 4 4 8 8 4 4 4 16 16 4 4 4 8 8 32 4 4 4 16 16 4 4 4 8 8 32 32 4 16 4 4 16 4 16 4 16 64 64 4 16 16 16 16 64 4 8 8 32 4 4 4 8 8 4 16 4 8 32 32 128 128 4 4 16 4 4 4 4 4 16 16 4 4 4 16 16 4 4 4 4 4 16 4 16 4 4 16 4 4 4 4 4 16 16 0.250000000000000 0.250000000000000 1 0.250000000000000 0.250000000000000 1 1 0.250000000000000 1 1 0.250000000000000 0.500000000000000 0.500000000000000 2 0.250000000000000 0.250000000000000 0.500000000000000 0.250000000000000 0.250000000000000 0.500000000000000 0.500000000000000 0.250000000000000 1 1 0.250000000000000 0.500000000000000 0.500000000000000 2 2 4 4 4 16 16 4 16 4 4 16 16 4 16 16 4 8 8 8 8 32 32 4 4 4 8 8 4 4 4 8 8 8 32 8 8 8 4 4 8 4 4 8 8 4 4 4 4 4 4 4 4 8 8 8 4 4 4 4 4 4 4 4 8 8 8 8 4 16 4 4 16 4 16 4 4 16 16 4 16 16 16 16 64 4 8 8 32 4 4 4 8 8 4 4 4 8 8 8 32 32 64 64 64 256 256 4 4 4 16 16 4 16 4 16 64 64 0.250000000000000 0.250000000000000 0.250000000000000 1 1 4 4 4 4 4 4 16 4 4 16 16 64 256 4 16 64 0.250000000000000 1 4 4 16 64 16 0.250000000000000 4 16 64 64 4 4 4 16 16 4 16 4 16 64 64 64 256 256 64 128 128 128 128 512 512 4 4 4 8 8 4 16 4 8 32 32 4 16 64 16 16 64 4 8 32 128 128 4 4 4 16 16 4 16 4 4 16 16 0.250000000000000 1 1 0.250000000000000 0.500000000000000 0.500000000000000 0.500000000000000 0.500000000000000 2 2 4 4 4 8 8 4 4 4 8 8 8 4 16 16 16 16 64 4 8 8 32 32 4 4 4 16 16 64 64 64 128 128 4 16 4 8 32 32 4 4 4 4 4 0.250000000000000 0.250000000000000 0.250000000000000 0.500000000000000 0.500000000000000 4 4 4 8 8 8 64 16 0.250000000000000 4 16 4 16 64 128 32 4 4 0.250000000000000 0.500000000000000 8 32 32 128 8 8 8 4 4 16 4 4 16 16 64 64 64 64 64 128 64 64 128 128 4 4 4 16 16 4 4 4 8 8 32 4 4 4 16 16 4 4 4 8 8 32 32 8 8 8 4 4 4 4 4 4 4 0.250000000000000 0.250000000000000 0.250000000000000 0.250000000000000 0.250000000000000 0.500000000000000 0.250000000000000 0.250000000000000 0.500000000000000 0.500000000000000 4 4 4 4 4 4 4 4 8 8 8 4 4 4 4 4 4 4 4 8 8 8 8 64 64 4 16 16 0.250000000000000 0.250000000000000 4 4 4 64 16 0.250000000000000 4 16 16 4 4 4 16 16 64 64 64 128 128 4 16 4 8 32 32 4 4 4 4 4 0.250000000000000 0.250000000000000 0.250000000000000 0.500000000000000 0.500000000000000 4 4 4 8 8 8 32 64 64 4 16 16 0.250000000000000 0.250000000000000 4 4 4 64 16 0.250000000000000 4 16 16 4 4 4 16 16 64 64 64 128 128 4 16 4 8 32 32 4 4 4 4 4 0.250000000000000 0.250000000000000 0.250000000000000 0.500000000000000 0.500000000000000 4 4 4 8 8 8 32 32 64 256 64 64 256 4 16 4 16 64 4 4 4 16 16 64 0.250000000000000 1 0.250000000000000 0.250000000000000 1 4 16 4 4 16 4 4 4 4 4 16 64 256 4 16 64 0.250000000000000 1 4 4 16 64 16 0.250000000000000 4 16 64 64 4 16 4 4 16 4 16 4 16 64 64 64 256 256 256 256 1024 64 128 128 512 4 16 64 16 16 64 4 8 32 128 4 4 4 8 8 4 16 4 8 32 32 128 4 16 4 4 16 4 16 4 4 16 16 0.250000000000000 1 1 1 1 4 0.250000000000000 0.500000000000000 0.500000000000000 2 4 16 16 16 16 64 4 8 8 32 4 4 4 8 8 4 4 4 8 8 8 32 4 4 4 16 16 64 64 64 128 128 4 16 4 8 32 32 4 4 4 4 4 0.250000000000000 0.250000000000000 0.250000000000000 0.500000000000000 0.500000000000000 4 4 4 8 8 8 64 16 0.250000000000000 4 16 4 16 64 128 32 4 4 0.250000000000000 0.500000000000000 8 32 32 128];
length(V)
ans = 1064
nthroot(prod(V),length(V))
ans = Inf
Moreover, the following code fails to provide a number different from "Inf".
clear
V = [64 64 256 64 64 64 64 64 256 256 4 4 4 16 16 4 4 4 16 16 64 16 16 16 4 4 16 4 4 16 16 4 16 4 4 16 4 4 4 16 16 64 64 0.250000000000000 0.250000000000000 1 0.250000000000000 0.250000000000000 0.250000000000000 0.250000000000000 0.250000000000000 1 1 4 4 4 16 16 4 4 4 4 4 16 4 4 4 4 4 4 4 4 4 4 4 16 4 4 16 4 4 4 4 4 16 16 64 64 64 256 256 4 4 4 16 16 4 16 4 16 64 64 0.250000000000000 0.250000000000000 0.250000000000000 1 1 4 4 4 4 4 4 16 4 4 16 16 64 64 4 16 16 0.250000000000000 0.250000000000000 4 4 4 64 16 0.250000000000000 4 16 16 64 64 256 64 64 256 4 16 4 16 64 4 4 4 16 16 64 0.250000000000000 1 0.250000000000000 0.250000000000000 1 4 16 4 4 16 4 4 4 4 4 16 64 64 4 16 16 0.250000000000000 0.250000000000000 4 4 4 64 16 0.250000000000000 4 16 16 64 64 4 4 16 4 4 4 4 4 16 16 4 4 4 16 16 4 4 4 16 16 64 4 16 4 4 16 4 4 4 16 16 64 64 64 64 256 64 64 256 256 64 256 256 64 128 128 512 64 64 128 64 64 128 128 64 256 256 64 128 128 512 512 4 4 4 16 16 4 16 4 16 64 64 4 16 16 4 8 8 8 8 32 32 4 4 4 8 8 4 16 4 8 32 32 128 8 8 8 4 4 8 4 4 8 8 4 4 4 16 16 4 4 4 8 8 32 4 4 4 16 16 4 4 4 8 8 32 32 4 16 4 4 16 4 16 4 16 64 64 4 16 16 16 16 64 4 8 8 32 4 4 4 8 8 4 16 4 8 32 32 128 128 4 4 16 4 4 4 4 4 16 16 4 4 4 16 16 4 4 4 4 4 16 4 16 4 4 16 4 4 4 4 4 16 16 0.250000000000000 0.250000000000000 1 0.250000000000000 0.250000000000000 1 1 0.250000000000000 1 1 0.250000000000000 0.500000000000000 0.500000000000000 2 0.250000000000000 0.250000000000000 0.500000000000000 0.250000000000000 0.250000000000000 0.500000000000000 0.500000000000000 0.250000000000000 1 1 0.250000000000000 0.500000000000000 0.500000000000000 2 2 4 4 4 16 16 4 16 4 4 16 16 4 16 16 4 8 8 8 8 32 32 4 4 4 8 8 4 4 4 8 8 8 32 8 8 8 4 4 8 4 4 8 8 4 4 4 4 4 4 4 4 8 8 8 4 4 4 4 4 4 4 4 8 8 8 8 4 16 4 4 16 4 16 4 4 16 16 4 16 16 16 16 64 4 8 8 32 4 4 4 8 8 4 4 4 8 8 8 32 32 64 64 64 256 256 4 4 4 16 16 4 16 4 16 64 64 0.250000000000000 0.250000000000000 0.250000000000000 1 1 4 4 4 4 4 4 16 4 4 16 16 64 256 4 16 64 0.250000000000000 1 4 4 16 64 16 0.250000000000000 4 16 64 64 4 4 4 16 16 4 16 4 16 64 64 64 256 256 64 128 128 128 128 512 512 4 4 4 8 8 4 16 4 8 32 32 4 16 64 16 16 64 4 8 32 128 128 4 4 4 16 16 4 16 4 4 16 16 0.250000000000000 1 1 0.250000000000000 0.500000000000000 0.500000000000000 0.500000000000000 0.500000000000000 2 2 4 4 4 8 8 4 4 4 8 8 8 4 16 16 16 16 64 4 8 8 32 32 4 4 4 16 16 64 64 64 128 128 4 16 4 8 32 32 4 4 4 4 4 0.250000000000000 0.250000000000000 0.250000000000000 0.500000000000000 0.500000000000000 4 4 4 8 8 8 64 16 0.250000000000000 4 16 4 16 64 128 32 4 4 0.250000000000000 0.500000000000000 8 32 32 128 8 8 8 4 4 16 4 4 16 16 64 64 64 64 64 128 64 64 128 128 4 4 4 16 16 4 4 4 8 8 32 4 4 4 16 16 4 4 4 8 8 32 32 8 8 8 4 4 4 4 4 4 4 0.250000000000000 0.250000000000000 0.250000000000000 0.250000000000000 0.250000000000000 0.500000000000000 0.250000000000000 0.250000000000000 0.500000000000000 0.500000000000000 4 4 4 4 4 4 4 4 8 8 8 4 4 4 4 4 4 4 4 8 8 8 8 64 64 4 16 16 0.250000000000000 0.250000000000000 4 4 4 64 16 0.250000000000000 4 16 16 4 4 4 16 16 64 64 64 128 128 4 16 4 8 32 32 4 4 4 4 4 0.250000000000000 0.250000000000000 0.250000000000000 0.500000000000000 0.500000000000000 4 4 4 8 8 8 32 64 64 4 16 16 0.250000000000000 0.250000000000000 4 4 4 64 16 0.250000000000000 4 16 16 4 4 4 16 16 64 64 64 128 128 4 16 4 8 32 32 4 4 4 4 4 0.250000000000000 0.250000000000000 0.250000000000000 0.500000000000000 0.500000000000000 4 4 4 8 8 8 32 32 64 256 64 64 256 4 16 4 16 64 4 4 4 16 16 64 0.250000000000000 1 0.250000000000000 0.250000000000000 1 4 16 4 4 16 4 4 4 4 4 16 64 256 4 16 64 0.250000000000000 1 4 4 16 64 16 0.250000000000000 4 16 64 64 4 16 4 4 16 4 16 4 16 64 64 64 256 256 256 256 1024 64 128 128 512 4 16 64 16 16 64 4 8 32 128 4 4 4 8 8 4 16 4 8 32 32 128 4 16 4 4 16 4 16 4 4 16 16 0.250000000000000 1 1 1 1 4 0.250000000000000 0.500000000000000 0.500000000000000 2 4 16 16 16 16 64 4 8 8 32 4 4 4 8 8 4 4 4 8 8 8 32 4 4 4 16 16 64 64 64 128 128 4 16 4 8 32 32 4 4 4 4 4 0.250000000000000 0.250000000000000 0.250000000000000 0.500000000000000 0.500000000000000 4 4 4 8 8 8 64 16 0.250000000000000 4 16 4 16 64 128 32 4 4 0.250000000000000 0.500000000000000 8 32 32 128];
Product_V=1;
for i=1:length(V)
Product_V = Product_V.*V(i); % product of V's elements
end
length(V)
ans = 1064
Product_V
Product_V = Inf
nthroot( Product_V,length(V))
ans = Inf

採用された回答

Torsten
Torsten 2022 年 1 月 5 日
編集済み: Torsten 2022 年 1 月 5 日
Product_V = exp(sum(log(V(1,:)))/numel(V))
  1 件のコメント
HAT
HAT 2022 年 1 月 5 日
It works. Thank you very much!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeExponents and Logarithms についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by