W dniu 2012-12-15 19:19, sergio_r@mail.com pisze:
> Hello all,
>
> Is there a way of telling matlab to return first a real root
> instead of a complex one?
>
> For some strange reason matlab seems not to handle cubic roots
> properly. Apparently the default behaviour is to first
> report a complex root. Let's see two examples:
>
>>> (-1/2)^(1/3)
>
> ans =
>
> 0.3969 + 0.6874i
nthroot(-1/2,3)
>
>>> (-1/2)^(2/3)
>
> ans =
>
> -0.3150 + 0.5456i
nthroot(-1/2,3)^2
I'm afraid this is the simplest way, but I'm not sure.
bartekltg
> Hello all,
>
> Is there a way of telling matlab to return first a real root
> instead of a complex one?
>
> For some strange reason matlab seems not to handle cubic roots
> properly. Apparently the default behaviour is to first
> report a complex root. Let's see two examples:
>
>>> (-1/2)^(1/3)
>
> ans =
>
> 0.3969 + 0.6874i
nthroot(-1/2,3)
>
>>> (-1/2)^(2/3)
>
> ans =
>
> -0.3150 + 0.5456i
nthroot(-1/2,3)^2
I'm afraid this is the simplest way, but I'm not sure.
bartekltg