注册 登录
编程论坛 Matlab

[求助]已解决

tianyuxx 发布于 2006-05-23 11:32, 730 次点击
程序如下:

function q=Ex0001()
% Ex0001 收缩喷管的流量压力关系图
k=1.3;
zeta1=0:0.01:1;
if (zeta1>0.546)&(zeta1<1)
q=sqrt((2/(k-1))*((k+1)/2).^((k+1)/(k-1))*(zeta1.^(2/k)-zeta1.^((k+1)/k)));
elseif (zeta1>0)&(zeta1<0.546)
q=1;
else zeta1==1
q=0;
end
axis([0 2 0 2]);
plot(zeta1,q)



[此贴子已经被作者于2006-5-26 21:02:17编辑过]

5 回复
#2
tianyuxx2006-05-23 11:36
希望的图形是要与x,y轴相接的啊
#3
abingchem2006-05-23 20:16
以下是引用tianyuxx在2006-5-23 11:32:00的发言:
程序如下:

function q=Ex0001()
% Ex0001 收缩喷管的流量压力关系图
k=1.3;
zeta1=0:0.01:1;
if (zeta1>0.546)&(zeta1<1)
q=sqrt((2/(k-1))*((k+1)/2).^((k+1)/(k-1))*(zeta1.^(2/k)-zeta1.^((k+1)/k)));
elseif (zeta1>0)&(zeta1<0.546)
q=1;
else zeta1==1      %这里可以吗?
q=0;
end
axis([0 2 0 2]);
plot(zeta1,q)



#4
tianyuxx2006-05-24 13:44
function q=fact(zeta1)
% Ex0001 收缩喷管的流量压力关系图
k=1.3;
zeta1=0:0.01:1;
if (zeta1>0.546)&(zeta1<=1)
q=sqrt((2/(k-1))*((k+1)/2).^((k+1)/(k-1))*(zeta1.^(2/k)-zeta1.^((k+1)/k)));
elseif (zeta1>=0)&(zeta1<=0.546)
q=1;
end
axis([0 2 0 2]);
plot(zeta1,q)

这样改过以后,运行不出来曲线图,只是一个空的框框
而把这些语句直接输入命令窗口就可以运行出曲线,
但是却不是与x轴相交的。
不懂为什么会这样啊!
#5
xjchen2006-05-24 21:37
function q=Ex0001()
% Ex0001 收缩喷管的流量压力关系图
k=1.3;
zeta1=0:0.01:1;
for m=1:1:length(zetal);
if (zeta1(m)>0.546)&(zeta1(m)>1)
q(m)=sqrt((2/(k-1))*((k+1)/2)^((k+1)/(k-1))*(zeta1(m)^(2/k)- zeta1.^((k+1)/k)));
elseif (zeta1(m)>>0)&(zeta1(m)><0.546)
q=1;
else zeta1(m)>==1
q=0;
end
end
axis([0 2 0 2]);
plot(zeta1,q)

试试上面的程序!!!
#6
tianyuxx2006-05-26 21:02

谢谢哦

已经解决了

可以呢

1