MATLAB: Not obtaining the right shape with matlab plot

MATLABplot

Hey everyone!
I have been tring to generate a profile on matlab. I have written the parametric equation and plotted it.
I tried my code for a known set of values and obtained a plot which doesnt look exactly like it should, I wonder what's wrong?
My code-
phi=linspace(0,2*pi,100000);
N_ask='N';
dt_ask='dt';
R_ask='R';
E_ask='E';
Rr_ask='Rr';
N=input(N_ask)
dt=input(dt_ask)
R=input(R_ask)
E=input(E_ask)
Rr=input(Rr_ask)
r3=E*N;
si=atan(sin((N+1).*phi)/(R./r3-cos((N+1).*phi)));
x2c=R.*cos(phi)+(Rr+dt).*cos(phi+si)+E.*cos(N.*phi);
y2c=R.*sin(phi)+(Rr+dt).*sin(phi+si)-E.*sin(N*phi);
plot(x2c,y2c)
The output that I got for N=8, dt=0, R=32, E=3.5, Rr=4-
figure.PNG
But what it really should look like –
real look.PNG

Best Answer

  • Add a dot ./ in the line:
    si=atan(sin((N+1).*phi)./(R./r3-cos((N+1).*phi)));