网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月16日漏签0天
matlab吧 关注:292,479贴子:1,659,332
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 4回复贴,共1页
<<返回matlab吧
>0< 加载中...

关于fsolve方程组

  • 只看楼主
  • 收藏

  • 回复
  • e741968570
  • 无名之辈
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这是方程组
m*x''+c11*x'+k11*x+k14*ey=Fx+Fxump
m*y''+c22*y'+k22*x-k23*ex=Fy+Fyump
Jd*ex''+H*ey'-k32*y+k33*ex=Mumpx
m*ey''-H*ex'+k41*x+k44*ey=Mumpy
这是调用函数
function [dydt] =weifen(t,y)
%=================参数设置===============
m=18.15; %质量
a=5*10^-4; %偏心距
f=50; %频率
c11=81.9; %阻尼系数
c22=c11; %阻尼系数
r=0.0059;
k11=1.7692*10^6; %刚度系数
k22=k11;
k33=1.474*10^5;
k44=k33;
k32=-2.949*0^5;
k23=k32;
k41=k32;
k14=k32;
w=2*pi*f; %角速度
fex=m*a*w^2*cos(2*w*t);%离心力
fey=m*a*w^2*sin(2*w*t);
Jd=(m*r^2)/4;
Jp=2*Jd;
H=Jp*w;
%==================列方程==================
fun=@(dy)[dy(1)*m+c11*y(2)+k11*y(1)+k14*y(7)-(312.006-...
344.027*cos(2*w*t)-460.286*sin(2*w*t)+fex);
dy(2)*m+c22*y(4)+k22*y(3)-k23*y(5)-(-12230.2-460.286*cos(2*w*t)...
+344.027*sin(2*w*t)+fey);
dy(3)*Jd+H*y(8)-k32*y(3)+k33*y(5)-(-152.733+72.5859*cos(2*w*t)...
+5.39735*sin(2*w*t));
dy(4)*Jd-H*y(6)+k41*y(1)+k44*y(7)-179.405+5.39735*cos(2*w*t)...
-72.5859*sin(2*w*t)];
options=optimset('display','off');
dyzero=fsolve(fun,y([1,3,5,7]),options);
dydt=[y(2),dyzero(1),y(4),dyzero(2),y(6),dyzero(3),y(8),dyzero(4)];
end
这是运行函数
tspan=[0,0.5]; %时间
y0=[-0.000132,0,0,0,0.016,0,0.016,0]'; %初值[原值,导数值,原值,导数值...]
[t,y]=ode45(@weifen,tspan,y0);
这是错误提示
错误使用 vertcat
串联的矩阵的维度不一致。
出错
weifen>@(dy)[dy(1)*m+c11*y(2)+k11*y(1)+k14*y(7)-(312.006-344.027*cos(2*w*t)-460.286*sin(2*w*t)+fex);dy(2)*m+c22*y(4)+k22*y(3)-k23*y(5)-(-12230.2-460.286*cos(2*w*t)+344.027*sin(2*w*t)+fey);dy(3)*Jd+H*y(8)-k32*y(3)+k33*y(5)-(-152.733+72.5859*cos(2*w*t)+5.39735*sin(2*w*t));dy(4)*Jd-H*y(6)+k41*y(1)+k44*y(7)-179.405+5.39735*cos(2*w*t),-72.5859*sin(2*w*t)]
(line 24)
fun=@(dy)[dy(1)*m+c11*y(2)+k11*y(1)+k14*y(7)-(312.006-...
出错 fsolve (line 217)
fuser = feval(funfcn{3},x,varargin{:});
出错 weifen (line 33)
dyzero=fsolve(fun,y([1,3,5,7]),options);
出错 odearguments (line 87)
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
出错 ode45 (line 113)
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...
出错 Untitled2 (line 3)
[t,y]=ode45(@weifen,tspan,y0);
原因:
Failure in initial user-supplied objective function evaluation. FSOLVE cannot continue.
求大神帮忙下 谢谢了


  • e741968570
  • 无名之辈
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
找了一下午都没找到错误在哪里····


2026-01-16 02:17:54
广告
不感兴趣
开通SVIP免广告
  • e741968570
  • 无名之辈
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
求大神帮忙,我是按照《MATLAB高效编程技巧与应用:25个案例分析》第 218页的例子做的····但是不知道问题出在哪里···


  • e741968570
  • 无名之辈
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
希望能够得到解答


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 4回复贴,共1页
<<返回matlab吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示