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.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)
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
可以具体点么,如果涉及了傅里叶变换可能是不对称引起的,把具体程序发一下吧
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯