永发信息网

matlab的计算结果为什么是个复数呢

答案:6  悬赏:0  手机版
解决时间 2021-01-14 13:15
  • 提问者网友:wodetian
  • 2021-01-14 00:57
matlab的计算结果为什么是个复数呢
最佳答案
  • 五星知识达人网友:痴妹与他
  • 2021-01-14 01:11
结果是复数的原因:
(-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楼网友:青灯有味
  • 2021-01-14 05:20
法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)
  • 2楼网友:孤独的牧羊人
  • 2021-01-14 05:14
难道不应该是一个复数吗?毕竟是小于1的幂
  • 3楼网友:長槍戰八方
  • 2021-01-14 04:14
复数输入或者存在对负数开根号的情况了
  • 4楼网友:冷風如刀
  • 2021-01-14 02:51
负数的开方难道不是复数吗,属于高中和大学数学
  • 5楼网友:神鬼未生
  • 2021-01-14 01:38
可以具体点么,如果涉及了傅里叶变换可能是不对称引起的,把具体程序发一下吧
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯