Попытка построить два вектора столбцов - PullRequest
0 голосов
/ 14 октября 2010

Я давно не пользовался MATLAB, поэтому не могу понять, что я делаю здесь не так.

Я хочу построить (на одном графике) кривые для 4 разных температур. V должно быть на оси x, а P должно быть на оси y.

То, что я имею после %, является для меня только напоминанием и не имеет ничего общего с тем, что я делаю на сюжете.

Вот что у меня в редакторе:

a=3.7E-7;
b=4.3E-5;
R=8.314E-6;
n=1;

V1_vector=zeros(1,25);
P1_vector=zeros(1,25);
T1=400; 
V1=.0000823;
for n=1:1:25
    P1=((R*T1)/(V1-b))-(a/(V1.^2));
    V1_vector(n)=V1;
    P1_vector(n)=P1;
    V1=V1+.001324708;     %V1=0.0332
    n=n+1;
end   
P1=P1_vector;
V1=V1_vector;

V2_vector=zeros(1,25);
P2_vector=zeros(1,25);
T2=350; 
V2=.00007133;
for n=1:1:25
    P2=((R*T2)/(V2-b))-(a/(V2.^2));
    V2_vector(n)=V2;
    P2_vector(n)=P2;
    V2=V2+.0011579468;     %V2=0.02902
    n=n+1;
end   
P2=P2_vector;
V2=V2_vector;

V3_vector=zeros(1,25);
P3_vector=zeros(1,25);
T3=300; 
V3=.00006347;
for n=1:1:25
    P3=((R*T3)/(V3-b))-(a/(V3.^2));
    V3_vector(n)=V3;
    P3_vector(n)=P3;
    V3=V3+.0009906612;     %V3=0.02483
    n=n+1;
end   
P3=P3_vector;
V3=V3_vector;

V4_vector=zeros(1,25);
P4_vector=zeros(1,25);
T4=250; 
V4=.0000577453;
for n=1:1:25
    P4=((R*T4)/(V4-b))-(a/(V4.^2));
    V4_vector(n)=V4;
    P4_vector(n)=P4;
    V4=V4+.000825690188;    %V4=0.0207
    n=n+1;
end   
P4=P4_vector;
V4=V4_vector;

PLOT(V1,P1,V2,P2,V3,P3,V4,P4)

Это сообщение об ошибке

??? Attempt to execute SCRIPT Plot as a function:
C:\Users\amy\Documents\MATLAB\Plot.m

Error in ==> Plot at 73
PLOT(V1,P1,V2,P2,V3,P3,V4,P4) 

Пожалуйста, помогите мне!

Ответы [ 3 ]

3 голосов
/ 14 октября 2010

Как указано @ nsanders , у вас есть пользовательская функция plot.m, скрывающая встроенную функцию под тем же именем.В случае сомнений вы всегда можете проверить:

>> which plot -all
C:\Users\amy\Documents\MATLAB\plot.m
[... a bunch of other overrided versions ...]
built-in (C:\MATLAB\R2010a\toolbox\matlab\graph2d\plot)          % Shadowed 

Кроме того, MATLAB чувствителен к регистру, поэтому вы должны вызывать функцию как plot (маленькие буквы)

3 голосов
/ 14 октября 2010

Похоже, вы создали файл с именем "Plot.m", который вызывается вместо процедуры matlab "plot".

Переименуйте файл "C: \ Users \ amy \ Documents \ MATLAB \ Plot.m" во что-то другое.

0 голосов
/ 14 октября 2010

Если вы хотите построить точки (V1, P1), (V2, P2) и т. Д., Поместите точки в вектор, прежде чем строить их.Попробуйте plot([V1, V2, V3, V4],[P1, P2, P3, P4]).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...