您当前的位置: 百科371电脑/网络其他编程 → 电脑/网络内容 退出登录 用户管理 用户注册
本类热门文章
相关文章
中原建材网
MATLAB solve() 的问题?

减小字体 增大字体

问题:为什么同一个方程把 0.3 写成 3/10 和 0.3 解出来的结果不一样,而且第一个ans数据类型是结构体,里边还出现了虚数单位 i !! 这是怎么回事?%=====定义一个函数=====function U = E_U( E,x)U = U=E+2*x.^3-3*x.^2;%========>>E=0.3;>>syms x;>> y=E_U(E,x) y = 3/10+2*x^3-3*x^2>>solve(y)就得到下面的结果,用solve(0.3+2*x^3-3*x^2)正常。 我要在一个循环里边用到 solve(y) 没法一个个改成小数,请问怎么办。>> solve(10/3+2*x^3-3*x^2,x) ans = -1/6*(153+18*70^(1/2))^(1/3)-3/2/(153+18*70^(1/2))^(1/3)+1/2 1/12*(153+18*70^(1/2))^(1/3)+3/4/(153+18*70^(1/2))^(1/3)+1/2+1/2*i*3^(1/2)*(-1/6*(153+18*70^(1/2))^(1/3)+3/2/(153+18*70^(1/2))^(1/3)) 1/12*(153+18*70^(1/2))^(1/3)+3/4/(153+18*70^(1/2))^(1/3)+1/2-1/2*i*3^(1/2)*(-1/6*(153+18*70^(1/2))^(1/3)+3/2/(153+18*70^(1/2))^(1/3)) >> solve(0.3+2*x^3-3*x^2,x) ans = -.28951924828608542762680297014191 .36325749109056761357673427729897 1.4262617571955178140500686928429 >>  

eval(solve('0.3+2*x^3-3*x^2 '))
%%
eval(solve('3./10+2*x^3-3*x^2 '))

分数和小数在计算的时候他不会自动的转换,对于SOLVE()的输出s是已构架数组。。。

可以通过上述方法排除。。。。

如果你对为什么同一个方程把 0.3 写成 3/10 和 0.3 解出来的结果不一样,而且第一个ans数据类型是结构体,里边还出现了虚数单位 i !! 这是怎么回事?%=====定义一个函数=====function U = E_U( E,x)U = U=E+2*x.^3-3*x.^2;%========>>E=0.3;>>syms x;>> y=E_U(E,x) y = 3/10+2*x^3-3*x^2>>solve(y)就得到下面的结果,用solve(0.3+2*x^3-3*x^2)正常。 我要在一个循环里边用到 solve(y) 没法一个个改成小数,请问怎么办。>> solve(10/3+2*x^3-3*x^2,x) ans = -1/6*(153+18*70^(1/2))^(1/3)-3/2/(153+18*70^(1/2))^(1/3)+1/2 1/12*(153+18*70^(1/2))^(1/3)+3/4/(153+18*70^(1/2))^(1/3)+1/2+1/2*i*3^(1/2)*(-1/6*(153+18*70^(1/2))^(1/3)+3/2/(153+18*70^(1/2))^(1/3)) 1/12*(153+18*70^(1/2))^(1/3)+3/4/(153+18*70^(1/2))^(1/3)+1/2-1/2*i*3^(1/2)*(-1/6*(153+18*70^(1/2))^(1/3)+3/2/(153+18*70^(1/2))^(1/3)) >> solve(0.3+2*x^3-3*x^2,x) ans = -.28951924828608542762680297014191 .36325749109056761357673427729897 1.4262617571955178140500686928429 >>这个问题有好的意见或 建议,请留言
[] [返回上一页] [打 印]
电脑/网络评论 (评论内容只代表网友观点,与本站立场无关!)

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码

中原建材网 简单版 站长QQ:382546553