Plot 2 matrices in one graph with 3 axis
Show older comments
Hi, I have to plot curves "MSE" witch depend on 2 variables. Variable 1 : "pct=1:1:n" and variable 2 : "CR" .
But "CR" depends on two variables also:
"ptx=1:1:n" and "pct=1:1:n"
MSE=fct(CR,pct)
Here a simplification of the code:
for pct=1:1:n
for ptx=1:1:n
calculate CR(pct,ptx)
calculate MSE(pct,ptx)
end
end
I want to plot curves of "MSE" in function with "pct" and "CR" , it means ;
axis x : "pct"
axis y : "CR"
axis z : "MSE"
That is, a kind of succession of curves Thank you in advance
4 Comments
Ameer Hamza
on 16 Jun 2018
Edited: Ameer Hamza
on 16 Jun 2018
Have you tried plot3()
plot3(pct, CR, MSE);
kortas manel
on 16 Jun 2018
Edited: kortas manel
on 16 Jun 2018
Ameer Hamza
on 16 Jun 2018
Your x variable is an n-element vector, whereas y and z are nxn matrices. And from your for loop example, it seems that you want several 2D plots. Can you show an example plot similar to what you are trying to draw?
kortas manel
on 16 Jun 2018
Accepted Answer
More Answers (1)
Guillaume
on 16 Jun 2018
If your calculate functions can operate on matrices:
[pct, ptx] = ndgrid(n);
CR = yourcalculateCRfunction(pct, ptx);
MSE = yourcalculateMSEfunction(pct, ptx);
plot3(pct, CR, MSE);
Otherwise
[pct, ptx] = ndgrid(n);
CR = zeros(size(pct));
MSE = zeros(size(pct));
for i = 1:numel(pct)
CR(i) = yourcalculateCRfunction(pct(i), ptx(i));
MSE(i) = yourcalculateMSEfunction(pct(i), ptx(i));
end
plot3(pct, CR, MSE);
Categories
Find more on Mathematics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
