- 积分
- 0
- 注册时间
- 2009-3-13
- 仿真币
-
- 最后登录
- 1970-1-1
|
[i=s] 本帖最后由 messenger 于 2010-8-22 12:53 编辑 [/i]
下面是我自己编得一个函数,其中要用到matlab中的积分函数,但总是出错
function [FX,FY,FXY]=uniform_force111(x1,y1,jd,F,a)
%~~~用来计算洞周上均布力作用时在边界上产生的应力
%~~~x1,y1是边界43线上的坐标,b是均布力F与外法向N之间的夹角,绕N逆时针为正,顺时针为负
F1=@(x) F*(-2*(-y1)^3*cos(jd)+(-y1)^2*(-x1)*sin(jd))/((x1^2+y1^2)^2);
F2=@(x) F*(-2*(-y1)*(-x1)^2*cos(jd)+(-x1)^3*sin(jd))/((x1^2+y1^2)^2);
F12=@(x) F*(-2*(-y1)^2*(-x1)*cos(jd)+(-x1)^2*(-y1)*sin(jd))/((x1^2+y1^2)^2);
FX=quadl(@(x)F1(x),-a/2,a/2);
FY=quadl(@(x)F2(x),-a/2,a/2);
FXY=quadl(@(x)F12(x),-a/2,a/2);
出现的错误如下:
Attempted to access y(13); index out of bounds because numel(y)=1.
Error in ==> quadl at 72
if ~isfinite(y(13))
Error in ==> uniform_force111 at 12
FX=quadl(@(x)F1(x),-a/2,a/2);
大家帮我看看吧,很急的,谢谢了 |
|