• Support PF! Buy your school textbooks, materials and every day products Here!

MATLAB function plotting

  • Thread starter OUmecheng
  • Start date
  • #1
18
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!
 

Answers and Replies

  • #2
36
0
Try taking the brackets off of x

x = -pi : 0.01 : pi;
 
  • #3
18
0
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
 

Related Threads on MATLAB function plotting

  • Last Post
Replies
1
Views
1K
Replies
10
Views
687
  • Last Post
Replies
5
Views
900
  • Last Post
Replies
5
Views
1K
  • Last Post
Replies
1
Views
788
  • Last Post
Replies
10
Views
10K
  • Last Post
Replies
1
Views
1K
  • Last Post
Replies
6
Views
573
  • Last Post
Replies
1
Views
8K
  • Last Post
Replies
2
Views
1K
Top