我有一段时间没有使用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 :(得分:3)
看起来你创建了一个名为“Plot.m”的文件,这就是所谓的matlab“plot”例程。
将文件“C:\ Users \ amy \ Documents \ MATLAB \ Plot.m”重命名为其他内容。
答案 1 :(得分: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
(小写字母)
答案 2 :(得分:0)
如果您想绘制点(V1, P1)
,(V2, P2)
等,请在绘制点之前将点放在矢量中。试试plot([V1, V2, V3, V4],[P1, P2, P3, P4])
。