Why do I get Inf for this complex expression?

1 次查看(过去 30 天)
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
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 CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by