## Matlab generating parametric curves

I want to graph the following parametric curve using matlab:

x = 31cos(t)-7cos(31/7)t
y = 31sin(t)-7sin(31/7)t

0 ≤ t ≤ 14π

This is the code I used:

Code:
syms t
t=[0:1:19*pi]
x=31*cos(t)-7*cos(31/7)*t;
y=31*sin(t)-7*sin(31/7)*t;
plot(t,y,t,x)
But the graph which Matlab generated is very different from what it's supposed to look like. Is there a problem with my codes? How do we graph this parametric curve (it's a complex curve)? Thanks.
 Blog Entries: 1 Recognitions: Science Advisor When you use a (2D) parametric equation, you don't express x or y in terms of each other, you do it in terms of a third variable (as you've done). However, at the end of the day, you should still have a set of X-Y coordinates. Instead of plotting x as a function of t, and then plotting y as a function of t (as you're doing), just plot y as a function of x: >> plot(x, y)
 Well, the curve I'm trying to produce is supposed to look like this: But when I even use this code: Code: syms t t=[0:1:19*pi] x=31*cos(t)-7*cos(31/7)*t; y=31*sin(t)-7*sin(31/7)*t; plot(x, y) I get this graph: I can't see the problem.

Blog Entries: 1
Recognitions:

## Matlab generating parametric curves

 Quote by roam Well, the curve I'm trying to produce is supposed to look like this: But when I even use this code: Code: syms t t=[0:1:19*pi] x=31*cos(t)-7*cos(31/7)*t; y=31*sin(t)-7*sin(31/7)*t; plot(x, y) I get this graph: I can't see the problem.
Are you sure of your equations? I Googled for parametric spirograph equation and got the following webpage:
http://linuxgazette.net/133/luana.html

You may want to try again with:
x=31*cos(t) - 7*cos((31/7)*t);
y=31*sin(t) - 7*sin((31/7)*t);

I don't know if you know about the MATLAB axis command, but you can use it (or rather 'axis square') to have equal scaling on both axes:
http://www.mathworks.com/access/help.../ref/axis.html

EDIT: You may also wish to use a smaller step size for t, say 0.1 or 0.01 instead of 1, as you currently have it.

 Quote by roam I can't see the problem.
As MatlabDude has already pointed out, the problem lies with the parametric equations you're using. For example, the following equivalent Mathematica code

Code:
x[t_] := 31 Cos[t] - 7 Cos[31/7] t;
y[t_] := 31 Sin[t] - 7 Sin[31/7] t;
ParametricPlot[{x[t], y[t]}, {t, 0, 19 \[Pi]}]
gives the parametric plot

On the other hand, the modified parametric equations

Code:
x[t_] := 31 Cos[t] - 7 Cos[31 t/7];
y[t_] := 31 Sin[t] - 7 Sin[31 t/7];
ParametricPlot[{x[t], y[t]}, {t, 0, 19 \[Pi]}]
give you the desired plot:

 Okay thanks A LOT guys. :)
 By the way, when you are ploting this in Mathematica, what is the code for changing the color of the plot?