matlab fmincon函数格式,求助 fmincon 函数调用格式说明

matlab fmincon函数格式,求助 fmincon 函数调用格式说明functionKineticsEstclearallclck0=[0.50.50.50.50.5];%参数初值lb=[00000];%参数下限ub=[+inf+inf+inf+inf+inf];%参数上限x0=[0.18830.25070.0467…

大家好,又见面了,我是你们的朋友全栈君。

function KineticsEst

clear all

clc

k0 = [0.5  0.5  0.5  0.5  0.5];         % 参数初值

lb = [0  0  0  0  0];                   % 参数下限

ub = [+inf  +inf  +inf  +inf  +inf];    % 参数上限

x0 = [0.1883  0.2507  0.0467  0.0899  0.1804  0.1394  0.1046];

KineticsData1;

yexp = ExpData(:,2:5);                  % yexp: 实验数据[x1        x4        x5        x6]

% 使用函数fmincon()进行参数估计

[k,fval,flag,output] = fmincon(@ObjFunc4Fmincon,k0,[],[],[],[],lb,ub,[],[],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(‘\tk5 = %.4f\n’,k(5))

fprintf(‘  The sum of the squares is: %.1e\n\n’,fval)

k_fmincon = k;

% ——————————————————————

function f = ObjFunc4Fmincon(k,x0,yexp)

tspan = [0.00 : 0.01 : 0.20];

[t x] = ode45(@KineticEqs,tspan,x0,[],k);

y(:,1) = x(:,1);

y(:,2:4) = x(:,4:6);

f = sum((y(:,1)-yexp(:,1)).^2) + sum((y(:,2)-yexp(:,2)).^2)   …

+ sum((y(:,3)-yexp(:,3)).^2) + sum((y(:,4)-yexp(:,4)).^2);

% ——————————————————————

function dxdt = KineticEqs(t,x,k)

q = 8.75 + k(5);

dxdt =  …

[ ( k(5)-q*x(1)- k(1)*x(1)*x(2)-k(4)*x(1)*x(6)*sqrt(0.9) )

( 7.0-q*x(2) – k(1)*x(1)*x(2)-2*k(2)*x(2)*x(3) )

( 1.75 -q*x(3) – k(2)*x(2)*x(3) )

( -q*x(4) + 2*k(1)*x(1)*x(2)-k(3)*x(4)*x(5) )

( -q*x(5) + 3*k(2)*x(2)*x(3)-k(3)*x(4)*x(5) )

( -q*x(6) + 2*k(3)*x(4)*x(5)-k(4)*x(1)*x(6)*sqrt(0.9) )

( -q*x(7) + 2*k(4)*x(1)*x(6)*sqrt(0.9) )

];

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143047.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java工具类-Java对象转换成Map

    java工具类-Java对象转换成Mappackagecom.hwqh.hwqhuser.util;importjava.lang.reflect.InvocationTargetException;importjava.lang.reflect.Method;importjava.util.HashMap;importjava.util.Map;/***Map转换工具类*/publicclass…

    2022年5月27日
    81
  • 简单工厂模式

    简单工厂模式

    2021年11月30日
    44
  • Java判断对象是否为空的方法:isEmpty,null,” “

    Java判断对象是否为空的方法:isEmpty,null,” “今天修改辞职同事遗留的代码才发现这个问题,不能用isEmpty来判断一个对象是否为null,之前没在意这个问题,在报了空指针之后才发现这个问题。查了一下关于判断为空的几个方法的区别,这里做一个简单的总结:null一个对象如果有可能是null的话,首先要做的就是判断是否为null:object==null,否则就有可能会出现空指针异常,这个通常是我们在进行数据库的查询操作时,查询结果首…

    2022年6月13日
    134
  • idea配置运行springboot项目_java项目框架搭建流程

    idea配置运行springboot项目_java项目框架搭建流程IDEA创建springboot项目

    2022年9月12日
    0
  • 无线充电原理与QI协议详解[通俗易懂]

    一、无线充电基本原理无线充电的基本原理就是我们平时常用的开关电源原理,区别在于没有磁介质耦合,那么我们需要利用磁共振的方式提高耦合效率,具体方法是在发送端和接收端线圈串并联电容,是发送线圈处理谐振状态,接收端线圈也是如此下图就是实际电路应用无线充电工作基本原理图发射板主要有控制ic,驱动ic,发射线圈,谐振电容组成这个是接收线圈,扎数比发射线圈多所以谐振电容可以小一些,方便安装…

    2022年4月4日
    2.6K
  • 分布式系统常见问题总结[通俗易懂]

    分布式系统常见问题总结[通俗易懂]秒杀系统架构优化思路一、秒杀业务为什么难做1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据;3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。例如:小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的流量可能是几百几千万。又例如:12306抢票,…

    2022年5月20日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号