| 查看: 1204 | 回复: 7 | |||
dxyan木虫 (正式写手)
|
[交流]
【求助】关于MATLAB解三次方程 已有3人参与
|
|
第一种 syms z a=0.013583 b=0.0010855 f=z^3-z^2+z*(a-b-b^2)-a*b s=solve(f,'z') x=vpa(s,6) 第二种 f=sym('z^3-z^2+z*(0.013583-0.0010855-0.0010855^2)-0.013583*0.0010855=0') s=solve(f,'z') d=vpa(s,6) 这两种:第一种解下下来是三个虚根,第二种是三个实根,而且虚根的实部是和实根一样的?为什么呢?因为程序a,b需要不断赋新值,故要采用第一种方法,可是这两种那种计算正确呢。 |
» 猜你喜欢
垃圾破二本职称评审标准
已经有18人回复
职称评审没过,求安慰
已经有53人回复
毕业后当辅导员了,天天各种学生超烦
已经有5人回复
26申博自荐
已经有3人回复
A期刊撤稿
已经有4人回复
EST投稿状态问题
已经有7人回复

2楼2010-04-23 14:53:18

3楼2010-04-23 14:54:31
dxyan
木虫 (正式写手)
- 应助: 0 (幼儿园)
- 金币: 2731.5
- 散金: 141
- 红花: 1
- 帖子: 433
- 在线: 248.8小时
- 虫号: 97554
- 注册: 2005-11-09
- 性别: MM
- 专业: 分离过程
4楼2010-04-23 15:46:55

5楼2010-04-23 17:14:14
dxyan
木虫 (正式写手)
- 应助: 0 (幼儿园)
- 金币: 2731.5
- 散金: 141
- 红花: 1
- 帖子: 433
- 在线: 248.8小时
- 虫号: 97554
- 注册: 2005-11-09
- 性别: MM
- 专业: 分离过程
|
不能保证方程解出的根都是实根,所以求出实根后,用如下程序提取实根 提取实根比较 第一种 syms z a=0.013583 b=0.0010855 f=z^3-z^2+z*(a-b-b^2)-a*b x=solve(f,'z') x=double(x) for k=1:length(x) y(k) = isreal(x(k)); end X_real=x(y) 第二种 f=sym('z^3-z^2+z*(0.013583-0.0010855-0.0010855^2)-0.013583*0.0010855=0') s=solve(f,'z') x=double(s) for k=1:length(x) y(k) = isreal(x(k)); end X_real=x(y) 第一种无法提取实根,第二种可以 |
6楼2010-04-23 19:35:59

7楼2010-04-24 17:19:25

8楼2013-10-11 10:23:49













回复此楼
