基于matlab实现的电力系统稳定性分析摆幅曲线代码

完整程序:

 clear;
clc;

t = 0;
tf = 0;
tfl = 0.5;
tc = 0.5; % tc = 0.05, 0.125, 0.5 sec for 2.5 cycles, 6.25 cycles & 25 cycles resp
ts = 0.05;
m = 2.52 / (180 * 50);
i = 2;
dt = 21.64 * pi / 180;
ddt = 0;
time(1) = 0;
ang(1) = 21.64;
pm = 0.9;
pm1 = 2.44;
pm2 = 0.88;
pm3 = 2.00;
speed(1) = 0;
power(1) = 0;
voltage(1) = 1.0;

while t < tfl
    switch t
        case tf
            pam = pm - pm1 * sin(dt);
            pap = pm - pm2 * sin(dt);
            paav = (pam + pap) / 2;
            pa = paav;
        case tc
            pam = pm - pm2 * sin(dt);
            pap = pm - pm3 * sin(dt);
            paav = (pam + pap) / 2;
            pa = paav;
        otherwise
            if t > tf && t < tc
                pa = pm - pm2 * sin(dt);
            elseif t > tc
                pa = pm - pm3 * sin(dt);
            end
    end
    
    ddt = ddt + (ts * ts * pa / m);
    dt = (dt * 180 / pi + ddt) * pi / 180;
    dtdg = dt * 180 / pi;
    t = t + ts;
    
    % Calculate additional parameters
    rotor_speed = ddt * 180 / pi;
    elec_power = voltage(i-1) * sin(dt);
    gen_voltage = voltage(i-1) - elec_power * 0.05;
    
    % Store values in arrays for plotting
    time(i) = t;
    ang(i) = dtdg;
    speed(i) = rotor_speed;
    power(i) = elec_power;
    voltage(i) = gen_voltage;
    
    i = i + 1;
end

figure;
subplot(2, 2, 1);
plot(time, ang, 'k+-');
title('转角度');
xlabel('Time (s)');
ylabel('转角度 (degrees)');

subplot(2, 2, 2);
plot(time, speed, 'r*-');
title('转角度');
xlabel('时间(s)');
ylabel('转速(degrees/s)');

subplot(2, 2, 3);
plot(time, power, 'bo-');
title('电力');
xlabel('时间(s)');
ylabel('能量 (pu)');

subplot(2, 2, 4);
plot(time, voltage, 'g^-');
title('发电机端电压');
xlabel('时间 (s)');
ylabel('电压 (pu)');

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

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

相关文章

Redis3.2.1如何设置远程连接?允许局域网访问

背景&#xff1a; 电脑A的redis需要开放给电脑B使用&#xff0c;二者处于同一局域网 【后面会补充更详细的踩坑历程&#xff0c;先发出来作为记录】 过程&#xff1a; 在你查了很多方法后&#xff0c;如果还是没有解决&#xff0c; 尝试考虑一下你的redis配置文件是不是修…

零基础VB6无壳P-CODE逆向分析(VB Decompiler应用与避坑)

> 前言 最近从朋友那里拿到了一个加密狗授权的软件安装包,秉承着LCG的精神,开启了逆向之路,经过查壳和综合分析确定是VB6编写的程序(这年头使用VB6开发商业程序的还真少见),作为一名C# Winform的业余程序员,靠着C#的知识勉强分析个大概. > 授权简介 软件共分三种授权模…

LeetCode LCP 50. 宝石补给

【LetMeFly】LCP 50.宝石补给 力扣题目链接&#xff1a;https://leetcode.cn/problems/WHnhjV/ 欢迎各位勇者来到力扣新手村&#xff0c;在开始试炼之前&#xff0c;请各位勇者先进行「宝石补给」。 每位勇者初始都拥有一些能量宝石&#xff0c; gem[i] 表示第 i 位勇者的宝…

一场深刻的开源聚会:KCC@北京 9.2 活动回顾

开源为我们带来了什么&#xff1f;这是这场聚会的宣传文的标题&#xff1a;https://mp.weixin.qq.com/s/5sR6TPEpQmYNBnCtVilkzg 同样这个问题也可以是极具个体化的&#xff1a;开源为我带来了什么&#xff1f;秋天的周末&#xff0c;预报有雨&#xff0c;北京的开源人还是相聚…

脚本:用python实现五子棋

文章目录 1. 语言2. 效果3. 脚本4. 解读5. FutureReference 1. 语言 Python 无环境配置、无库安装。 2. 效果 以第一回合为例 玩家X 玩家0 3. 脚本 class GomokuGame:def __init__(self, board_size15):self.board_size board_sizeself.board [[ for _ in range(board_…

RecursionError: maximum recursion depth exceeded while calling a Python object

The “RecursionError: maximum recursion depth exceeded” error occurs when a function calls itself recursively too many times, exceeding the maximum recursion depth set by Python. This error is usually triggered by an infinite recursion loop. To fix this …

对IP协议概念以及IP地址的概念进行简单整理

网络层重要协议 参考模型和协议栈IP协议IPv4数据报IP数据报格式IPv4地址特殊IP地址私有IP地址和公有IP地址子网划分 参考模型和协议栈 IP协议 IP协议定义了网络层数据传送的基本单元&#xff0c;也制定了一系列关于网络层的规则。 IPv4数据报 网络层的协议数据单元PDU 叫做分…

使用Java实现蚁群优化算法解决流水车间调度问题:全面指南与详细代码解析

1. 引言 在现代的制造业中,流水车间调度问题是一个经常被研究的复杂组合优化问题。简单地说,这是一个关于如何安排机器上的任务,以便在满足各种约束条件的前提下,最大化或最小化某些特定的性能指标。例如,最小化完成所有任务的总时间或最大化产出。 为了解决这一问题,许…

基于Java+SpringBoot+Vue+uniapp点餐小程序(包含协同过滤算法和会员系统,强烈推荐!)

校园点餐小程序 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序&#xff08;小蔡coding&#xff09;2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 系统功能结构设计4.2 主要功能描述 五…

【初阶数据结构】栈和队列——C语言(详解)

目录 一、栈 1.1栈的概念及结构 1.2栈的实现 1.2.1静态栈的实现 1.3动态栈的实现 1.3.1栈的创建 1.3.2栈的初始化 1.3.3栈的清空销毁 1.3.4栈的元素插入 1.3.5栈顶元素的删除 1.3.6返回栈顶数据 1.3.7求栈的大小 1.3.8判断栈是否为空 二、栈的实现完整代码 三、队…

rust结构体

一、定义结构体类型 语法 struct Name_of_structure {field1: data_type,field2: data_type,field3: data_type, }注意&#xff1a; 不同于C&#xff0c;Rust的struct语句仅用来定义类型&#xff0c;不能定义实例。 结尾不需要;。 每个字段定义之后用 , 分隔。最后一个逗号可…

Unity 动画系统

动画系统包含&#xff1a; 动画片段 Animation Clip&#xff0c;记录物体变化的信息&#xff0c;可以是角色的闪转腾挪&#xff0c;也可以是一扇门的开闭动画状态机 Animator Controller&#xff0c;根据设置切换动画片段动画组件 Animator&#xff0c;Animation替身 Avatar&a…

数据结构基础8:二叉树oj+层序遍历。

二叉树oj层序遍历 题目一&#xff1a;二叉树的销毁&#xff1a;方法一&#xff1a;前序遍历&#xff1a;方法二&#xff1a;后序遍历&#xff1a; 题目二&#xff1a;二叉树查找值为x的节点方法一&#xff1a;方法二&#xff1a;方法三&#xff1a; 题目三&#xff1a;层序遍历…

Python 和 MatLab 模拟粒子动力系统

力计算 我们将假设一个由 N N N 个点粒子组成的系统&#xff0c;索引为 i 1 , … , N i1, \ldots, N i1,…,N。每个粒子都有一个&#xff1a; 质量 m i m_i mi​ 位置 r i [ x i , y i , z i ] r_{\boldsymbol{i}}\left[x_i, y_i, z_i\right] ri​[xi​,yi​,zi​] 速…

透视俄乌网络战之二:Conti勒索软件集团(下)

透视俄乌网络战之一&#xff1a;数据擦除软件 透视俄乌网络战之二&#xff1a;Conti勒索软件集团&#xff08;上&#xff09; Conti勒索软件集团&#xff08;下&#xff09; 1. 管理面板源代码2. Pony凭证窃取恶意软件3. TTPs4. Conti Locker v2源代码5. Conti团伙培训材料6. T…

【Linux从入门到精通】多线程 | 线程互斥(互斥锁)

上篇文章我们对线程 | 线程介绍&线程控制介绍后&#xff0c;本篇文章将会对多线程中的线程互斥与互斥锁的概念进行详解。同时结合实际例子解释了可重入与不被重入函数、临界资源与临界区和原子性的概念。希望本篇文章会对你有所帮助。 文章目录 引入 一、重入与临界 1、1 可…

ffmpeg 特效 转场 放大缩小

案例 ffmpeg \ -i input.mp4 \ -i image1.png \ -i image2.png \ -filter_complex \ [1:v]scale100:100[img1]; \ [2:v]scale1280:720[img2]; \ [0:v][img1]overlay(main_w-overlay_w)/2:(main_h-overlay_h)/2[bkg];\ [bkg][img2]overlay0:0 \ -y output.mp4 -i input.mp4//这…

多线程|多进程|高并发网络编程

一.多进程并发服务器 多进程并发服务器是一种经典的服务器架构&#xff0c;它通过创建多个子进程来处理客户端连接&#xff0c;从而实现并发处理多个客户端请求的能力。 概念&#xff1a; 服务器启动时&#xff0c;创建主进程&#xff0c;并绑定监听端口。当有客户端连接请求…

GitLab使用的最简便方式

GitLab介绍 GitLab是一个基于Git版本控制系统的开源平台&#xff0c;用于代码托管&#xff0c;持续集成&#xff0c;以及协作开发。它提供了一套完整的工具&#xff0c;以帮助开发团队协同工作、管理和部署代码。 往往在企业内部使用gitlab管理代码&#xff0c;记录一下将本地代…

VR航天航空巡展VR科技馆航天主题科普设备沉浸遨游太空

每当飞机飞过头顶&#xff0c;我们总是忍不住抬头去仰望。从嫦娥奔月的神话传说&#xff0c;到莱特兄弟实现了上天翱翔的梦想&#xff0c;人类一直在不断探索更辽阔的天空和浩瀚的宇宙。 航空科普 寻梦而行 普乐蛙VR航天航空巡展&#xff0c;正在湖南郴州如火如荼的进行中&…