Issue: Matrix Dimensions Must Agree

%PV=NRT
T1=273;
T2=293;
T3=313;
P=100:50:300; %kPa
R=8.314; %Ideal gas constant J*K^-1*mol^-1
n=1;
Volume1=n*R*T1/P;
Volume2=n*R*T2/P;
Volume3=n*R*T3/P;
figure(1)
plot(Volume1,P)
xlabel('Pressure [kPA]')
ylabel('Volume [m^3]')
figure(2)
plot(Volume2,P)
xlabel('Pressure [kPA]')
ylabel('Volume [m^3]')
figure(3)
plot(Volume3,P)
xlabel('Pressure [kPa]')
ylabel('Volume [m^3]')

回答(1 个)

Use element-wise operator ./ (with the dot) instead of the matrix operator /
E.g.,
Volume1=n*R*T1./P;
Volume2=n*R*T2./P;
Volume3=n*R*T3./P;

2 个评论

In the plots generated, how would you vary the pressure between 100 kPa and 300 kPa in steps of 50 kPa?
You've got the pressure and volume arguments reversed in your plot calls. The first one is the x-axis and the second one is the y-axis. So this line:
plot(Volume1,P)
should be this instead:
plot(P,Volume1)
Same for Volume2 and Volume3.
And if you want to change the tick spacing on the x-axis, you could do something like this for each figure:
set(gca,'Xtick',P);
Finally, I typically use this to make the plots more readable:
grid on

请先登录,再进行评论。

类别

产品

Community Treasure Hunt

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

Start Hunting!

Translated by