underlion 发表于 2007-5-17 17:56

求组:程序问题

麻烦各位大哥帮我看下,一运行就一直在循环..
其中c=是初始值。。下面是主程序
clear
global c r
format long

dmin=0.0;
dmax=5;
qmin=0.0;
qmax=5;

c=;
n=0;
r=10;
whilen<1000 & r>1e-6
   
f1=dblquad('ff1',dmin,dmax,qmin,qmax)-1;
f2=dblquad('ff2',dmin,dmax,qmin,qmax)-1;
f3=dblquad('ff3',dmin,dmax,qmin,qmax)-32;

f=

ja(1,1)=dblquad('dff1',dmin,dmax,qmin,qmax);
ja(1,2)=dblquad('dff2',dmin,dmax,qmin,qmax);
ja(1,3)=dblquad('dff3',dmin,dmax,qmin,qmax);
ja(2,1)=dblquad('dff4',dmin,dmax,qmin,qmax);
ja(2,2)=dblquad('dff5',dmin,dmax,qmin,qmax);
ja(2,3)=dblquad('dff6',dmin,dmax,qmin,qmax);
ja(3,1)=dblquad('dff7',dmin,dmax,qmin,qmax);
ja(3,2)=dblquad('dff8',dmin,dmax,qmin,qmax);
ja(3,3)=dblquad('dff9',dmin,dmax,qmin,qmax);

ja

condition=cond(ja)

n=n+1
nc=c-inv(ja)*f;
ef=;
r=max(ef)
c=nc
end
y=c

xjzuo 发表于 2007-5-17 23:40

请将ff1...函数给出,以便于调试程序.

underlion 发表于 2007-5-18 12:56

回复 #2 xjzuo 的帖子

。谢谢
下面是我定义的函数

[ 本帖最后由 underlion 于 2007-5-18 12:58 编辑 ]

xjzuo 发表于 2007-5-18 19:33

算了一下,发现有奇异性出现,这个可能是模型的问题,而非程序的问题.
你自己再仔细检查一下. 以下是我的代码:
%%%%%%%%%%%%%%%%%%
function y=mydffun()
clear
global c r
format long

dmin=0.0;
dmax=5;
qmin=0.0;
qmax=5;

c=;
n=0;
r=10;

whilen<1000 & r>1e-6
   
f1=dblquad(@ff1,dmin,dmax,qmin,qmax)-1;
f2=dblquad(@ff2,dmin,dmax,qmin,qmax)-1;
f3=dblquad(@ff3,dmin,dmax,qmin,qmax)-32;

f=;

ja(1,1)=dblquad(@dff1,dmin,dmax,qmin,qmax);
ja(1,2)=dblquad(@dff2,dmin,dmax,qmin,qmax);
ja(1,3)=dblquad(@dff3,dmin,dmax,qmin,qmax);
ja(2,1)=dblquad(@dff4,dmin,dmax,qmin,qmax);
ja(2,2)=dblquad(@dff5,dmin,dmax,qmin,qmax);
ja(2,3)=dblquad(@dff6,dmin,dmax,qmin,qmax);
ja(3,1)=dblquad(@dff7,dmin,dmax,qmin,qmax);
ja(3,2)=dblquad(@dff8,dmin,dmax,qmin,qmax);
ja(3,3)=dblquad(@dff9,dmin,dmax,qmin,qmax);

ja;

condition=cond(ja);

n=n+1;
nc=c-inv(ja)*f;
ef=;
r=max(ef);
c=nc;
end
y=c

%%%%%%%%%%%%%%%%%%%%
function y=dff1(d,v)
global c r
format long
y=-exp(-c(1)-c(2).*d.^3-c(3).*d.^3.*v.^2)
%%%%%%%%%%%%%%%%%%%%%%%
function y=dff2(d,v)
global c r
format long
y=-d.^3.*exp(-c(1)-c(2).*d.^3-c(3).*d.^3.*v.^2)
%%%%%%%%%%%%%%%%%%%%%%%%%%
function y=dff3(d,v)
global c r
format long
y=-d.^3.*v.^2.*exp(-c(1)-c(2).*d.^3-c(3).*d.^3.*v.^2)
%%%%%%%%%%%%%%%%%%%%%%%%%
function y=dff4(d,v)
global c r
format long
y=-d.^3.*exp(-c(1)-c(2).*d.^3-c(3).*d.^3.*v.^2)
%%%%%%%%%%%%%%%%%%%%%%%%%
function y=dff5(d,v)
global c r
format long
y=-d.^6.*exp(-c(1)-c(2).*d.^3-c(3).*d.^3.*v.^2)
%%%%%%%%%%%%%%%%%%%%%%%%%%
function y=dff6(d,v)
global c r
format long
y=-d.^6.*v.^2.*exp(-c(1)-c(2).*d.^3-c(3).*d.^3.*v.^2)
%%%%%%%%%%%%%%%%%%%%%%%%%%
function y=dff7(d,v)
global c r
format long
y=-d.^3.*v.^2.*exp(-c(1)-c(2).*d.^3-c(3).*d.^3.*v.^2)
%%%%%%%%%%%%%%%%%%%%%%%%%%
function y=dff8(d,v)
global c r
format long
y=-d.^6.*v.^2.*exp(-c(1)-c(2).*d.^3-c(3).*d.^3.*v.^2)
%%%%%%%%%%%%%%%%%%%%%%%%%%
function y=dff9(d,v)
global c r
format long
y=-d.^6.*v.^4.*exp(-c(1)-c(2).*d.^3-c(3).*d.^3.*v.^2)
%%%%%%%%%%%%%%%%%%%%%%%%%%
function y=ff1(d,v)
global c r
format long
y=exp(-c(1)-c(2).*d.^3-c(3).*d.^3.*v.^2)
%%%%%%%%%%%%%%%%%%%%%%%%%%
function y=ff2(d,v)
global c r
format long
y=d.^3.*exp(-c(1)-c(2).*d.^3-c(3).*d.^3.*v.^2)
%%%%%%%%%%%%%%%%%%%%%%%%%%
function y=ff3(d,v)
global c r
format long
y=d.^3.*v.^2.*exp(-c(1)-c(2).*d.^3-c(3).*d.^3.*v.^2)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

underlion 发表于 2007-5-22 21:24

谢谢。程序差不多了。看来模型是有点问题。。。
页: [1]
查看完整版本: 求组:程序问题