本帖最后由 @@@@@BEI 于 2021-1-11 10:38 编辑

下面是程序的主要部分,方程本来有间隙函数、时变刚度、变外力等等,为了运行程序,参数暂时全部取常数,再试运行程序。就是微分方程总是出现这个问题,还有问题就是:“输入向量与输出向量不一样”,或者“返回的向量和初始条件向量的元素数目必须相同”,方程本来是15阶的二阶微分方程,降阶后有30个一元方程组,用ode45龙格库塔计算,就出现维度不一致的问题·,搞了大半天也不明白哪里出了问题,求教求教。

%函数定义

% function dy=f_ffff(t,y)

dy=zeros(30,1);

z_3=f_3(y);

z_5=f_5(y);

z_7=f_7(y);

z_21=f_21(y);

z_23=f_23(y);

global k11 k12 k13 k14 k21 k22 k25 k28 k213 k31 k33 k36 k39 k314 k41 k44 k47 k410 k415

global k52 k55 k511 k63 k66 k611 k74 k77 k711 k82 k88 k812 k93 k99 k912 k104 k1010 k1012

global k115 k116 k117 k1111 k128 k129 k1210 k1212 k132 k1313 k143 k1414 k154 k1515

global c11 c12 c13 c14 c21 c22 c25 c28 c213 c31 c33 c36 c39 c314 c41 c44 c47 c410 c415

global c52 c55 c511 c63 c66 c611 c74 c77 c711 c82 c88 c812 c93 c99 c912 c104 c1010 c1012

global c115 c116 c117 c1111 c128 c129 c1210 c1212 c132 c1313 c143 c1414 c154 c1515

global F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15

%无量纲刚度矩阵

k11=1;

k12=1;

k13=1;

k14=1;

k21=1;

k22=1;

k25=1;

k28=1;

k213=1;

k31=1;

k33=1;

k36=1;

k39=1;

k314=1;

k41=1;

k44=1;

k47=1;

k410=1;

k415=1;

k52=1;

k55=1;

k511=1;

k63=1;

k66=1;

k611=1;

k74=1;

k77=1;

k711=1;

k82=1;

k88=1;

k812=1;

k93=1;

k99=1;

k912=1;

k104=1;

k1010=1;

k1012=1;

k115=1;

k116=1;

k117=1;

k1111=1;

k128=1;

k129=1;

k1210=1;

k1212=1;

k132=1;

k1313=1;

k143=1;

k1414=1;

k154=1;

k1515=1;

%无量纲阻尼矩阵

c11=1;

c12=1;

c13=1;

c14=1;

c21=1;

c22=1;

c25=1;

c28=1;

c213=1;

c31=1;

c33=1;

c36=1;

c39=1;

c314=1;

c41=1;

c44=1;

c47=1;

c410=1;

c415=1;

c52=1;

c55=1;

c511=1;

c63=1;

c66=1;

c611=1;

c74=1;

c77=1;

c711=1;

c82=1;

c88=1;

c812=1;

c93=1;

c99=1;

c912=1;

c104=1;

c1010=1;

c1012=1;

c115=1;

c116=1;

c117=1;

c1111=1;

c128=1;

c129=1;

c1210=1;

c1212=1;

c132=1;

c1313=1;

c143=1;

c1414=1;

c154=1;

c1515=1;

%外力

F1=200;

F2=200;

F3=200;

F4=200;

F5=0;

F6=0;

F7=0;

F8=0;

F9=0;

F10=0;

F11=100;

F12=100;

F13=-100;

F14=-100;

F15=-100;

%系统偏微分方程

dy(1)=y(2);

dy(2)=-k11*y(1)-k12*z_3-k13*z_5-k14*z_7-c11*y(2)-c12*y(4)-c13*y(6)-c14*y(8)+F1;

dy(3)=y(4);

dy(4)=-k21*y(1)-c21*y(2)-k22*z_3-c22*y(4)-k25*y(9)-c25*y(10)-k28*y(9)-c28*y(10)-k213*y(25)-c213*y(26)+F2;

dy(5)=y(6);

dy(6)=-k31*y(1)-c31*y(2)-k33*z_5-c33*y(6)-k36*y(11)-c36*y(12)-k39*y(17)-c39*y(18)-k314*y(27)-c314*y(28)+F3;

dy(7)=y(8);

dy(8)=-k41*y(1)-c41*y(2)-k44*z_7-c44*y(8)-k47*y(13)-c47*y(14)-k410*y(19)-c410*y(20)-k415*y(27)-c415*y(28)+F4;

dy(9)=y(10);

dy(10)=-k52*z_3-c52*y(4)-k55*y(9)-c55*y(10)-k511*z_21-c511*y(22)+F5;

dy(11)=y(12);

dy(12)=-k63*z_5-c63*y(6)-k66*y(11)-c66*y(11)-k611*z_21-c611*y(22)+F6;

dy(13)=y(14);

dy(14)=-k74*z_7-c74*y(8)-k77*y(13)-c77*y(14)-k711*z_21-c711*y(22)+F7;

dy(15)=y(16);

dy(16)=-k82*z_3-c82*y(4)-k88*y(15)-c88*y(16)-k812*z_23-c812*y(24)+F8;

dy(17)=y(18);

dy(18)=-k93*z_5-c52*y(6)-k55*y(17)-c55*y(18)-k511*z_23-c511*y(24)+F9;

dy(19)=y(20);

dy(20)=-k104*z_7-c104*y(8)-k1010*y(19)-c1010*y(20)-k1012*z_23-c1012*y(24)+F10;

dy(21)=y(22);

dy(22)=-k115*y(9)-c115*y(10)-k116*y(11)-c116*y(12)-k117*y(13)-c117*y(14)-k1111*z_21-c1111*y(22)+F11;

dy(23)=y(24);

dy(24)=-k128*y(15)-c128*y(16)-k129*y(17)-c129*y(18)-k1210*y(19)-c1210*y(20)-k1212*z_23-c1212*y(24)+F12;

dy(25)=y(26);

dy(26)=-k132*z_3-c132*y(4)-k1313*y(25)-c1313*y(26)+F13;

dy(27)=y(28);

dy(28)=-k143*z_5-c143*y(6)-k1414*y(27)-c1414*y(28)+F14;

dy(29)=y(30);

dy(30)=-k154*z_7-c132*y(8)-k1515*y(29)-c1515*y(30)+F15;

%间隙函数

function fq_3 =f_3(y)

if y(3)>1

fq_3=y(3)-1;

elseif y(3)

fq_3=y(3)+1;

else

fq_3=0;

end

function fq_5 =f_5(y)

if y(5)>1

fq_5=y(5)-1;

elseif y(5)

fq_5=y(5)+1;

else

fq_5=0;

end

function fq_7 =f_7(y)

if y(7)>1

fq_7=y(7)-1;

elseif y(7)

fq_7=y(7)+1;

else

fq_7=0;

end

function fq_21 =f_21(y)

if y(21)>1

fq_21=y(21)-1;

elseif y(21)

fq_21=y(21)+1;

else

fq_21=0;

end

function fq_23 =f_23(y)

if y(23)>1

fq_23=y(23)-1;

elseif y(23)

fq_23=y(23)+1;

else

fq_23=0;

end

用户程序:

T=2*pi;

tspan=0:T/100:200*T;

y0=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];

options=odeset('RelTol',10^-3,'AbsTol',10^-3);

[t,y]=ode45(@f_fffff,tspan,y0);

plot(t,y(:,1));%绘制 y 的时间历程

xlabel('t')%横轴为 t

ylabel('y')%纵轴为 y

grid;%显示网格线

axis([460 500 -Inf Inf])%显示范围设置

2021-1-11 10:37 上传

matlab偏分赋值错误,MATLAB ode45求解高阶微分方程组,出现“无法执行赋值,因为左侧和右侧的元素数目不同”问题...相关推荐

  1. 龙格库塔法解微分方程组的matlab程序,MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc...

    MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc MATLAB实例源码教程龙格库塔法求解微分方程组源代码实例题目用经典 Runge-Kutta方法求下列一阶微分方程组的近似解y1 ...

  2. ode45 matlab 出错,Matlab中ode45求解微分方程组出错。

    ode45解微分方程组,结果数量级居然为10e304,请各位帮忙看看啊. 问题为求解一个7自由度系统(两个移动5个转动)在初始位移激励下个自由度的的位移和加速度. 目标函数 function dq=E ...

  3. matlab:使用四阶龙格库塔方法求解微分方程组

    %书籍:常用数值算法及其matlab实现 %第10章 常微分方程初值问题的数值解法,例10.14使用 %四阶龙格库塔方法 function [t,z] = rk4symeq(fun, t0, tf, ...

  4. matlab电力电子技术仿真错误,Matlab在电力电子技术仿真中的应用

    2.2 参数设置 2.2.1 触发脉冲的设置 给图二中的每个脉冲发生器(pulse generator)设合理的参数,从而获得三相整流桥所要求的触发脉冲.以使得触发角为30.为例,参数设置如下: A. ...

  5. 【Matlab 控制】微分方程 ode45() 求解并绘制曲线

    Matlab 微分方程 ode45 求解并绘制曲线 2. 用 ode45() 求解 2.1 ode45() 函数用法 2.2 示例:求解一阶微分方程 2.2.1 Matlab 代码如下 2.2.2 代 ...

  6. MATLAB实战应用案例:欧拉法、改进欧拉法、ode45求解微分方程实例

    前言 ode45求解 clc clear 以下是我为大家准备的几个精品专栏,喜欢的小伙伴可自行订阅,你的支持就是我不断更新的动力哟! MATLAB-30天带你从入门到精通 MATLAB深入理解高级教程 ...

  7. matlab ode45求解齿轮动力学,ode45求解多自由度动力学方程实例.doc

    ode45求解多自由度动力学方程实例 Ode45函数调用形式如下:[T,Y]=ode45(odefun,tspan,y0)相关参数介绍如下:参数名称参数说明odefun用于存放待求解的方程的m文件名, ...

  8. ode45 matlab 出错,Matlab中ode45求解出错

    ode45解微分方程组,结果数量级居然为10e304,请各位帮忙看看啊. 问题为求解一个7自由度系统(两个移动5个转动)在初始位移激励下个自由度的的位移和加速度. 目标函数 function dq=E ...

  9. Matlab中用ode45求解速率方程,一直显示输入参量太多,什么原因呢?

    脉冲泵浦时的m文件为: function dy = rate_eq(t,y,T0,N_T,d) P_in=80; R=0.8; sigma = 8e-25; %铒离子受激发射截面 sigma_y=1. ...

最新文章

  1. MySQL的安装过程
  2. win10管理凌乱桌面_用于管理凌乱的开源存储库的命令行技巧
  3. 星光 SaaS 伙伴甄云科技:如何构建更适合快成长企业的数字化采购管理平台?
  4. 【elasticsearch】elasticsearch--6.8.0报错信息如下: checksum failed (hardware problem?)
  5. Primavera P6用户密码锁定及管理员忘记密码处理
  6. web前端开发面试题-基础篇
  7. python和c语言的哪个难,r语言和c语言哪个难 r语言和python的区别-与非网
  8. 关于「微软拼音」自定义文本这件事
  9. GoogleNet论文解读
  10. 【Python/Pytorch - Bug】-- RuntimeError: ,expected input[16,12,174,145] to have 8 channels,but got 12
  11. iOS清除缓存功能开发
  12. 上海航芯|推出基于ACX200T的V2X解决方案
  13. 一份写给极客的智能家居指南
  14. “安卓僵尸”变种木马
  15. 设计模式七大原则总结
  16. 消息中间件MQ的学习境界和路线
  17. thinkphp5+阿里短信发送验证码
  18. 北京等一线城市租房通鉴
  19. 谷歌浏览器怎么同步收藏夹,书签云帮助你
  20. NBA 2012-2013赛季看点

热门文章

  1. 计算机架构特点及应用,计算机C语言的特点与结构分析
  2. 160429 vue.js 2 台灣小凡(体验 vuejs 2之随笔)
  3. 第三方支付系统--用户开户、信息认证以及信息修改流程
  4. Spring源码分析(三)
  5. 制作CentOS 6.4 U盘启动安装盘
  6. 吴裕雄--天生自然 诗经:兵车行
  7. r语言怎么做经验分布_训练宝宝语言能力应该怎么做
  8. Mybatis配置驼峰影射作用
  9. 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(济南)(重现赛)
  10. 搞 IT 搞累了,来看看美图吧。