3plot won't give a three-dimensional plot

3 次查看(过去 30 天)
So I am trying to get a three dimensional plot with pressure (p) on the x-, volume (V) on the y- and temperature (Temp) on the z-axis. My code looks like this:
if true
% code
function pressure=func()
% Constantes
R_g=287
L=36.74e-3 %m
r=8.5e-3 %m
theta=[0:0.1*pi:2*pi] %rad
S=2*r %m
d=30e-3 %m
h=1.9e-3 %m
V_cl=(0.25*pi*d.^2)*h
p_atm=1.013e5 %Pa
p_out=1e6 %Pa
kappa=1.35
mcomp=1.2 %kg
mexp=1 %kg
% Dependent Variables
V1=V_cl+(0.25*pi*(d^2))*S %m^3
V2=V1*(p_atm/p_out).^(1/kappa) %m^3
V3=V_cl %m^3
V4=V3*(p_out/p_atm).^(1/kappa) %m^3
Vcomp=[V2:1e-7:V1] %m^3
Vexp=[V3:1e-7:V4] %m^3
function compression=f(Vcomp)
compression=(p_atm.*(V1).^kappa)./((Vcomp).^kappa) %Pa
end
function expansion=g(Vexp)
expansion=(p_out.*(V3).^kappa)./((Vexp).^kappa) %PA
end
Traject1=@f
pcomp=f(Vcomp)
Traject2=@g
pexp=g(Vexp)
%Temperature
function temperature=temp(p,V,m)
temperature=(p.*V)/(m*R_g)
end
Temp1=@temp
Tcomp=temp(pcomp,Vcomp,mcomp)
Temp2=@temp
Texp=temp(pexp,mexp,mexp)
%Graphics
hold on
plot3(Vcomp,pcomp,Tcomp,'red')
plot3(Vexp,pexp,Texp,'green')
hold off
end
end
When I run this, I get no errors yet it only gives me a 2D plot (a pV-diagram). What is going wrong here?

回答(2 个)

KSSV
KSSV 2017-5-15
Your plot is 3D plot only......you need to change the orientation of the plot. Two ways..
1. doc view
2. There would be a rotation icon in the plot, click on it and rotate.

KL
KL 2017-5-15
Change your function to have the desired variables as outputs, like this
function [Vcomp,pcomp,Tcomp, Vexp,pexp,Texp]=func() %very first line of your code
then you can call the funtion and plot it like this
>> [a,b,c,a1,b1,c1] = func();
>> plot3(a,b,c)
>> hold on
>> plot3(a1,b1,c1)

类别

Help CenterFile Exchange 中查找有关 Specifying Target for Graphics Output 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by