位置2处的索引超过边界总数matlab,位置 2 处的索引超出数组边界(不能超出 2)。...
想使用fmincon函数优化求微分方程的参数,写完程序之后提示这个错误,大佬们能不能帮我看看哪里错了?
也帮忙看一下我写的程序对不对,有没有有需要改正的地方。
k0=[0.023 0.000613 0.1098 0.00038];
lb=[0 0 0 0];
% ub=[+inf +inf +inf +inf];
x0=[4000000 62166 1044 38364 53793 3311];
load Expdata;
t=Expdata(:,1);
yexp=Expdata(:,[2,5]);
%使用fmincon函数进行参数估计
[k,fval,flag] = fmincon('ObjFunc4Fmincon',k0,[],[],[],[],lb,[],[],[],x0,yexp);
fprintf('\n使用函数fmincon()估计得到的参数值为:\n')
fprintf('\tk1 = %.4f\n',k(1))
fprintf('\tk2 = %.4f\n',k(2))
fprintf('\tk3 = %.4f\n',k(3))
fprintf('\tk4 = %.4f\n',k(4))
fprintf(' The sum of the squares is: %.1e\n\n',fval)
k_fmincon = k;
%---------------------------
function f=ObjFunc4Fmincon(k,x0,yexp)
tsan=[1:82];
[t,x]=ode45(@KineticEqs,tsan,x0,[],k);
y(:,[1,3])=x(:,[2,4]);
y(:,4)=x(:,6);
f=sum((y(:,1)-yexp(:,1)).^2)+((y(:,2)-yexp(:,2)).^2)+((y(:,3)-yexp(:,3)).^2)+((y(:,4)-yexp(:,4)).^2);
end
%----------------------------
function dx/dt=KineticEqs(t,x,k)
dx/dt=[(-(k(1)*x(1)+k(2)*x(2)))
(k(1)*x(1)+k(2)*x(2)-(1/7)*x(2))
((1/7)*x(2)-0.7*x(3)-k(4)*x(3))
(0.7*x(3)-k(3)*x(4)-0.324441133*x(4))
(0.324441133*x(4))
(k(3)*x(4)+k(4)*x(3))
]
end
2020-6-13 17:48 上传
matlab提示的错误
2020-6-13 17:48 上传
KineticEqs函数
2020-6-13 17:48 上传
ObjFunc4Fmincon函数
2020-6-13 17:48 上传
求参实现
位置2处的索引超过边界总数matlab,位置 2 处的索引超出数组边界(不能超出 2)。...相关推荐
- Matlab中出现“位置1处的索引超出数组边界(不能超过1)”
我是一个matlab小白,前几天刚准备学习机器学习的相关知识,但是下面的代码一直提示我"位置1处的索引超出数组边界(不能超过1)". 好像出错在71行的"ans(j,:) ...
- boost::safe_numerics模块实现数组索引值可以超出数组边界的测试程序
boost::safe_numerics模块实现数组索引值可以超出数组边界的测试程序 实现功能 C++实现代码 实现功能 boost::safe_numerics模块实现数组索引值可以超出数组边界的测 ...
- c/c++中索引超出数组边界问题
C/C++没有数组 在其它高级语言里,不管是定义(声明)还是引用, a[i] 或 a[3] 都是一个整体.在 C/C++ 里,却是一个表达式: a[i] 是运算符 [] 连接两个实体 a 和 i . ...
- matlab处理数据,提示“提示位置1处的索引超出数组边界。不能超出1”,这该怎么处理呢
- 求助:matlab报错:位置 2 处的索引超出数组边界(1)
代码 clear all; %clc; I=eye(3); K=2; M=eye(3);N=eye(3); qd=[0 0 0]'; qd0=1;%期望四元数 Wd=[0 0 0]';%期望角速度%- ...
- matlab报错:位置 2 处的索引超出数组边界(不能超出 3)。
原因: for i=1:1:a jieguo_data(i,1)=xingzuo_data(i,1); jieguo_data(i,2)=xingzuo_data(i,2); ...
- matlab矩阵维度不允许,如何解决索引超过矩阵维度 - MATLAB
该系统使用两个坐标点生成距离. 工作表1显示每个航点上的坐标,工作表2显示航点的连接. 因此,我需要产生距离,但我一直遇到这个问题; "指数超过矩阵尺寸."我怎么解决这个问题. 以 ...
- php 数组大于1,位置 1 的索引超出数组范围(不能超过 1)。
%清空运行环境 clc clear %速度更新参数 c1 = 1.49445; c2 = 1.49445; maxgen = 300; %最大迭代次数 sizepop = 20; %种群规模数 %个体 ...
- MATLAB位置1无法索引,位置 1 的索引超出数组范围(不能超过 1)
clear clc; N=512; L=512; f1=300;fs=15000; T=1/fs; ws=2*pi*fs; t=(0:1:N-1)*T; x=sin(2*pi*f1*t); y=fft ...
最新文章
- 成功案例_网络营销成功案例分析
- hdu 1881(简单01背包)
- 漫画科普:天线的原理?
- 小白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》连载四(场景切换)...
- facade-pattern外观模式
- 首次披露!阿里线下智能方案进化史
- EL表达式用法---查询博客
- CSS侦测方法(侦测是否支持某个CSS属性)
- 计算机中文无敌版,与电脑下象棋无敌版
- jquery获取表单对象
- 人脸识别最全知识图谱
- 2.3两个列表或元组首尾相连
- python中的token是什么
- 华为交换机flaping_MAC地址飘移查看及解决方法 一般是网络中存在环路
- 【重要通知】定了!全国各地的中小商户扶持政策,都在这了!
- 走近Harvest Moon:Moonbeam DeFi狂欢会
- AFNetWorking3.0 实现同步请求
- 鼠标侧键设置工具X-Mouse安装教程
- 2021双十一京东活动脚本
- cocos2d-html5 游戏实战源代码大集合和下载(包括flappy,popstar等----持续更新中----)...
热门文章
- 【已解决】Ubantu上No package ‘libcrypto‘ found问题
- Neo4j图数据库的Cypher 语句总结
- 车载VPA形象发展史:谁是第一个吃螃蟹的人?
- 游戏开发的HelloWorld,快速入门,新手上路,使用CocosCreator+JS,flyBird(飞翔小鸟)
- POJ-1236(有向图强连通分量 + 缩点 + 加边使得整个图强连通)
- vue手脚架配置请求头
- PostGIS教程十三:地理
- offset、scroll、client三大家族
- Spring Security 视频教程
- #ifdef __cplusplus 倒底是什么意思?