# Plotting Multiple Curves on the Same Graph

42 views (last 30 days)

Show older comments

##### 1 Comment

Adam
on 16 Jul 2019

doc hold

Set e.g.

hold( hAxes, 'on' )

for your axes with handle hAxes, then you can add as many plots as you like.

Alternatively if you have all the results together in a matrix (assuming they are the same length for each parameter) you can just plot the matrix all in one go using

doc plot

and making sure you have it oriented the right way.

### Accepted Answer

Star Strider
on 16 Jul 2019

It depends on your function and what you want to do:

t = linspace(0, 2*pi);

freq = [1 5 9];

ampl = [1 2 3];

s = bsxfun(@times, ampl(:), sin(freq(:)*t));

figure

plot(t, s)

grid

##### 6 Comments

Star Strider
on 18 Jul 2019

As always, my pleasure!

Remember that in my code, ‘bt’ is a function, so it needs to be evaluated in any calculation using it, and that requires that it be supplied with a numeric argument so that it can return a numeric result:

theta = @(R,Kn) (bt(Kn)./(R.^2));

The complete code is now:

bt = @(Kn) -sqrt(pi/2)*(30*Kn.^2 + 180*(1+(1./pi))*Kn.^3)./(20*pi + 135*pi*Kn + 9*(25*pi +18)*Kn.^2 +324*Kn.^3);

theta = @(R,Kn) (bt(Kn)./(R.^2));

Knv = [0, 0.2, 1];

Rv = 1:10;

[Rm,Knm] = meshgrid(Rv,Knv);

figure

plot(Rv, theta(Rm,Knm))

grid

%xlabel('R')

lgdc = sprintfc('K_n = %3.1f', Knv);

legend(lgdc, 'Location','SE')

I tested that to be sure it works. It does.

### More Answers (0)

### See Also

### Community Treasure Hunt

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

Start Hunting!