大家可以看看我这fzero命令哪用错了吗
fun.m文件function F=fun(dei,Cd,Fd,beta,omiga,Fti)
F = Cd.*dei+Fd.*(1-exp(-beta.*dei./omiga)./(1+exp(-beta.*dei./omiga)))-Fti;
sigmoid.m文件
%sigmoid模型%---------力计算位移
%F(t)=Cd*de+Fd*sgn(de)-F0=Kd*(x-e)-F0
%F(t)=Fd*(1-exp(-beta*de/omiga))/(1+exp(-beta*de/omiga))+Cd*de
clear all
Cd=8.684*1e3;%模型参数
Fd=1400;
beta=541;
omiga=12.56;
Hz=2;%sinwave frequency
dt=0.002;%荷载时间步长
dF=25;%荷载步长
Fmax=1500;%荷载范围
Ft=1500.*sin(12.56.*(0:dt:10));
de=zeros(1,length(Ft)+1);%预定义变量---内速度
e=de;%预定义变量---内位移
for i=1:length(Ft)
de(i+1)=fzero(@de(i) fun(de(i),Cd,Fd,beta,omiga,Fti),de(i));%Cd.*dei+Fd.*(1-exp(-beta.*dei./omiga)./(1+exp(-beta.*dei./omiga)))-Fti
e(i+1)=e(i)+de(i+1).*dt;%积分
end
comet(e(1,2:end),Ft)
%comet(de(1,2:end),Ft)
但是最后运行不了 fun.m 和sigmoid.m是分开的,sigmoid.m调用fun.m 不知道你所说的运行不了是个什么情况 就是出现错误,可以到matlab上试下 嗯,fzero命令用法错误。
版面搜索,标题为“z=fzero('fname',x0)能否与带有两参数函数连用” 我已经解决了,谢谢,不是fzero的错误,而是我自己粗心,function写错了
页:
[1]