matlab的计算结果为什么是个复数呢
6个回答
展开全部
结果是复数的原因:
(-1.2905e+7)^0.7143
= (-1.2905e+7)^(7143/10000)
= [ (-1.2905e+7)^(1/2) ]^(7143/5000)
其中,(-1.2905e+7)^(1/2) 是负数的平方根,因此结果为复数
-----------------------------------------------------------
为了避免复数,我们可以把负号提出来:
- (1.2905e+7)^0.7143
ans
= -1.2001e+5
因为结果不是负数的话, (-1.2905e+7)^0.7143 就等于 -(1.2905e+7)^0.7143,
以此来得到想要的结果
(-1.2905e+7)^0.7143
= (-1.2905e+7)^(7143/10000)
= [ (-1.2905e+7)^(1/2) ]^(7143/5000)
其中,(-1.2905e+7)^(1/2) 是负数的平方根,因此结果为复数
-----------------------------------------------------------
为了避免复数,我们可以把负号提出来:
- (1.2905e+7)^0.7143
ans
= -1.2001e+5
因为结果不是负数的话, (-1.2905e+7)^0.7143 就等于 -(1.2905e+7)^0.7143,
以此来得到想要的结果
展开全部
复数输入或者存在对负数开根号的情况了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以具体点么,如果涉及了傅里叶变换可能是不对称引起的,把具体程序发一下吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
法1:用复数结构
x=complex(1,2)
则
x=1 +2i
法2:用函数句柄
如
f=@(x,y) x+y*j
则
f(1,2)=1 +2i
法3:用符号表达式
syms x y
f=x+y*j
eval(f)
x=complex(1,2)
则
x=1 +2i
法2:用函数句柄
如
f=@(x,y) x+y*j
则
f(1,2)=1 +2i
法3:用符号表达式
syms x y
f=x+y*j
eval(f)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
负数的开方难道不是复数吗,属于高中和大学数学
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询