当前位置: 首页 > news >正文

使用 LSSVM 的 Matlab 演示求解反常微分方程问题(Matlab代码实现)

       目录

💥1 概述

📚2 运行结果

🎉3 参考文献

👨‍💻4 Matlab代码


💥1 概述

LSSVM的特性

  1) 同样是对原始对偶问题进行求解,但是通过求解一个线性方程组(优化目标中的线性约束导致的)来代替SVM中的QP问题(简化求解过程),对于高维输入空间中的分类以及回归任务同样适用;

  2) 实质上是求解线性矩阵方程的过程,与高斯过程(Gaussian processes),正则化网络(regularization networks)和费雪判别分析(Fisher discriminant analysis)的核版本相结合;

  3) 使用了稀疏近似(用来克服使用该算法时的弊端)与稳健回归(稳健统计);

  4) 使用了贝叶斯推断(Bayesian inference);

  5) 可以拓展到非监督学习中:核主成分分析(kernel PCA)或密度聚类;

  6) 可以拓展到递归神经网络中。

📚2 运行结果

主函数部分代码:

% dot(x1)  = a * (x_2 -x_1)

% dot(x_2) = x_1 * (b- x_3) - x_2

% dot(x_3) = x_1 * x_2 -c* x_3

% 0 <=  t  < = t_f

% Initial Condition

% x_1(0) = -9.42, x_2(0)= -9.34, x_3(0)=28.3

% Theta=[a, b, c] = [10, 28, 8/3]

%% ============================================================================

clear all; close all; clc

t0=0;

tf=10;

sampling_time=0.05;

t=(t0:sampling_time:tf)';

initial=[-9.42 -9.34 28.3]; % initial values of the ODE used for generating simulated data

ExactTheta=[10; 28 ; 8/3];  % The exact parameters of the lorenz system used for generating simulated data

cprintf( [1 0.1 0],'**** Excat parameters of the Lorenz system ***** \n\n');

fprintf('True theta_1= %f \n', ExactTheta(1));

fprintf('True theta_2= %f \n', ExactTheta(2));

fprintf('True theta_3= %f \n\n', ExactTheta(3));

fprintf( '************************************* \n\n');

%%  ========= Generating the simulation data ======================

options = odeset('RelTol',1e-5,'AbsTol',[1e-5 1e-5 1e-5]);

sol = ode45(@ridg,[t0 tf],initial,options,ExactTheta);

Y=deval(sol,t);

Y=Y';

noise_level=0.01; % 0.03, 0.05, 0.07, 0.1

noise=noise_level*randn(size(t,1),1);

y1=Y(:,1)+noise;

y2=Y(:,2)+noise;

y3=Y(:,3)+noise;

%% Estimating the parameters of the ODE system:

num_realization =3;

K_fold=3;

num_grid_gam=10;

num_grid_sig=10;

gamma_range = logspace(0,6,num_grid_gam);

sigma_range = logspace(-3,1,num_grid_sig);

ER1=[];

ER2=[];

ER3=[];

Par1=zeros(num_realization,1);

Par2=zeros(num_realization,1);

Par3=zeros(num_realization,1);

BB1=zeros(num_grid_gam,num_grid_sig);

BB2=zeros(num_grid_gam,num_grid_sig);

BB3=zeros(num_grid_gam,num_grid_sig);

for itr=1:num_realization

    

    

    cprintf( [1 0.1 0],'**** iteration =%d\n',itr);

    n=size(t,1);

    ind=crossvalind('Kfold', n, K_fold);

    

    for gamma_idx=1:size(gamma_range,2)

        gamma = gamma_range(gamma_idx);

        

        for sig_idx=1:size(sigma_range,2)

            sig = sigma_range(sig_idx);

            

            test_errors_1=zeros(K_fold,1);

            test_errors_2=zeros(K_fold,1);

            test_errors_3=zeros(K_fold,1);

            

            

            for i=1:K_fold

                Xte=t(ind==i,1);

                Yte_1=y1(ind==i,1);

                Yte_2=y2(ind==i,1);

                Yte_3=y3(ind==i,1);

                Xtr=t(ind~=i,1);

                Ytr_1=y1(ind~=i,1);

                Ytr_2=y2(ind~=i,1);

                Ytr_3=y3(ind~=i,1);

                               

                K=KernelMatrix(Xtr,'RBF_kernel', sig);

                m=size(K,1);

                A= [K + (1/gamma) * eye(m), ones(m,1);...

                    ones(m,1)' ,0];

                B1= [Ytr_1;0];

                B2= [Ytr_2;0];

                B3= [Ytr_3;0];

                result1=A\B1;

                result2=A\B2;

                result3=A\B3;

                alpha1=result1(1:m);

                b1=result1(end);

                alpha2=result2(1:m);

                b2=result2(end);

                alpha3=result3(1:m);

                b3=result3(end);

                yhattr1 = K * alpha1 + b1;

                yhattr2 = K * alpha2 + b2;

                yhattr3 = K * alpha3 + b3;

🎉3 参考文献

[1]姜星宇. 基于动态粒子群算法的DPSO-LSSVM模型在短期电力负荷预测中的应用研究[D].沈阳农业大学,2022.DOI:10.27327/d.cnki.gshnu.2022.000596.

👨‍💻4 Matlab代码

相关文章:

使用 LSSVM 的 Matlab 演示求解反常微分方程问题(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 LSSVM的特性 1) 同样是对原始对偶问题进行求解&#xff0c;但是通过求解一个线性方程组&#xff08;优化目标中的线性约束导致…...

动态规划-背包问题

文章目录一、背包问题1. 背包问题简介2. 背包问题解决方法二、01 背包问题1. 实现思路2. 实现代码三、完全背包问题1. 实现思路2. 实现代码四、多重背包问题&#xff08;一&#xff09;1. 实现思路2. 实现代码五、多重背包问题&#xff08;二&#xff09;1. 实现思路2. 实现代码…...

计算24点与运算符重载

十几年前写过一个算24点的程序。记得当时有点费劲&#xff0c;不过最后总算捣鼓出来了。前几天突然想再写一次&#xff0c;结果轻松地写出来了。C&#xff0c;总行数不多&#xff0c;带命令行界面和注释共200行不到&#xff1b;利用了面向对象和运算符重载来简化代码。 首先谈…...

MES系统智能工厂,搭上中国制造2025顺风车

MES在电子制造业中的应用日益广泛&#xff0c;越来越多的厂商已经购置或自行开发了MES&#xff0c;并将其作为“智能化工厂”。国内大大小小、各行各业都有上百个MES系统&#xff0c;还有很多的国外MES系统&#xff0c;怎么才能在MES系统公司中找到适合自己的MES&#xff1f;希…...

【LeetCode】每日一题(1)

目录 题目&#xff1a; 解题思路&#xff1a; 代码&#xff1a; 写在最后&#xff1a; 题目&#xff1a; 这是他给出的接口&#xff1a; class Solution { public:int fillCups(vector<int>& amount) {} }; 作为一个数学学渣&#xff0c;我想不出厉害的数学算法…...

SpringCloud-Netflix学习笔记11——Hystrix实现服务降级

服务降级 是什么&#xff1f; 整体资源快不够了&#xff0c;忍痛将某些服务先关掉&#xff0c;待渡过难关&#xff0c;再开启回来。 如下图&#xff0c;在某一个时间段&#xff0c;访问服务A的请求特别多&#xff0c;而访问服务B和服务C的请求特别少&#xff0c;这时我们可以把…...

Oracle Dataguard(主库为 Oracle rac 集群)配置教程(03)—— 创建 dataguard 数据库之前的准备工作

Oracle Dataguard&#xff08;主库为 Oracle rac 集群&#xff09;配置教程&#xff08;03&#xff09;—— 创建 dataguard 数据库之前的准备工作 / 本专栏详细讲解 Oracle Dataguard&#xff08;Oracle 版本为11g&#xff0c;主库为双节点 Oracle rac 集群&#xff09;的配置…...

零代码做分析报表的bi软件才是好软件

有些数据分析软件对IT的依赖比较重&#xff0c;在制作报表的过程中需要用到SQL&#xff0c;这就导致了IT人员懂技术不懂业务&#xff0c;业务人员懂业务不懂技术&#xff0c;数据分析做来做去总是差点什么的局面。要是遇到了IT部门相对较弱的情况&#xff0c;还会加重IT负担&am…...

linux ALSA 驱动架构

一、kernel Audio驱动架构主流有两大类&#xff0c;一类是SOC Machine架构&#xff0c;另一类是simple-card架构。 MTK、QCom主要采用machine架构&#xff0c;rockchip采用simple card架构。 二、Machine架构驱动介绍 machine 架构每家平台实现并不完全相同&#xff0c;mach…...

JDK 8 JVM内存结构详解

前言 本文所介绍的是 JDK 1.8 版本&#xff0c;其他版本的 JDK 在这里并不一定正确&#xff1b;内容主要摘自周志明的《深入理解Java虚拟机》一书的关键点&#xff0c;并根据自身的理解进行记录。感兴趣的同学可以去阅读原著。 JVM 的内存结构&#xff0c;主要包括以下 5 个区…...

黑马程序员 Linux 教程

目录Linux 简介不同应用领域主流操作系统Linux 系统历史Linux 系统版本Linux 安装安装方式网卡设置安装 SSH 连接工具使用 FinalShell 连接到 LinuxLinux 和 Windows 目录结构对比Linux 目录介绍Linux 常用命令Linux 命令初体验Linux 命令使用技巧Linux 命令格式文件目录操作命…...

文件操作 -- IO

文章目录文件操作 -- IO文件 :文件路径 :文件的类型java 中的文件操作文件内容的相关操作字节流的读和写操作字符流的读和写操作代码案例代码案例一 &#xff1a;代码案例二 &#xff1a;代码案例三 &#xff1a;文件操作 – IO 文件 : 文件相比大家都不陌生把 &#xff0c; 打…...

FPGA解析串口协议帧3.0版本,增加了错误重发功能,提供仿真文件以及源码

FPGA解析串口协议帧已经发布2个版本了&#xff0c;分别如下&#xff1a; 版本1&#xff1a;点击查看版本1 版本1详细介绍了串口协议帧的帧组成和设计思想&#xff0c;但设计粗糙&#xff0c;注释不详细&#xff1b; 版本1&#xff1a;点击查看版本2 版本2优化了代码&#xff0c…...

365天深度学习训练营 第P6周:好莱坞明星识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 内部限免文章&#xff08;版权归 K同学啊 所有&#xff09;&#x1f366; 参考文章地址&#xff1a; &#x1f517;第P6周&#xff1a;好莱坞明星识别 | 365天深度学习训练营&#x1f356; 作者&#xff1a;K同学啊 | 接…...

一文读懂 Zebec Chain 的“先行网络” Nautilus 链

最近&#xff0c;Zebec 上线了 DAO 治理系统后&#xff0c;上线并通过了关于 Nautilus 链的提案&#xff0c;这也是DAO系统上线后通过的首个提案。 Nautilus 链可以被看作是Zebec Chain上线前的“先行”链&#xff0c;并且是目前行业内为数不多的以“Layer3”作为特点的模块化通…...

FuzzyMathematicalModel模糊数学模型-2-多目标模糊综合评价案例分享

主函数&#xff1a;clc, clear% 输入模糊矩阵的原型x [4700 6700 5900 8800 76005000 5500 5300 6800 600004.0 06.1 05.5 07.0 06.80030 0050 0040 0200 01601500 0700 1000 0050 0100];r muti_objective_fuzzy_analysis(x);% 各指标在决策中占的权重(专家系统&#xff0c;自…...

单链表--C语言版(从0开始,超详细解析,小白一看就会)

目录 一、前言 &#x1f34e; 为什么要学习链表 &#x1f4a6;顺序表有缺陷 &#x1f4a6; 优化方案&#xff1a;链表 二、链表详解 &#x1f350;链表的概念 &#x1f349;链表的结构组成&#xff1a;节点 &#x1f353;链表节点的连接&#xff08;逻辑结构与物理结构的区…...

cv2-特征点匹配(bf、FLANN)

cv2-特征点匹配&#xff08;bf、KNN、FLANN&#xff09; 文章目录cv2-特征点匹配&#xff08;bf、KNN、FLANN&#xff09;1. 暴力匹配法&#xff08;bf&#xff09;1.1 bf.match()1.2 bf.knnMatch()3. FLANN匹配法4. 总结1. 暴力匹配法&#xff08;bf&#xff09; &#xff08…...

基于matlab多功能相控阵雷达资源管理的服务质量优化

一、前言此示例说明如何为基于服务质量 &#xff08;QoS&#xff09; 优化的多功能相控阵雷达 &#xff08;MPAR&#xff09; 监控设置资源管理方案。它首先定义必须同时调查的多个搜索扇区的参数。然后&#xff0c;它介绍了累积检测范围作为搜索质量的度量&#xff0c;并展示了…...

立创eda专业版学习笔记(6)(pcb板移动节点)

先要看一个设置方面的东西&#xff1a; 进入设置-pcb-通用 我鼠标放到竖着的线上面&#xff0c;第一次点左键是这样选中的&#xff1a; 再点一次左键是这样选中的&#xff1a; 这个时候&#xff0c;把鼠标放到转角的地方&#xff0c;点右键&#xff0c;就会出现对于节点的选项…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异&#xff0c;它们的数据同步要求既要保持数据的准确性和一致性&#xff0c;又要处理好性能问题。以下是一些主要的技术要点&#xff1a; 数据结构差异 数据类型差异&#xff…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

日常一水C

多态 言简意赅&#xff1a;就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过&#xff0c;当子类和父类的函数名相同时&#xff0c;会隐藏父类的同名函数转而调用子类的同名函数&#xff0c;如果要调用父类的同名函数&#xff0c;那么就需要对父类进行引用&#…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...