shenwenyu86
2010-07-15, 17:11
我的问题是将一个表达式进行积分得到积分结果c(积分变量是xs,ys,zs)因为想表现动态效果,所以x,y是按一定规律递增的,因此得到的积分结果是一个矩阵。现在是想把x,y,c用图形表示出来,初步是准备用surf函数。还有一个关键问题是表达式里面除了积分变量之外其他很多的变量都是随着x,y的改变而改变的。请各位大侠帮忙解决一下,谢谢了!
程序有点乱,主要讲表达式整理如下:
cz=(exp(-(H-zs)^1.6/(2*z1^1.6*(x-xs)))+exp(-(H+zs)^1.6/(2*z1^1.6*(x-xs))));
int1=int(int(cz,'zs',0,H),'xs',0.7*x,0.8*x)
cy=exp(-(y-ys)^2/(2*y1^2*(x-xs)))/(sqrt(2*3.14)*y1*(x-xs));
int2=int(int(cy,'ys',0.7*y,0.8*y),'xs',0.7*x,0.8*x)
cx=exp(-(x-xs)^2/(2*y1^2*(x-xs)))/(sqrt(2*3.14)*y1*(x-xs));
int3=int(cx,'xs',0.7*x,0.8*x)
c=Cg*int1*int2*int3;(这个式子里面含有x,y,以及其他参数如下)
%x y取值情况
x=1:10:1000;
y=1:10:1000;
[x,y]=meshgrid(xmin:((xmax-xmin)/(n-1)):xmax,ymin:((ymax-ymin)/(n-1)):ymax);%网格划分 n=100
%参数y1 z1取值情况
y1_=b1*x.^a1;
z1_=b2*x.^a2;
%以下步骤主要是得到系数Cg(同样是随着x取值不同而改变的)
b=g*dr*V0/pi %(g,dr,V0,R0,k,b是自己设定的值)
t0=R0/(2*k*sqrt(b))
R=sqrt(1+t/t0)*R0
v=u*(log(H/(H-H*sin(x)))/log(10/2))
beta=pi*v^3/(2*k*b^1.5)*R0^6/V0
r=beta/(3-a1)
V=(1-r)*R^(2*a1)+r*R^6
Cg=m/V
最后是将x,y,c一一对应的值画在图上,最好是差不多x=200,400,600,800,1000不同时候的图分别画出体现动态感觉,这个应该是可以做到的!
谢谢各位大侠了!!!
程序有点乱,主要讲表达式整理如下:
cz=(exp(-(H-zs)^1.6/(2*z1^1.6*(x-xs)))+exp(-(H+zs)^1.6/(2*z1^1.6*(x-xs))));
int1=int(int(cz,'zs',0,H),'xs',0.7*x,0.8*x)
cy=exp(-(y-ys)^2/(2*y1^2*(x-xs)))/(sqrt(2*3.14)*y1*(x-xs));
int2=int(int(cy,'ys',0.7*y,0.8*y),'xs',0.7*x,0.8*x)
cx=exp(-(x-xs)^2/(2*y1^2*(x-xs)))/(sqrt(2*3.14)*y1*(x-xs));
int3=int(cx,'xs',0.7*x,0.8*x)
c=Cg*int1*int2*int3;(这个式子里面含有x,y,以及其他参数如下)
%x y取值情况
x=1:10:1000;
y=1:10:1000;
[x,y]=meshgrid(xmin:((xmax-xmin)/(n-1)):xmax,ymin:((ymax-ymin)/(n-1)):ymax);%网格划分 n=100
%参数y1 z1取值情况
y1_=b1*x.^a1;
z1_=b2*x.^a2;
%以下步骤主要是得到系数Cg(同样是随着x取值不同而改变的)
b=g*dr*V0/pi %(g,dr,V0,R0,k,b是自己设定的值)
t0=R0/(2*k*sqrt(b))
R=sqrt(1+t/t0)*R0
v=u*(log(H/(H-H*sin(x)))/log(10/2))
beta=pi*v^3/(2*k*b^1.5)*R0^6/V0
r=beta/(3-a1)
V=(1-r)*R^(2*a1)+r*R^6
Cg=m/V
最后是将x,y,c一一对应的值画在图上,最好是差不多x=200,400,600,800,1000不同时候的图分别画出体现动态感觉,这个应该是可以做到的!
谢谢各位大侠了!!!