如何用matlab绘制图像:对100-(sqrt((x-l1)^2+y^2))中的l1从0到5进行积分,画出三维图
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/11 07:47:40
如何用matlab绘制图像:对100-(sqrt((x-l1)^2+y^2))中的l1从0到5进行积分,画出三维图
先用符号积分算了一下,发现没有解析解.那么只能用数值积分的方法了,我用的是比较简单的simpson积分公式,代码如下.建立m文件smpsn.m,内容如下
function z = smpsn(x,y);global x0 y0;x0 = x;y0 = y;h = 0.05;%积分步长t=[0:h:5];n = length(t);s = 0;for k = 2:n s = s + 4*fun((t(k)+t(k-1))/2)+2*fun(t(k));ends = s+fun(t(1))-fun(t(n));z = h/6.*s;
function yy = fun(l1);global x0 y0yy = 100-(sqrt((x0-l1).^2+y0.^2));
然后需要输入的命令是:>> [X,Y]=meshgrid(linspace(-10,10,200));>> Z=smpsn(X,Y);>> mesh(X,Y,Z);图形:这里x,y取的范围是[-10,10],按照需要你可以自己取.
再问: 如果需要计算以原点为顶点x轴为一边的逆时针一定角度内等高线围成的面积怎么做呀。
再答: 听得不是很懂。。。什么叫以原点为顶点x轴为一边的逆时针一定角度内等高线围成的面积。。。能具体一点么
再问: 比如说:求给定一条等高线在底面投影曲线,与过原点与X轴成a(角度)的直线以及X轴所夹的面积。。。。(我觉得自己表述的好坑爹。。。)
再答: 大概懂了。好像很复杂的样子。这样子,你看看行不行。>> [X,Y]=meshgrid(linspace(-15,15,300));>> Z=smpsn(X,Y);>> mesh(X,Y,Z);>> t=find(abs(Z-450)<0.05);%这条命令用来求出等高线Z=450>>figure(2);plot(X(t),Y(t),'r*');axis equal;%画出等高线在xy平面的投影哇,原来是一个圆。其它等高线也是这样吗?是的,你自己可以试试,但是注意取Z=Z0时,Z0要在Z的值域内,你可以先用命令max(max(Z))和min(min(Z))查出Z的最大和最小值。好了,你要的面积很容易求出来了吧?只要求出圆的半径就好了。>> Xt=X(t);Yt=Y(t);>> R=(max(Xt)-min(Xt))/2 R = 9.9833不妨设角度a=pi/3;那么>> a=pi/3;>> S>> S=0.5*a*R^2S =
52.1849暂时就想到这么个方法了,结果肯定是可靠的,就是需要"观察"。。。
function z = smpsn(x,y);global x0 y0;x0 = x;y0 = y;h = 0.05;%积分步长t=[0:h:5];n = length(t);s = 0;for k = 2:n s = s + 4*fun((t(k)+t(k-1))/2)+2*fun(t(k));ends = s+fun(t(1))-fun(t(n));z = h/6.*s;
function yy = fun(l1);global x0 y0yy = 100-(sqrt((x0-l1).^2+y0.^2));
然后需要输入的命令是:>> [X,Y]=meshgrid(linspace(-10,10,200));>> Z=smpsn(X,Y);>> mesh(X,Y,Z);图形:这里x,y取的范围是[-10,10],按照需要你可以自己取.
再问: 如果需要计算以原点为顶点x轴为一边的逆时针一定角度内等高线围成的面积怎么做呀。
再答: 听得不是很懂。。。什么叫以原点为顶点x轴为一边的逆时针一定角度内等高线围成的面积。。。能具体一点么
再问: 比如说:求给定一条等高线在底面投影曲线,与过原点与X轴成a(角度)的直线以及X轴所夹的面积。。。。(我觉得自己表述的好坑爹。。。)
再答: 大概懂了。好像很复杂的样子。这样子,你看看行不行。>> [X,Y]=meshgrid(linspace(-15,15,300));>> Z=smpsn(X,Y);>> mesh(X,Y,Z);>> t=find(abs(Z-450)<0.05);%这条命令用来求出等高线Z=450>>figure(2);plot(X(t),Y(t),'r*');axis equal;%画出等高线在xy平面的投影哇,原来是一个圆。其它等高线也是这样吗?是的,你自己可以试试,但是注意取Z=Z0时,Z0要在Z的值域内,你可以先用命令max(max(Z))和min(min(Z))查出Z的最大和最小值。好了,你要的面积很容易求出来了吧?只要求出圆的半径就好了。>> Xt=X(t);Yt=Y(t);>> R=(max(Xt)-min(Xt))/2 R = 9.9833不妨设角度a=pi/3;那么>> a=pi/3;>> S>> S=0.5*a*R^2S =
52.1849暂时就想到这么个方法了,结果肯定是可靠的,就是需要"观察"。。。
如何用matlab绘制图像:对100-(sqrt((x-l1)^2+y^2))中的l1从0到5进行积分,画出三维图
请问如何用matlab绘制三维函数图,例如:z=x-y,(要求z>0)
如何用MATLAB求[x^2.*sqrt(2.*x^2+3)]在1到5上的定积分?
如何用matlab绘制y=sqrt(1+2(sinx)^2)曲线.
如图在直角坐标系中画出方程2x+y-3=0的图像L1,方程x-y-3=0的图像L2,设L1与L2相交于点P,写出点p的坐
如何用matlab做sqrt(1-x^2)*x*log(2+x)的数值积分
画出三维曲线z^2=x^3+6*x*y+y^4+6*x+2*y-1 的图像.用matlab绘制
如何用Matlab画出y=e的2x次方/x方得图像?
如何用matlab画出y=sin(2x)*sin(10x)的图像
如何用matlab画出函数y=x*exp(-2X)的图像?
函数y=-2165x^2-414.5x+135.5如何用matlab画出图像
如何用matlab画出y=2e^x的图像