I am using the code below so solve function
syms x solve(1-x-x^0.3 == 0,x)
and MATLAB gives me the answer
2.2806043918081745336771958436901 0.301860807970099685692066514691 0.29115437161383716945904165867324 + 0.29287833041472217013239499780749*i 0.42827262660009503368869244743538 - 0.77711337147723605404039493650918*i 0.42827262660009503368869244743538 + 0.77711337147723605404039493650918*i 1.9090820154790144088601993088112 - 0.85475656146972727566334457636303*i 0.29115437161383716945904165867324 - 0.29287833041472217013239499780749*i 1.0802583864179162783074354058896 + 1.1426229105821451060150636481001*i 1.9090820154790144088601993088112 + 0.85475656146972727566334457636303*i 1.0802583864179162783074354058896 - 1.1426229105821451060150636481001*i
Clearly matlab sovle this problem numerically. The problem is that I find the first answer is wrong since I type
in the command code and get the result is
This is really bizzar! Is there anyone could tell me why? Really appreciated!
That first answer is not as wrong (or bizarre) as you might think. When you present 'solve' with fractional powers you must expect some unusual behavior. In the case of that first value, 2.28060439...., if you interpret its 0.3 power as the cube of its tenth root, one of those tenth roots is -1.085937913... whose cube is -1.280604392... and that will satisfy your equation.
In order to achieve a solution to your original equation, very likely 'solve' converted your problem to the polynomial equation 1 - y^10 - y^3 = 0 with the substitution y = x^(1/10) and got ten y roots. Then it took each of these to the tenth power to obtain the x values and those ten values you received are the result. You can check that by giving that equation in y to 'solve' and then taking each solution to the tenth power.