Plotting f(x) = cosx sin(2x) and its derivative for x in [-pi, pi]

AI Thread Summary
The discussion focuses on plotting the function f(x) = cos(x) sin(2x) and its derivative over the interval [-π, π]. The user initially encounters an error related to matrix dimensions when attempting to plot the function. Suggestions include correcting the multiplication syntax by using the element-wise operator ".*" and ensuring the x variable is defined correctly. After adjustments, the user successfully plots both the function and its derivative with appropriate labels and a legend. The conversation highlights common issues faced by beginners in programming and plotting functions.
OUmecheng
Messages
18
Reaction score
0
QUESTION:

Plot the function f(x) = cosx sin(2x) and its derivative, both on the same
plot, for π ≤ x ≤ π . Plot the function with a solid line, and the derivative with
a dashed line. Add a legend and label the axes.


Okay, so this is what I have so far in a script file...


x = [-pi: 0.01: pi];

y = cos(x)*sin(2*x);

yd = 2*cos(x)*cos(2*x)-sin(x)*sin(2*x);

plot (x,y,x,yd)


But then I get this error:

? Error using ==> mtimes
Inner matrix dimensions must agree.

Error in ==> p11 at 3
y = cos(x)*sin(2*x);

I'm not worried about the details, that should be easy enough. (dotted/solid lines and legends and axes labeling.) I just want to make sure I can get it to plot. Also it asks to plot for π ≤ x ≤ π, but i have a feeling it means -π ≤ x ≤ π.

It looks pretty simple, but I'm still learning this program and it's proving to be more difficult than it should be. Anyone have any ideas what's wrong with my script?

Thanks!
 
Physics news on Phys.org
Try taking the brackets off of x

x = -pi : 0.01 : pi;
 
LabGuy330 said:
Try taking the brackets off of x

x = -pi : 0.01 : pi;

That didn't work, but searched the error and I found out that there is an operator "." that you're supposed to use for multiplication.


x = [-pi: 0.01: pi];

y = (cos(x)).*(sin(2.*x));

yd = 2.*cos(x).*cos(2.*x)-sin(x).*sin(2.*x);

plot (x,y)

hold on

plot (x,yd, '--k')

legend('y = (cos(x)).*(sin(2.*x))', 'yd = 2.*cos(x).*cos(2.*x)-sin(x).*sin(2.*x)')

xlabel ('x-axis')

ylabel ('y-axis')

hold off


thank you though
 

Similar threads

Back
Top