Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2010-07-15, 17:11   #1
shenwenyu86
初级会员
 
注册日期: 2010-07-15
帖子: 2
声望力: 0
shenwenyu86 正向着好的方向发展
帖子 请教定积分与surf函数画图问题

我的问题是将一个表达式进行积分得到积分结果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不同时候的图分别画出体现动态感觉,这个应该是可以做到的!
谢谢各位大侠了!!!
shenwenyu86 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 12:40


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.