声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1034|回复: 2

[编程技巧] 关于一个二元函数的程序出错问题

[复制链接]
发表于 2007-7-25 15:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
小弟也是最近才开始学习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 编辑 ]
回复
分享到:

使用道具 举报

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


新手请先阅读本版各置顶贴,然后自己找答案
 楼主| 发表于 2007-7-26 08:35 | 显示全部楼层
哦,是吗?那我先找找看.
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-24 01:18 , Processed in 0.053294 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表