function  dq=z_t_equation(t,q,flag,n)

switch flag

case ''

syms x Fn Ff

B=0.4e-3;

a=11.932;

EI=343;

v=0.3;

l=0.15;

m0=0.025;

ra=3.276;

c=29.8;

cof=0.33;

d=0.15e-3;

omg=2*pi*n./60;

gama=pi/6;

Fa0=100;

kn=1.4e7;

kd=(2*kn.*(1-v))./(2-v);

%以上为常数参量

omt=sqrt(EI./(ra.*l.^4));

bt=omg./omt;

et=l.^3./EI;

eb=m0./(ra.*l);

ebb=c./(ra.*omt);

tao=omg.*t;

dba=d./l;

Bba=B./l;

%以上为无量纲化常量

f=sin((a*x)-sinh(a*x)-((sin(a)+sinh(a)).*(cos(a*x)-cosh(a*x)))/(cos(a)+cosh(a)));%形函数

f11=sin((a)-sinh(a)-((sin(a)+sinh(a)).*(cos(a)-cosh(a)))/(cos(a)+cosh(a)));

df1=diff(f,1);

df2=diff(f,2);

df4=diff(f,4);

f1=f.*f;

f2=f.*df4;

f3=-x.*f.*df1;

f4=f.*df2.*(1-x.^2);

f5=f.*df2;

F0=matlabFunction(f);

F1=matlabFunction(f1);

F2=matlabFunction(f2);

F3=matlabFunction(f3);

F4=matlabFunction(f4);

F5=matlabFunction(f5);

A1=integral(F3,0,1);

A2=integral(F4,0,1);

A3=integral(F5,0,1);

A4=et.*integral(F0,0,1);

A5=et.*f11;

cta1=acos((kd.*B.*tan(gama)+2*cof.*kn.*d)./(kd.*B.*tan(gama)+2*cof.*kn.*B));

cta2=acos(d/B);

cta3=acos((-d.*kd.*tan(gama)+cof.*d.*kn)./(B.*kd.*tan(gama)-cof.*B.*kn));

M=bt.^2.*integral(F1,0,1);

C=ebb.*bt.*integral(F1,0,1);

K=integral(F2,0,1);

(-inf<q(1))&(q(1)<inf);

if q(1)>dba/f11;

Fn=kn.*l.*(f11.*q(1)-dba).*cos(gama);

elseif q(1)<-dba/f11;

Fn=kn.*l.*(f11.*q(1)+dba).*cos(gama);

else q(1)>=-dba/f11&&q(1)<=dba/f11;

Fn=0;

end

if q(1)<Bba/f11&&q(1)>=Bba.*cos(cta1)/f11&&q(2)<0;

Ff=kd.*l.*sin(gama).*(f11.*q(1)-Bba)+cof.*kn.*l.*(f11.*q(1)-dba).*cos(gama);

elseif q(1)<Bba.*cos(cta1)/f11&&q(1)>=Bba.*cos(cta2)/f11&&q(2)<0;

Ff=-cof.*kn.*l.*(f11.*q(1)-dba).*cos(gama);

elseif q(1)<Bba.*cos(cta2)/f11&&q(1)>=-Bba.*cos(cta2)/f11;

Ff=0;

elseif q(1)<-Bba.*cos(cta2)/f11&&q(1)>=Bba.*cos(cta3)/f11&&q(2)<0;

Ff=kd.*l.*sin(gama).*(-f11.*q(1)-dba);

elseif q(1)<Bba.*cos(cta3)/f11&&q(1)>=-Bba/f11&&q(2)<0;

Ff=-cof.*kn.*l.*cos(gama).*(f11.*q(1)+dba);

elseif q(1)<-Bba.*cos(cta1)/f11&&q(1)>-Bba/f11&&q(2)>0;

Ff=kd.*l.*sin(gama).*(f11.*q(1)-Bba)-cof.*kn.*l.*(f11.*q(1)+dba).*cos(gama);

elseif  q(1)<-Bba.*cos(cta2)/f11&&q(1)>=-Bba.*cos(cta1)/f11&&q(2)>0;

Ff=cof.*kn.*l.*(f11.*q(1)+dba).*cos(gama);

elseif  q(1)<-Bba.*cos(cta3)/f11&&q(1)>=Bba.*cos(cta2)/f11&&q(2)>0;

Ff=kd.*l.*sin(gama).*(f11.*q(1)-dba);

elseif  q(1)<=Bba/f11&&q(1)>=-Bba.*cos(cta3)/f11&&q(2)>0;

Ff=cof.*kn.*l.*(f11.*q(1)-dba).*cos(gama);

end

%以上为函数参量的定义

F=A1.*bt.^2.*q(1)+bt.^2.*A2.*q(1)./2+eb.*bt.^2.*A3.*q(1)+A4.*Fa0.*sin(3*tao)-A5.*(Fn.*cos(gama)+Ff.*sin(gama));

dq(1)=q(2);

dq(2)=(F-C.*q(2)-K.*q(1))./M;

q=[q(1);q(2)];

dq=[dq(1);dq(2)];

otherwise

error(['error']);

end

运行出错,显示

从 sym 转换为 double 时出现以下错误:

DOUBLE cannot convert the input expression into a double array.

我是初学者,还望懂的人帮我调试一下,不胜感激!

matlab ode45 二阶微分,matlab用ode45求解二阶微分方程为题 - 数学 - 小木虫 - 学术 科研 互动社区...相关推荐

  1. 用MATLAB做结构灵敏度分析怎么做,如何做灵敏度分析 - 数学 - 小木虫 - 学术 科研 互动社区...

    我有以下数据 年份        平均气温        最高气温        最低气温        相对湿度        日照时数        实际风速        日均ET 1953   ...

  2. matlab 非线性常微分方程,Matlab数值求解非线性常微分方程 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...

    我最近也在用牛顿迭代解一个非线性方程组 Newton迭代有程序 我拷给你你 编写Newton迭代法的M文件NewtonIterate.如下: function s=NewtonIterate(x,ep ...

  3. matlab求解非线性常微分方程组,Matlab数值求解非线性常微分方程 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...

    我最近也在用牛顿迭代解一个非线性方程组 Newton迭代有程序 我拷给你你 编写Newton迭代法的M文件NewtonIterate.如下: function s=NewtonIterate(x,ep ...

  4. matlab换热器优化设计,matlab用于求解一个简单的优化设计问题 - 数学 - 小木虫 - 学术 科研 互动社区...

    最近在学习工程优化设计与MATLAB实现,在模拟课本中的例子的时候,程序提示不正确. Error using ==> mrdivide Matrix dimensions must agree. ...

  5. matlab曲面方程,如何用Matlab拟合数据求解曲面方程 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...

    我不知道你的方程,我粗略得到一个R2 = 0.99以上的方程,代码及结果如下 高次多项式拟合代码 : load shuju.mat B=fit([Dotx,Dotx],Dotz,'poly43') 结 ...

  6. matlab imfill holes,到底怎么实现,bwfill和imfill - 程序语言 - 小木虫 - 学术 科研 互动社区...

    认真研读一下MATLAB的help文档吧,解释最权威: BWFILL Fill background regions in binary image. BWFILL is a grandfathere ...

  7. matlab文件序号超出511,求教一段matlab的代码 - 数学 - 小木虫 - 学术 科研 互动社区...

    不知楼主说的没法求出优化值,是什么意思.是报错还是怎么. 我也是刚接触优化,觉得楼主的错误可能是在:主函数里 A=[-1;1];的括号中间应该用逗号,而不是分号.即改为A=[-1,1]; 我对你的程序 ...

  8. matlab 打开软件报错,matlab程序错误,提示如下【弄了半夜还是不行】 - 数学 - 小木虫 - 学术 科研 互动社区...

    function [x,y,Y]=levydistrintheorytest(t0,lambda,T,a,b); %  计算理论的二维levy分布的图象   画出来的3维曲面图 %   t0 :lev ...

  9. matlab常数编程,用MATLAB编程序,拟合方程,求常数。 - 计算模拟 - 小木虫 - 学术 科研 互动社区...

    迭代数: 36 计算用时(时:分:秒:微秒): 00:00:04:166 优化算法: 麦夸特法(Levenberg-Marquardt) + 通用全局优化法 计算结束原因: 达到收敛判断标准 均方差( ...

  10. matlab 比较两个函数,Matlab同时拟合两个函数 - 数学 - 小木虫 - 学术 科研 互动社区...

    大家好!我想对两组数据(数据和图见下)同时进行拟合,得到一组参数.不知哪位高手能编写出程序,最后生成:原始数据,拟合数据,参数值,每个参数的误差以及总方差. 当x较小时,y变化较快,需要对x求一下对数 ...

最新文章

  1. Python函数及其参数
  2. 重启修复计算机怎么操作,如何以安全模式启动电脑,修复系统故障,这4个方法值得一试...
  3. 二十九、深入Python中的collections模块
  4. 中小卖家需要避开的三个坑
  5. weight (搜索对象的选取)
  6. 编译器和解释器(Compiler and Interpreter)
  7. Spring中定时任务Quartz集群配置学习
  8. YISplashScreen
  9. c语言秒表编程示例,求大神帮忙写一篇简单的C语言秒表程序, 谢谢。
  10. python填空题及答案知乎_zhihu-python
  11. 商用密码产品认证-数字证书认证系统
  12. (最详细)小米手机4c的USB调试模式在哪里开启的教程
  13. vue实现pdf打印预览
  14. 王佩丰excel教程笔记(认识excel)
  15. 数字逻辑电路设计课程设计
  16. excel文档文件加密的方法步骤
  17. mysql远程主机强迫关闭了_HAProxy出现远程主机强迫关闭了一个现有的连接 的错误及解决...
  18. springboot中 @Imput与@EnableConfigurationProperties区别
  19. easyui手风琴菜单
  20. SDR技术原理解析 USRP收发原理

热门文章

  1. 加密狗映射至虚拟服务器,XenServer6.x U盘、加密狗等USB设备映射到VM虚拟机教程.pdf...
  2. 南京大学2020计算机考研分数线,2020南京大学考研复试分数线已公布
  3. Red Giant Universe 3.0.2 for After Effects 破解版 Mac 红巨星宇宙特效插件包预设
  4. python静默打印pdf
  5. 网页上的在线打印如何下载成本地PDF格式(人工亲测)
  6. 华为太极magisk安装教程_Magisk 需要修复运行环境,缺失Magisk正常工作所需的文件...
  7. 一次性说清楚秒验(本机号码一键登录)
  8. 神州数码DC交换机VSF配置命令
  9. AI房产户型图识别3DRender
  10. 安卓APP逆向入门破解