基于混沌集成决策树的电能质量复合扰动识别(matlab代码)

简介: 基于混沌集成决策树的电能质量复合扰动识别(matlab代码)

1 主要内容

该程序参考《基于混沌集成决策树的电能质量复合扰动识别》,主要做的是S变换电能质量扰动识别,通过S变换对电能质量扰动(谐波,闪变,暂升等单一扰动和复合扰动)进行变换得到时频图,并对其进行特征提取。

2 部分代码

%% 电能质量扰动函数
V1=sin(w*x)+a_3*sin(3*w*x+b_3)+a_5*sin(5*w*x+b_5)+a_7*sin(7*w*x+b_7);
% plot(t,V1);    title('1:谐波'); 谐波
V2=(1-a2.*(stepfun(x,0.08)-stepfun(x,0.16))).*sin(w*x);
%   plot(t,V2)  电压暂降   0.1-0.9
V3=(1+a2.*(stepfun(x,0.08)-stepfun(x,0.16))).*sin(w*x);
  % 电压暂升    
V4=(1-a4.*(stepfun(x,0.08)-stepfun(x,0.16))).*sin(w*x);
%   plot(t,V4)      %0.9-1  电压中断
V5=(1+a_f*sin(b*w*x)).*sin(w*x);
%subplot(2,1,2);  plot(t,V5);   title('5:闪变');
V6=sin(w*x)+a6*exp(-(x-0.02)/tao).*sin(Wn*w*x).*(stepfun(x,0.02)-stepfun(x,0.03));
%plot(t,V6)   暂态振荡
V7=sin(w*x)+a7*exp(-(x-0.02)/tao).*(stepfun(x,0.02)-stepfun(x,0.06)); 
%plot(t,V7)   暂态脉冲
V8=(1-a2.*(stepfun(x,0.18)-stepfun(x,0.26))).*sin(w*x)+a_3*sin(3*w*x+b_3)+a_5*sin(5*w*x+b_5)+a_7*sin(7*w*x+b_7);
%电压暂降+谐波
V9=(1+a2.*(stepfun(x,0.18)-stepfun(x,0.26))).*sin(w*x)+a_3*sin(3*w*x+b_3)+a_5*sin(5*w*x+b_5)+a_7*sin(7*w*x+b_7);
%电压暂升+谐波
V10=(1-a4.*(stepfun(x,0.08)-stepfun(x,0.16))).*sin(w*x)+a_3*sin(3*w*x+b_3)+a_5*sin(5*w*x+b_5)+a_7*sin(7*w*x+b_7);
%电压中断+谐波
V11=(1+a_f*sin(b*w*x)).*sin(w*x)+a_3*sin(3*w*x+b_3)+a_5*sin(5*w*x+b_5)+a_7*sin(7*w*x+b_7);
%电压闪变+谐波
V12=(1-a2.*(stepfun(x,0.08)-stepfun(x,0.16))).*sin(w*x)+a6*exp(-(x-0.02)/tao).*sin(Wn*w*x).*(stepfun(x,0.02)-stepfun(x,0.03));
%电压暂降+暂态振荡
V13=(1+a2.*(stepfun(x,0.08)-stepfun(x,0.16))).*sin(w*x)+a6*exp(-(x-0.02)/tao).*sin(Wn*w*x).*(stepfun(x,0.02)-stepfun(x,0.03));
%电压暂升+暂态振荡
V14=(1+a_f*sin(b*w*x)).*sin(w*x)+a6*exp(-(x-0.02)/tao).*sin(Wn*w*x).*(stepfun(x,0.02)-stepfun(x,0.03));
%电压闪变+暂态振荡
V15=sin(w*x)+a_3*sin(3*w*x+b_3)+a_5*sin(5*w*x+b_5)+a_7*sin(7*w*x+b_7)+a6*exp(-(x-0.02)/tao).*sin(Wn*w*x).*(stepfun(x,0.02)-stepfun(x,0.03));
%谐波+暂态振荡
V16=(1-a2.*(stepfun(x,0.08)-stepfun(x,0.16))).*sin(w*x)+a7*exp(-(x-0.02)/tao).*(stepfun(x,0.02)-stepfun(x,0.06)); 
%电压暂降+暂态脉冲
V17=(1+a2.*(stepfun(x,0.08)-stepfun(x,0.16))).*sin(w*x)+a7*exp(-(x-0.02)/tao).*(stepfun(x,0.02)-stepfun(x,0.06)); 
%电压暂升+暂态脉冲
V18=(1+a_f*sin(b*w*x)).*sin(w*x)+a7*exp(-(x-0.02)/tao).*(stepfun(x,0.02)-stepfun(x,0.06)); 
%闪变+暂态脉冲
V19=sin(w*x)+a_3*sin(3*w*x+b_3)+a_5*sin(5*w*x+b_5)+a_7*sin(7*w*x+b_7)+a7*exp(-(x-0.02)/tao).*(stepfun(x,0.02)-stepfun(x,0.06)); 
%谐波+暂态脉冲
V20=(1-a2.*(stepfun(x,0.08)-stepfun(x,0.16))).*sin(w*x)+a_3*sin(3*w*x+b_3)+a_5*sin(5*w*x+b_5)+a_7*sin(7*w*x+b_7)+a6*exp(-(x-0.02)/tao).*sin(Wn*w*x).*(stepfun(x,0.02)-stepfun(x,0.03));
%暂降+谐波+暂态振荡
V21=(1+a2.*(stepfun(x,0.08)-stepfun(x,0.16))).*sin(w*x)+a_3*sin(3*w*x+b_3)+a_5*sin(5*w*x+b_5)+a_7*sin(7*w*x+b_7)+a6*exp(-(x-0.02)/tao).*sin(Wn*w*x).*(stepfun(x,0.02)-stepfun(x,0.03));
%暂升+谐波+暂态振荡
V22=(1+a_f*sin(b*w*x)).*sin(w*x)+a_3*sin(3*w*x+b_3)+a_5*sin(5*w*x+b_5)+a_7*sin(7*w*x+b_7)+a7*exp(-(x-0.02)/tao).*(stepfun(x,0.02)-stepfun(x,0.06));
%闪变+谐波+暂态脉冲
V23=(1-a2.*(stepfun(x,0.08)-stepfun(x,0.16))).*sin(w*x)+a_3*sin(3*w*x+b_3)+a_5*sin(5*w*x+b_5)+a_7*sin(7*w*x+b_7)+a6*exp(-(x-0.02)/tao).*sin(Wn*w*x).*(stepfun(x,0.02)-stepfun(x,0.03))+a7*exp(-(x-0.02)/tao).*(stepfun(x,0.02)-stepfun(x,0.06));
%暂降+谐波+暂态振荡+暂态脉冲
%plot(x,V20)
%%  V1 谐波  S变换  做时频图


3 程序结果


相关文章
|
5天前
|
测试技术
发票查验,发票采集,免验证码,批量查验,系统集成,代码分享之一
发票查验-免验证码,支持批量查验,系统集成,代码分享,有测试环境,从发票采集到发票查验再到查验结果应用的闭环实现
48 0
|
5天前
|
算法
【免费】基于ADMM算法的多微网电能交互分布式运行策略(matlab代码)
【免费】基于ADMM算法的多微网电能交互分布式运行策略(matlab代码)
|
5天前
|
算法 调度
计及需求响应和电能交互的多主体综合能源系统主从博弈优化调度策略(含matlab代码)
计及需求响应和电能交互的多主体综合能源系统主从博弈优化调度策略(含matlab代码)
|
5天前
|
算法 安全
基于价值认同的需求侧电能共享分布式交易策略(matlab完全复现)
基于价值认同的需求侧电能共享分布式交易策略(matlab完全复现)
|
5天前
|
供应链 算法
市场模式下光伏用户群的电能共享与需求响应模型(matlab代码)
市场模式下光伏用户群的电能共享与需求响应模型(matlab代码)
|
5天前
|
机器学习/深度学习 算法 数据可视化
Matlab决策树、模糊C-均值聚类算法分析高校教师职称学历评分可视化
Matlab决策树、模糊C-均值聚类算法分析高校教师职称学历评分可视化
|
5天前
|
Dart 前端开发 Android开发
【Flutter前端技术开发专栏】Flutter与原生代码的集成与交互
【4月更文挑战第30天】本文探讨了如何在Flutter中集成和交互原生代码,以利用特定平台的API和库。当需要访问如蓝牙、特定支付SDK或复杂动画时,集成原生代码能提升效率和性能。集成方法包括:使用Platform Channel进行通信,借助现有Flutter插件,以及Android和iOS的Embedding。文中通过一个电池信息获取的例子展示了如何使用`MethodChannel`在Dart和原生代码间传递调用。这些技术使开发者能充分利用原生功能,加速开发进程。
【Flutter前端技术开发专栏】Flutter与原生代码的集成与交互
|
5天前
|
前端开发 Java 应用服务中间件
从零手写实现 tomcat-08-tomcat 如何与 springboot 集成?
该文是一系列关于从零开始手写实现 Apache Tomcat 的教程概述。作者希望通过亲自动手实践理解 Tomcat 的核心机制。文章讨论了 Spring Boot 如何实现直接通过 `main` 方法启动,Spring 与 Tomcat 容器的集成方式,以及两者生命周期的同步原理。文中还提出了实现 Tomcat 的启发,强调在设计启动流程时确保资源的正确加载和初始化。最后提到了一个名为 mini-cat(嗅虎)的简易 Tomcat 实现项目,开源于 [GitHub](https://github.com/houbb/minicat)。
|
5天前
|
前端开发 Java 应用服务中间件
从零手写实现 tomcat-08-tomcat 如何与 springboot 集成?
本文探讨了Spring Boot如何实现像普通Java程序一样通过main方法启动,关键在于Spring Boot的自动配置、内嵌Servlet容器(如Tomcat)以及`SpringApplication`类。Spring与Tomcat集成有两种方式:独立模式和嵌入式模式,两者通过Servlet规范、Spring MVC协同工作。Spring和Tomcat的生命周期同步涉及启动、运行和关闭阶段,通过事件和监听器实现。文章鼓励读者从实现Tomcat中学习资源管理和生命周期管理。此外,推荐了Netty权威指南系列文章,并提到了一个名为mini-cat的简易Tomcat实现项目。
|
3天前
|
Java 数据库连接 数据安全/隐私保护
springBoot集成token认证,最全Java面试知识点梳理
springBoot集成token认证,最全Java面试知识点梳理

热门文章

最新文章