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]')

Risposte (1)

James Tursa
James Tursa il 5 Set 2017
Modificato: James Tursa il 5 Set 2017
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 Commenti

In the plots generated, how would you vary the pressure between 100 kPa and 300 kPa in steps of 50 kPa?
James Tursa
James Tursa il 5 Set 2017
Modificato: James Tursa il 5 Set 2017
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

Accedi per commentare.

Prodotti

Richiesto:

il 5 Set 2017

Modificato:

il 5 Set 2017

Community Treasure Hunt

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

Start Hunting!

Translated by