rosesbass 发表于 2007-7-25 15:20

关于一个二元函数的程序出错问题

小弟也是最近才开始学习Matlab,还有许多的地方不是很明白,下面就是刚刚遇到的一个。
    需要计算坩锅的体积,从而计算流量,坩锅外形是上下为园(半径R,r),侧面是一个抛物面。坩锅倾斜角度为l,高度H。坩锅被一个平面所切。
    我列的是一个横截面积的函数S,是一个分段函数,然后在Z轴(高度)上从0到H积分,得到体积。但是函数S总是有错误,在这里恳请大家帮忙修改一下,提一下意见。


function S=S(z,l)
syms z l;
R=23.5;
r=21.5;
H=78;
k=tan(l);
a=H/((R+r)^2-2*R*(R+r));
b=-2*R/((R+r)^2*R*(R+r));
y1=-b-sqrt(b^2+4*a*z);
y2=-b+sqrt(b^2+4*a*z);
r1=y1+b/(2*a);
r2=-b/(2*a)-y2;
R1=y1-R;
a1=acos(R1/r1);
a2=acos(R1/r2);
if z<=H & z>(-b*k/(2*a))
    S=pi*R1*(2*pi-2*a1)/(2*pi)+r1*sqrt(R1^2-r1^2);
else if z==-b*k/(2*a)
      S=1/2*pi*R1^2;
    else if z>0 & z<(-b*k/(2*a))
      S=pi*R1^2-(pi*R1^2*(2*pi-2*a2)/(2*pi)+r2*sqrt(R1^2-r2^2));
    end
end
end

[ 本帖最后由 eight 于 2007-7-25 15:34 编辑 ]

eight 发表于 2007-7-25 15:34

原帖由 rosesbass 于 2007-7-25 15:20 发表 http://www.chinavib.com/forum/images/common/back.gif
小弟也是最近才开始学习Matlab,还有许多的地方不是很明白,下面就是刚刚遇到的一个。
    需要计算坩锅的体积,从而计算流量,坩锅外形是上下为园(半径R,r),侧面是一个抛物面。坩锅倾斜角度为l,高度H。坩 ...

新手请先阅读本版各置顶贴,然后自己找答案

rosesbass 发表于 2007-7-26 08:35

哦,是吗?那我先找找看.
页: [1]
查看完整版本: 关于一个二元函数的程序出错问题