基于GSP工具箱的NILM算法matlab仿真

目录

1.课题概述

2.系统仿真结果

3.核心程序与模型

4.系统原理简介

5.完整工程文件


1.课题概述

        基于GSP工具箱的NILM算法matlab仿真。GSP是图形信号处理的缩写,GSP非常适合对未知数据进行分类,尤其是当训练数据非常短时。GSPBox的基本理论是谱图论和图滤波,因此,GSPBox中的主要对象是图,图包括图的基本元素,如节点、边和权重矩阵等。

2.系统仿真结果

3.核心程序与模型

版本:MATLAB2022a

.........................................................................
while m<=M[ijk,m]Smi_train = Smi(1:n,m);Smi_test  = Smi(n+1:N,m);Smi_all   = [Smi_train;Smi_test];dpmi_train= dPmi(1:n,m);dpmi_test = dPmi(n+1:N,m);dpmi_all  = [dpmi_train;dpmi_test]; THR       = THRm(m);%构图,利用GSP工具箱计算得到估计值 G         = gsp_community(N);G         = gsp_adj2vec(G);G         = gsp_estimate_lmax(G);G         = gsp_compute_fourier_basis(G);AA        = full(G.A);%更新图矩阵Adelta     = 2;for i = 1:Nfor j = 1:NAA(i,j) = exp(-1*(dpmi_all(i)-dpmi_all(j))^2/delta^2);endendG.A = sparse(AA);Mask      = Smi_all;%训练过程中,输入m个smi和中的PY         = dpmi_all;%论文公式中的ni%通过GSP工具箱预测未知的电气的Smi变量,因为论文中提到用已知的Smi作为训练label,那么训练已知的smi,得到的就是未知的smisol       = gsp_classification_tv_new(G,Mask,Y,0.5);Pm_pre    = sol(n+1:N);Kr        = mean(abs(Pm_pre))/mean(abs(dpmi_all(n+1:N)));Pm_pre    = [dpmi_train;Pm_pre/Kr];for i = 1:Rif i > n & abs(Pm_pre(i)) >= THRm(m)Smi_pre(i,m) = 1;end if i > n & abs(Pm_pre(i)) < THRm(m)Smi_pre(i,m) = -1;end   endSreal{m}  = Smi0(:,m);Spred{m}  = Smi_pre(:,m);%即通过GSP工具箱得到公式11中的SmPreal{m}  = dpmi_all;Ppred{m}  = Pm_pre;m = m + 1;
end%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if ijk == 1save R1.mat Sreal Spred Preal Ppred N n X Pi dPi dPmi THR0 THRm Smi Smi0 Pi_train Pi_test Pi_all
end
if ijk == 2save R2.mat Sreal Spred Preal Ppred N n X Pi dPi dPmi THR0 THRm Smi Smi0 Pi_train Pi_test Pi_all
end
if ijk == 3save R3.mat Sreal Spred Preal Ppred N n X Pi dPi dPmi THR0 THRm Smi Smi0 Pi_train Pi_test Pi_all
endclear Sreal Spred Preal Ppred N n X Pi dPi dPmi THR0 THRm Smi Smi0 Pi_train Pi_test Pi_allend
02_061m

4.系统原理简介

        非侵入式负荷监测(Non-Intrusive Load Monitoring, NILM)是一种通过分析整体电能消耗数据,解析出各个子设备独立功耗的技术。近年来,图信号处理(Graph Signal Processing, GSP)作为一种新兴的信号处理范式,被引入到NILM领域,以更好地表征和处理家庭或建筑内部电器之间的复杂交互关系。

       在GSP中,电气系统中的各个设备被视为图(graph)上的节点,设备之间的相互影响关系通过边(edges)表示。图信号是指定义在图节点上的实值函数,它可以代表节点的用电状态或功率消耗。设G=(V,E,W)是一个加权无向图,其中:

  • V是节点集合,代表单个电器或负荷组;
  • E是边集合,表示节点之间的关联性;
  • W是权重矩阵,其元素wij​量化了节点i和j之间的耦合强度。

       在NILM中,全局总能耗信号视为图信号x,它是在图G上定义的,即x∈R∣V∣,其中∣V∣是节点的数量。目标是通过某种滤波或分解技术从x中提取出代表各个子设备消耗的局部图信号。

       本课题的算法流程图如下图所示:

5.完整工程文件

v

v

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/809103.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF网格布局

1介绍: Grid为WPF中最常用的布局容器, 它可以将一个区域分为若干个行或列功用其他组件使用。 2&#xff1a;网格标签Grid.ColumnDef Grid网格区域Grid.ColumnDefinitions自定义列 只能设置宽度 不能设置高度ColumnDefinition 网格布局中列的区域(可以设置宽度&#xff0c…

构建强大的物联网平台系统架构:关键步骤与最佳实践

随着物联网&#xff08;IoT&#xff09;技术的快速发展和广泛应用&#xff0c;越来越多的企业开始意识到搭建一个强大而可靠的物联网平台系统架构的重要性。一个完善的物联网平台可以帮助企业高效地管理和监控各种连接设备&#xff0c;并实现数据的收集、处理和分析。在本文中&…

npm i -g nodemon 遇到的下载卡住及运行权限问题解决记录

一、下载nodemon原因 nodemon作用&#xff1a;用node环境运行js文件时可以实时刷新运行出结果 (即修改js代码后不需再手动重新运行js文件) 二、下载卡住 reify:semver:timing reifyNode:node_modules/nodemon Completed 卡住位置&#xff1a;reify:semver: timing reifyNode…

【muzzik 分享】3D模型平面切割

# 前言 一年一度的征稿到了&#xff0c;倒腾点存货&#xff0c;3D平面切割通常用于一些解压游戏里&#xff0c;例如水果忍者&#xff0c;切菜这些&#xff0c;今天我就给大家讲讲怎么实现3D切割以及其原理&#xff0c;帮助大家更理解3D中的 Mesh(网格)&#xff0c;以及UV贴图和…

2024年免费试用云服务器一览表

随着云计算技术的不断发展和普及&#xff0c;越来越多的企业和个人开始寻求通过云服务器来满足其数据存储、应用部署等需求。而免费试用云服务器则成为了一个吸引用户的重要手段&#xff0c;本文将为大家分享2024年免费试用云服务器一览表&#xff0c;帮助大家更好地选择合适的…

Spring Boot 框架集成Knife4j

本次示例使用 Spring Boot 作为脚手架来快速集成 Knife4j,Spring Boot 版本2.3.5.RELEASE,Knife4j 版本2.0.7&#xff0c;完整代码可以去参考 knife4j-spring-boot-fast-demo pom.xml 完整文件代码如下 <?xml version"1.0" encoding"UTF-8"?> &l…

Flask、Django和Tornado怎么选

Flask、Django和Tornado是三个常用的PythonWeb框架&#xff0c;它们在设计理念、功能和适用场景上有所不同。下面是它们的对比&#xff1a; 1. 设计理念&#xff1a; - Flask是一个轻量级的框架&#xff0c;它提供了最基本的功能&#xff0c;但是具有高度的灵活性和可扩展性。…

Linux中的 mount -a

mount -a 是一个在 Linux 系统中用来挂载所有在 /etc/fstab 文件中定义的文件系统的命令。在 Linux 中&#xff0c;/etc/fstab 文件包含了系统启动时需要挂载的文件系统的信息&#xff0c;mount -a 命令会根据这些信息自动挂载这些文件系统。 mount -a 命令的作用&#xff1a;…

https加载http不安全脚本提示解决方案

大家好&#xff0c;我是咕噜铁蛋。今天&#xff0c;我想和大家探讨一个很常见但又很容易被忽视的问题——https加载http不安全脚本提示。相信很多网站开发者和维护者在日常工作中都遇到过这样的问题&#xff0c;那么我们应该如何解决这个问题呢&#xff1f;下面&#xff0c;我将…

将Ubuntu18.04默认的python3.6升级到python3.8

1、查看现有的 python3 版本 python3 --version 2、安装 python3.8 sudo apt install python3.8 3、将 python3.6 和 3.8 添加到 update-alternatives sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1 sudo update-alternatives --insta…

Golang编译优化——消除Copy指令

一、优化概述 以下是Go编译器对某个代码段编译生成的SSA IR摘选&#xff0c;对于Golang SSA IR的介绍我写了文章&#xff0c;但是在犹豫要不要发。 b1:-... Plain → b2 (5)b2: ← b1 b4-v9 (5) Phi <int> v8 v16 (i[int])v22 (8) Phi <int> v7 v14 (r[int])v1…

算法设计与分析实验报告c++python实现(生命游戏、带锁的门、三壶谜题、串匹配问题、交替放置的碟子)

一、实验目的 1&#xff0e;加深学生对分治法算法设计方法的基本思想、基本步骤、基本方法的理解与掌握&#xff1b; 2&#xff0e;提高学生利用课堂所学知识解决实际问题的能力&#xff1b; 3&#xff0e;提高学生综合应用所学知识解决实际问题的能力。 二、实验任务 1、 编…

减少服务器被入侵

减少服务器被入侵 排查方向 1、日志 查看/var/log下的日志&#xff0c;如果发现有大量SSH登录失败日志&#xff0c;并存在root用户多次登录失败后成功登录的记录&#xff0c;这就符合暴力P解特征 2、系统分析 对系统关键配置、账号、历史记录等进行排查&#xff0c;确认对系统…

全面学习SpringCloud框架指南

要深入学习Spring Cloud框架,你需要系统地掌握其核心组件和概念,并了解如何在实际项目中应用这些知识。以下是一些关键的学习点和相应的学习内容: 一共分为10个模块包括: 1、微服务架构基础: 理解微服务架构的概念和优势。 学习单体架构向微服务架构演进的过程。 掌握…

git常用命令整理~

在github创建仓库后的操作 git init git add . git commit -m 自定义 git remote add origin 仓库地址 git push -u origin master //第一次pushgit协作时用到的命令 git pull //push前先拉取别人的代码 git pushgit remote rm origin # 删除连接仓库git config --global use…

计算机网络 Telnet远程访问交换机和Console终端连接交换机

一、实验要求和内容 1、配置交换机进入特权模式密文密码为“abcd两位班内学号”&#xff0c;远程登陆密码为“123456” 2、验证PC0通过远程登陆到交换机上&#xff0c;看是否可以进去特权模式 二、实验步骤 1、将一台还没配置的新交换机&#xff0c;利用console线连接设备的…

LiveData和ViewModel源码学习

文章目录 LiveDataObserverWrapper 数据观察者LifecycleEventObserver 生命周期观察者 ViewModelViewModelStoreViewModelProviderViewModelStoreOwnerComponentActivityNonConfigurationInstancesActivity attach 恢复NonConfigurationInstancesActivityThread performDestroy…

在Java中实现记录1000万用户连续7天登录的功能,可以使用Redis的Bitmap来跟踪每个用户的登录状态

在Java中实现记录1000万用户连续7天登录的功能&#xff0c;可以使用Redis的Bitmap来跟踪每个用户的登录状态。以下是一个简化的Java示例&#xff0c;使用了Jedis库作为Redis的Java客户端。 首先&#xff0c;确保你已经在项目中添加了Jedis的依赖。如果你使用Maven&#xff0c;…

【高端电流检测IC储能产品应用方案】耐压28V侧轨的电流检测芯片FP130A 应用于电脑电源,开关电源以及多口快充充电器,户外移动电源,适配器,电池充电器等

电流检测技术常用于高压短路保护、电机控制、DC/DC换流器、系统功耗管理、二次电池的电流管理、蓄电池管理等电流侦测等场景。对于大多数应用而言&#xff0c;都是间接测量电阻两端的跨压差来获取待测电流。 如下面的高端电流检测芯片FP130A&#xff0c;丝印是FC915。电路原理图…

MySQL数据库的详解(1)

DDL&#xff08;数据库操作&#xff09; 查询 查询所有数据库&#xff1a;show databases;当前数据库&#xff1a;select database(); 创建 创建数据库&#xff1a;create database [ if not exists] 数据库名 ; 使用 使用数据库&#xff1a;use 数据库名 ; 删除 删除数…