matlab为什么求出来的实部包含i
答案:2 悬赏:40
解决时间 2021-02-21 11:38
- 提问者网友:十年饮冰
- 2021-02-20 11:48
matlab为什么求出来的实部包含i
最佳答案
- 二级知识专家网友:从此江山别
- 2021-02-20 12:08
matlab对符号求实部,会出问题的。
结果中是含有real()的一个式子。其实MATLAB并没有对h11真正地去求实部,只是把real函数写了进去。推荐使用mathmetic
另外,楼主你好。我发现在用real之前,使用syms real,会解决上述问题,也就是说MATLAB也可以解决了。而且在我机器上,你的程序已经运行出了结果:
并没有出现i,应该是real函数使用的问题。
使用的时候需要将real和所有符号变量一起设置才好。
比如可以这样
syms a
syms b real
那么
real(b+i)
结果
b
real(a+i)
结果
real(a)
楼主是否明白?
楼主程序中的一行很重要,我第一次运行时没有跳过了它,结果含有i,第二次全部复制了,就没有i了。正是验证了我上面关于real函数使用的问题。
这一行是
syms f real
因为只有这样,程序都会把real(f)计算出来当作f.
追问:没懂 起
追答:楼主把程序复制再运行一次, 就知道了,没有问题的。real不识别real(f),除非 用syms f real
楼主,请记住:real函数使用的方法
把它和所有的符号变量一起定义,你程序中,用到一个变量定义一个,不如一起定义了。
比如
syms s o h h1 h11 f real
结果中是含有real()的一个式子。其实MATLAB并没有对h11真正地去求实部,只是把real函数写了进去。推荐使用mathmetic
另外,楼主你好。我发现在用real之前,使用syms real,会解决上述问题,也就是说MATLAB也可以解决了。而且在我机器上,你的程序已经运行出了结果:
并没有出现i,应该是real函数使用的问题。
使用的时候需要将real和所有符号变量一起设置才好。
比如可以这样
syms a
syms b real
那么
real(b+i)
结果
b
real(a+i)
结果
real(a)
楼主是否明白?
楼主程序中的一行很重要,我第一次运行时没有跳过了它,结果含有i,第二次全部复制了,就没有i了。正是验证了我上面关于real函数使用的问题。
这一行是
syms f real
因为只有这样,程序都会把real(f)计算出来当作f.
追问:没懂 起
追答:楼主把程序复制再运行一次, 就知道了,没有问题的。real不识别real(f),除非 用syms f real
楼主,请记住:real函数使用的方法
把它和所有的符号变量一起定义,你程序中,用到一个变量定义一个,不如一起定义了。
比如
syms s o h h1 h11 f real
全部回答
- 1楼网友:街头电车
- 2021-02-20 13:33
求出来哪个值有i啊?我这边运行的结果没有啊
追问:x1里面没有i!?
追答:那个i不是虚数单位啊= =是循环变量,等于10...
所以说MATLAB里循环变量最好别用i和j 很容易和虚数单位混淆。一般都是用m和n
追问:x1里面没有i!?
追答:那个i不是虚数单位啊= =是循环变量,等于10...
所以说MATLAB里循环变量最好别用i和j 很容易和虚数单位混淆。一般都是用m和n
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯