How to only collect real part of the cube root

I am having a problem while calculating the cube root in the following code; I am getting an imaginary value of R0, which is not physically possible for the problem! how do I could get the real part only in this problem? please help!
N=50
R= linspace(30e-9,100e-9,N)
Nt= linspace(1e17,1e18,N)
Nd= 5e24
for i= N
R0(i) =((3*R(i).^2).*(-(Nt(i)./Nd)+(R(i)./3))).^(1/3)
end

 Respuesta aceptada

Steven Lord
Steven Lord el 10 de Jun. de 2019
Editada: Steven Lord el 10 de Jun. de 2019

1 voto

Use the nthroot function. With this you can replace your loop with element-wise operators and process your whole vector of data in one nthroot call.

1 comentario

Anil Kumar
Anil Kumar el 14 de Jun. de 2019
Thank You steven! i tried your suggestion but could not implement this.Can you demosntrate this fucntion in the above mentioned code? how to use it? Thank you.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Simulation en Centro de ayuda y File Exchange.

Preguntada:

el 10 de Jun. de 2019

Comentada:

el 14 de Jun. de 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by