Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2011-04-30, 16:26   #1
yuexiashuangfeng
初级会员
 
注册日期: 2011-04-30
帖子: 1
声望力: 0
yuexiashuangfeng 正向着好的方向发展
默认 matlab 调用函数老是出错怎么回事??高手请指点一下

function main()
for w2=1:1:100 %生成一个区间
p1=w2;
p2=p1+1;
eps=1.0e-4;
y=erfen(p1,p2,eps);
end
end

function y=erfen(a,b,eps) %二分法 a,b为区间端点,eps为精度
y1=f(a);
y2=f(b);
if y1*y2<0
n=1;
c=(a+b)/2;
mf=f(c);
while c>eps
if y1*mf<0
b=c;
c=(a+b)/2;
elseif mf*y2<0
a=c;
c=(a+b)/2;
else y=c; %eps=10000;
end
n=n+1;
end
y=c;
elseif f(a)==0
y=a;
elseif f(b)==0
y=b;
else
end
end

function f=f(w) %f函数
k1=1;
k=0.15;m2=7.8;b=0.1;h=0.1;m3=0.78;x3=1;
EI3=166.67;b1=b/2; b2=h/2; cc1=0; cc2=h/2;
J2=m2*(b*b+4*h*h)/12; r=(m3*w*w/(EI3))^(1/4);
U1=[1 0 0 0 0 0;0 1 0 0 0 -1/(k1);0 0 1 1/k 0 0 ;0 0 ...
0 1 0 1;0 0 0 0 1 0;0 0 0 0 0 1];
U2=[1 0 -b2 0 0 0;0 1 b1 0 0 0;0 0 1 0 0 0;-m2*w*w*(b2-cc2) ...
m2*w*w*(b1-cc1) -w*w*(J2-m2*(b2*cc2+b1*cc1)) 1 -b2 b1; ...
m2*w*w 0 -m2*w*w*cc2 0 1 0;0 m2*w*w m2*w*w*cc1 0 0 1];
U3=[1 0 0 0 0 0;0 S(r*x3) T(r*x3)/r U(r*x3)/(EI3*r*r) 0 ...
V(r*x3)/(EI3*r*r*r);0 r*V(r*x3) S(r*x3) T(r*x3)/(EI3*r) 0 ...
U(r*x3)/(EI3*r*r); 0 EI3*r*r*U(r*x3) EI3*r*V(r*x3) S(r*x3) 0 ...
T(r*x3)/r; m3*w*w*x3 0 0 0 1 0;0 EI3*r^3*T(r*x3) EI3*r*r*U(r*x3) ...
r*V(r*x3) 0 S(r*x3)];
Z=U3*U2*U1;
ZZ=Z(4:6,(4:6));
f=det(ZZ);
end
function T=T(x)
T=(sinh(x)+sin(x))/2;
end
function U=U(x)
U=(cosh(x)-cos(x))/2;
end
function S=S(x)
S=(cosh(x)+cos(x))/2;
end
function V=V(x)
V=(sinh(x)-sin(x))/2;
end





运行后错误提示信息
Error in ==> main>erfen at 12
y1=f(a);
??? Output argument "y" (and maybe others) not assigned during call to
"C:\Users\刘宗魁\Documents\MATLAB\新建文件夹\main.m>erfen".
Error in ==> main at 6
y=erfen(p1,p2,eps);
yuexiashuangfeng 当前离线   回复时引用此帖
旧 2011-05-03, 18:39   #2
yhcode
高级会员
 
注册日期: 2008-05-13
年龄: 44
帖子: 232
声望力: 21
yhcode 正向着好的方向发展
默认 回复: matlab 调用函数老是出错怎么回事??高手请指点一下

首先,你的程序写的有些乱,function可以不用加end, 问题很明显,没有返回值,可以断点跳进出错的函数里单步运行看输出是否有问题。感觉上有点儿是end惹的祸
__________________
工科'985'博士,(图像处理、分析及理解;模式识别;运动估计;数据分析等)定做程序、算法实现--qq:752105755
yhcode 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 10:43


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.