![]() |
[求助]关于 solve() 的疑问!
为什么同一个方程把 0.3 写成 3/10 和 0.3 解出来的结果不一样,而且第一个ans数据类型是结构体,里边还出现了虚数单位 i !! 这是怎么回事?
>> 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 ================== %=====定义一个函数===== 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') 也一样的问题 |
回复: [求助]关于 solve() 的疑问!
sx=solve('10/3+2*x^3-3*x^2','x');
eval(sx) |
回复: [求助]关于 solve() 的疑问!
10\3的问题???是不是涉及到数据类型了啊?
|
所有时间均为北京时间。现在的时间是 02:57。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.