
solve equation by numerical method
8 views (last 30 days)
Show older comments
i need to solve this hideous equation.
2*x3+(2^(1/2)*exp(-x3^2/2) + 2^(1/2))/(pi^(1/2)*erf((2^(1/2)*x3)/2))+(2^(1/2)*exp(-x3^2/2))/(pi^(1/2)*(erf((2^(1/2)*x3)/2) - 1))=0
my_function = @(x3) 2*x3+(2^(1/2)*exp(-x3^2/2) + 2^(1/2))/(pi^(1/2)*erf((2^(1/2)*x3)/2))+(2^(1/2)*exp(-x3^2/2))/(pi^(1/2)*(erf((2^(1/2)*x3)/2) - 1))==0;
z = solve(my_function)
when i compile this, it says "Empty sym: 0-by-1" i don't think the answer can be found. I tried the fpsolve, fzero functions too but none were effective. How do i find the root for that equation? Thank you
0 Comments
Accepted Answer
dpb
on 2 Jun 2018
Always try to plot() something to see what you have...
>> fnf = @(x3) 2*x3+(2^(1/2)*exp(-x3^2/2) + 2^(1/2))/(pi^(1/2)*erf((2^(1/2)*x3)/2))+(2^(1/2)*exp(-x3^2/2))/(pi^(1/2)*(erf((2^(1/2)*x3)/2) - 1));
>> ezplot(fnf)
Warning: Function failed to evaluate on array inputs; vectorizing the function may speed up its evaluation and avoid
the need to loop over array elements.
> In ezplot>ezplot1 (line 498)
In ezplot (line 154)
>> ylim([-8 8])
>>
yields

which clearly shows there is no intersection of the zero line
2 Comments
More Answers (1)
Walter Roberson
on 2 Jun 2018
That equation has no real-valued solutions. It goes to negative infinity as x3 approaches 0 from below, and to positive infinity as x3 approaches 0 from above.
You might find it easier to rewrite it as a system of two equations, one involving the real part and the other involving the imaginary part, after having rewritten x3 to x3r+1i*x3i where x3r and x3i are both real-valued.
1 Comment
Walter Roberson
on 2 Jun 2018
My experimentation suggests there are two complex-valued roots, at approximately .3382099048573570581422493 +/- 1.359657273974301366628947*1i
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!