作业帮 > 数学 > 作业

作出曲面 z=xy被柱面x^2+y^2=1所围部分的图形,并求其面积.写出MATLAB程序

来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/04/29 04:36:22
作出曲面 z=xy被柱面x^2+y^2=1所围部分的图形,并求其面积.写出MATLAB程序
应该先绘制曲面 z=xy.matlab程序如下:
x=-30:1:30;
y=-30:1:30;
n=length(x);
[xb,yb]=meshgrid(x,y);
zb=xb.*yb; %要用xb,yb而不是x,y
zb=reshape(zb,n,n); %这步比较重要,zb矩阵维数为n*n
%========
mesh(xb,yb,zb)
clc
再问: 那怎么求面积?
再答: 那就简单了
再问: 求程序,谢啦
再答: 先试一下,看是否存在解析解,程序如下: clear clc syms x y f=sqrt(1+x^2+y^2); result=4*int(int(f,y,0,sqrt(1-x^2)),x,0,1) 结果表明:此题无显式解答,需要用数值积分完成> 首先建立一个函数文件:newquad.m function I=newquad(fun,a,b,cfun,dfun) m=100; n=100; mo= m + 1; hx= ( b- a) /m; x= a+(0:m)*hx; for i= 1: mo ylo= feval(cfun, x(i)); yhi= feval(dfun, x(i)); hy= (yhi- ylo)/n; y(i,:) = ylo+ (0: n) * hy; f(i,:) = feval(fun,x(i),y(i,:)); G(i) = trapz(y(i,:),f(i,:)); end I= trapz(x,G); 注:此程序适合二重积分,我已经调试过,结果跟解析解一致。 其中,fun为被积函数,用inline; a,b 外重积分的上下限 cfun,dfun内重积分的上下限(用inline) 然后参照上面方法调用newquad.m 即可求解了