How to combine graph and merge different array?

Hi all,
Can someone help me with this?
Let's say I have in an m-file two corresponding array of a = [2 3 5 9 10 20 27 34] & b = [0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8] and have a graph of a vs b
and in another m-file i have array of c = [67 79 80 99] & corresponding array d = [1.0 1.1 1.2 1.3] and a graph of c vs d
How to I join the graph together since i'll don't have a value for 0.9 in the x-axis? Secondly, how can I combine both both a & c vector in the same array and b & d in the same array?
Thanks a lot.

Réponses (1)

Eli Duenisch
Eli Duenisch le 23 Juin 2013
Modifié(e) : Eli Duenisch le 23 Juin 2013
Why do you want to combine the vectors a&a, b&d if you want to plot two graphs? If your goal is to plot two graphs into one axis, try this:
Get the data into one workspace: If both m files are scripts, just run the scripts. If one of the m-file is a function you can pass the arrays it contains to the other m-file as return values. You can also make both files functions. Or maybe use a third file for the plot code.
Plotting two graphs into one axis: Lets say all of your arrays are in the same workspace. Now you have various possibilities to plot the graph:
hold on
plot(a,b)
plot(c,d)
hold off
Or with two y axis use:
plotyy(a,b,c,d)

4 commentaires

so could you help me for my code?
function [PQ CRT TSP] = yieldLocus(po, m, stage)
p = 0;
for i = 1 : stage+1
q = sqrt((po*p-p^2));
P(i,1) = p;
PQ(i,1) = p;
PQ(i,2) = q;
CRT(i,1) = p*m;
pf = po + p;
qf = m * pf-50;
TSP(i,1) = pf;
TSP(i,2) = qf;
p = p + po/stage;
end
hold on
plot(PQ,CRT);
plot(TSP);
hold off
end
I want to combine 3 matrix in 1 figure (PQ,CRT and TSP). above the code PQ and CRT matrixes x value does not correct in graph. PQ creates a semi circle and the end of circle x value must be 100 but when i combine them both the circle end at 50. if yo draw the figures seperately that doesn't happen. also combined figure x values plotted like negative x values but also seperated graps does't.
I suppose solved like;
function [PQ CRT TSP] = yieldLocus(po, m, stage)
p = 0;
dp = 0;
for i = 1 : stage+100
q = sqrt((po*p-p^2)*m^2);
P(1,i) = p;
PQ(1,i) = q;
p = p + po/stage;
end
for j = 1 : stage+100
pf = po + dp;
DP(1,j) = pf;
qf = 3 * dp;
TSP(1,j) = qf;
dp = dp + po/stage;
end
p_ = 0;
for k = 1 : stage+100
CRT(1,k) = p_*m;
p_ = p_ + po/stage;
end
hold on
plot(P,PQ,'r');
plot(P,CRT,'g');
plot(DP,TSP,'b');
hold off
end
When you "hold on" you freeze the xlim and ylim. So after you plot, do
xlim auto
ylim auto

Connectez-vous pour commenter.

Catégories

En savoir plus sur Graph and Network Algorithms dans Centre d'aide et File Exchange

Question posée :

KH
le 23 Juin 2013

Commenté :

le 29 Mai 2021

Community Treasure Hunt

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

Start Hunting!

Translated by