作者zupo (外派越南工作者)
标题Re: [讨论] 这个mpower该如何解??
时间Sun Dec 22 10:20:55 2013
※ 引述《NChewinggum (钠镁壬)》之铭言:
: 我输入程式码後出现这个错误提示:
: Undefined function 'mpower' for input arguments of type 'cell'
: 初学Matlab几乎甚麽都不懂,请教神人大大们这是甚麽意思呢??
: 如果是说我的斜率m没有定义,後来定义了m=-1,1还是一样
: 改了好久都没办法解决
: 在此请求各位帮小弟解惑,谢谢~
: 附上程式码
: A=2.53*10^8, B=5.42*10^3, Cp=1004, Lv=2.5*10^6, g=9.8, Rd=287,dZ=1
: for k=1:10000, Z(1)=0, T(1)=305, P(1)=1000, m(1)=-1.1;
: es(T)= A*2.7183^{-[B/T(k)]}
: qvs=0.622*es(T)/P(k)
: Cp(k)=g*{1+[Lv*qvs/Rd*T(k)]}/{Cp+[Lv*Lv*qvs/(Rd*T(k)*T(k))]}
: m(k)=-g/Cp(k)
: P(k+1)=P(k)*exp(Z(k)/k)
: Z(k)=(Rd*T(k)/g)*ln(P(k)/P(k+1))
: T(k+1)=T(k)+m(k)*Z(k)
: end
程式有点在乱写,讲真的,初学者没错. 错的是应该要先学到基本再来
这样写是不会有结果的
我帮你debug了一些. 但很明显数学式跟逻辑应该是错的
你在自己修一下
--------------------------------------------------------
function pttex143
%
es = zeros(length(1:10000),1);
qvs = zeros(length(1:10000),1);
Cp = zeros(length(1:10000),1);
m = zeros(length(1:10000),1);
P = zeros(length(1:10000),1);
Z = zeros(length(1:10000),1);
T = zeros(length(1:10000),1);
%
A=2.53*10^8;
B=5.42*10^3;
Cp(1,1)=1004;
Lv=2.5*10^6;
g=9.8;
Rd=287;
dZ=1;
Z(1,1)=0;
T(1,1)=305;
P(1,1)=1000;
m(1,1)=-1.1;
for k=1:10000
es(k,1)= A.*2.7183.^(-B./T(k,1));
qvs(k,1)=0.622.*es(k,1)./P(k,1);
Cp(k+1,1)=g.*(1+(Lv.*qvs(k,1)./Rd.*T(k,1))./(Cp(k,1)+(Lv.*Lv.*qvs(k,1)...
./(Rd.*T(k,1).*T(k,1)))));
m(k,1)=-g./Cp(k,1);
P(k+1,1)=P(k,1).*exp(Z(k,1)./k);
Z(k+1,1)=(Rd.*T(k,1)./g).*log(P(k,1)./P(k+1,1));
T(k+1,1)=T(k,1)+m(k,1).*Z(k,1);
end
k = 1:10001;
i = 1:10000;
figure(1)
plot(i,es,i,qvs)
legend('es','qvs')
------------------------------------------------------------------
所有数值都是一样那表示不是回圈有错就是算式有错
自己再看看哪里有问题吧
--
1.MATLAB programming 2.ASPEN process simulation package
3.FORTRN programming 4.Advance Engineering Mathematics
5.Process Control Theory
6.Chemical Engineering Basic Theory(Kinetic.thermodynamics.transport)
7.Numerical Method and Analysis
8.MATLAB Toolbox.Simulink system basic design
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 113.162.89.91