How to only collect real part of the cube root

1 view (last 30 days)
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

Accepted Answer

Steven Lord
Steven Lord on 10 Jun 2019
Edited: Steven Lord on 10 Jun 2019
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 Comment
Anil Kumar
Anil Kumar on 14 Jun 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.

Sign in to comment.

More Answers (0)

Categories

Find more on Argument Definitions in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!