Why do I get Inf for this complex expression?

1 回表示 (過去 30 日間)
Daniel Montgomery
Daniel Montgomery 2020 年 6 月 2 日
回答済み: Ayden Clay 2020 年 6 月 2 日
I have a function that generates a complex number but I get Inf for x. how could this be, if I do not make a logical error
for f=1:100
%a and b are struct passed by value, e.g. sturct(1).field
[R1,R2] = Prop(a(f),b(f),f,constant(f))
{e1=cell2mat(a)+cell2mat(b);
e2=cell2mat(a)-cell2mat(b);
w=(1-e1.*e2)./(e1-e2);}
end
  2 件のコメント
Daniel Montgomery
Daniel Montgomery 2020 年 6 月 2 日
e.g. sturct(1).field=1+j
e.g. sturct(1).field2=2+j3.5
David Goodmanson
David Goodmanson 2020 年 6 月 2 日
Hi Daniel,
if you mean that you get inf for w, then on the basis of the information given the most obvious possibliity is that for at least one value of f the value of cell2mat(b) is zero.

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

回答 (1 件)

Ayden Clay
Ayden Clay 2020 年 6 月 2 日
Hi Daniel,
So in MATLAB there are only a few ways to get an output of "inf". The most common in equations is that we are dividing by zero.
In this case since w = (1-e1*e2)/(e1-e2), it must be the case that for some f, e1 = e2. This can only be the case if a+b = a-b which is only possible if b = -b, which is only possible if b = 0.

カテゴリ

Help Center および File ExchangeEntering Commands についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by