2010-10-14 3 views
0

Я не использовал 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) 

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

ответ

0

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

+0

, что я и хочу делать. Я просто использовал это, и он дал мне 7 сюжетов. я думаю, что первые четыре - это то, что я ищу, но что другие 3? – Lauren

+0

Я только что понял. ([V1], [P1], [V2], [P2], [V3], [P3], [V4], [P4]) по какой-то причине это дает мне только четыре графика, которые я хотел. Спасибо за вашу помощь! – Lauren

3

Похоже, вы создали файл под названием «Plot.m», который называется тем, что вызывается вместо подпрограммы «plot».

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

+0

ок я просто переименовал этот файл, но теперь я» m получение ошибки для этой последней линии PLOT (V1, P1, V2, P2, V3, P3, V4, P4) – Lauren

+0

??? Неопределенная функция или метод «PLOT» для входных аргументов типа «double». – Lauren

+0

Matlab чувствителен к регистру. Измените 'PLOT' на' plot' – FakeDIY

3

Как указано @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 (маленькие буквы)

Смежные вопросы