matlab中input输入多个数_基于MATLAB的PID控制算法仿真

2023-11-06

一、初学者学习目的

1、利用Matlab/Simulink实现PID控制算法;

2、观察不同PID参数对控制性能的影响;

3、掌握PID参数整定的方法。

二、实践内容

1、以二阶系统

为被控对象,【K=(135)】,在阶跃输入信号的作用下,用simulink搭建PID控制系统,并绘制阶跃响应曲线,记录相应的PID参数;

2、在上题中,在matlab中用程序语句的方式实现题1中的PID控制算法(要求PID参数与题1一致,对比阶跃响应曲线),并分析系统的时域特性;

3、针对题1,用自定义函数的方式实现PID控制算法,主程序调用该函数实现PID控制,要求同2。

例如:function y=myPID(Kc, Ki, Kd, G)

Kc, Ki, Kd:分别为PID的比例,积分和微分系数

G:被控对象传递函数

三、结果以及分析

1.基于simulink

a)

当Kp=1;Ki=1;Kd=1;阶跃响应曲线

当Kp=10;Ki=1;Kd=1;阶跃响应曲线

Kp=1;Ki=10;Kd=1;阶跃响应曲线

2.程序代码

Kp=1; %比例Ki=1; %积分Kd=1; %微分s=tf('s');Gc=(Kd*s^2+Kp*s+Ki)/s; %PID控制器%G=zpk([],[-1 -1 -2],1);G=135/(s^2+(sqrt(135))*s);step(feedback(Gc*G,1)) %阶跃响应

a) 阶跃响应曲线

3.函数程序代码

function myPID(Kp,Ki,Kd,G) s=tf('s');Gc=(Kd*s^2+Kp*s+Ki)/s;step(feedback(Gc*G,1))end

主程序调用代码

num=135;den=[1 sqrt(135) 0];G=tf(num,den)Kp=input('请输入一个整数:'); %输入比例Ki=input('请输入一个整数:'); %输入积分Kd=input('请输入一个整数:'); %输入微分myPID(Kp,Ki,Kd,G) %调用函数

注意函数名字和文件名一致

得到的阶跃响应

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matlab中input输入多个数_基于MATLAB的PID控制算法仿真 的相关文章

  • 算法与数据结构_栈

    栈 一 什么是栈 特点总结为先进后出 后进先出 就是 First In Last Out FILO 这就是典型的 栈 结构 从其操作特性来看 栈是一种 操作受限 的线性表 它只允许从一端进行数据的插入与移除 二 既然栈不如链表 数组灵活 为
  • webdriver之获取cookie 转化成字典或者string的方法

    转字典 for i in cookieJs cookie server setdefault i get name i get value print cookie server 转string cookie item name item
  • STM32CubeMX学习一 之GPIO配置

    文章目录 前言 一 本地环境 二 开始 1 工程创建 2 GPIO配置 2 时钟配置 3 代码生成 3 编译工程 前言 记录一下STM32CubeMX的学习笔记 同时分享给初学的小白 希望一起进步 一 本地环境 编译环境 KEIL 代码生成
  • Qt正则表达式

    正则表达式 正则表达式即一个文本匹配字符串的一种模式 Qt中QRegExp类实现使用正则表达式进行模式匹配 且完全支持Unicode 主要应用 字符串验证 搜索 查找替换 分割 正则表达式中字符及字符集 正则表达式中的量词 正则表达式中的断
  • Qt编写自定义控件:遥控器圆形按钮控件

    根据QT图形视图框架 自定义遥控器圆形按钮图形项改的QWidget版本 原理一样 效果 代码 ifndef WIDGET H define WIDGET H include
  • 读懂React原理之调和与Fiber

    一 引沿 Fiber 架构是React16中引入的新概念 目的就是解决大型 React 应用卡顿 React在遍历更新每一个节点的时候都不是用的真实DOM 都是采用虚拟DOM 所以可以理解成fiber就是React的虚拟DOM 更新Fibe
  • C语言第三章第5节数据的输出学习导案

    课 题 3 5 数据的输出 课时安排 2课时 课 型 新授 学 习目标 掌握字符输出函数的格式和作用以及注意事项 掌握格式化输出函数的格式 掌握格式化输出函数的注意事项 重点 格式化输出函数的注意事项 难点 格式化输出函数的注意事项 导 学
  • 啊哈!算法中用深度优先搜索(dfs)实现全排列

    include
  • Web网络安全-----红蓝攻防之信息收集(web、安卓...)

    系列文章目录 Web网络安全 Log4j高危漏洞原理及修复 文章目录 系列文章目录 前言 一 为什么要做信息收集 蓝队 红队 红蓝对抗 无疑是一场信息对抗大赛 二 空间搜索引擎类 1 FOFA https fofa info 2 鹰图 奇安
  • 九、Redis Shell

    Redis提供了redis cli redis server redis benchmark等Shell工具 它们虽然比较简单 但是麻雀虽小五脏俱全 有时可以很巧妙地解决一些问题 一 redis cli详解 第一章曾介绍过redis cli
  • Ubuntu用tar命令来备份系统

    文章目录 备份系统 1 进入root用户 2 进入根目录 3 开始备份 命令格式 选项 压缩文档的路径及名称 欲备份目录 恢复备份 参考 http nerotux tuxfamily org index php Articles TarCo
  • IDEA安装Gradle,解决IDEA与Gradle版本不匹配问题

    IDEA安装Gradle 解决IDEA与Gradle版本不匹配问题 文章目录 IDEA安装Gradle 解决IDEA与Gradle版本不匹配问题 一 检查IDEA适配的Gradle版本 二 下载Gradle并解压 三 配置环境变量 四 配置
  • SqlServer查询死锁进程,结束死锁进程

    查询死锁 select request session id spid OBJECT NAME resource associated entity id tableName from sys dm tran locks where res
  • 网卡相关

    如何查看本机的网卡 操作步骤 1 win R 输入cmd 2 然后 输入命令 ipconfig all 然后按回车键 3 找到本地连接中的描述 如下
  • 5.38版本keil5MDK编译标准库工程问题解决

    1 首先 在keil官网下载安装keil5 ARM MDK 5 38版本 然后安装芯片资源包 Keil STM32F1xx DFP 2 4 0 关于芯片资源包的安装 由于选用的是STM32F1系列的芯片 可以安装资源包 Keil STM32
  • 面试官:烂大街的 Spring 循环依赖问题你都不会,我怎么敢录用你

    在关于Spring的面试中 我们经常会被问到一个问题 Spring是如何解决循环依赖的问题的 这个问题算是关于Spring的一个高频面试题 因为如果不刻意研读 相信即使读过源码 面试者也不一定能够一下子思考出个中奥秘 本文主要针对这个问题
  • 电脑外接显示屏导致屏幕翻转不回来解决办法

    电脑外接显示屏导致屏幕翻转不回来解决办法 一条命令解决 xrandr的通常用法 一条命令解决 xrandr o normal xrandr的通常用法 xrandr o left 向左旋转90度 xrandr o right 向右旋转90度
  • Linux安装、查看、卸载软件、更换yum源

    Linux安装 查看 卸载软件 更换yum源 1 知识点 1 Linux安装软件有那些方式 2 Linux各种安装方式如何安装 更新软件 3 如何查看软件包是否安装 如何卸载安装过的软件包 4 Linux如何更换国内yum仓库源 2 实现
  • redis集群部署

    目录 简介 开启多实例 1 复制一份 redis conf 2 修改一下conf文件 3 复制配置文件修改端口 4 启用多实例 简介 本地redis集群是基于两台服务器 每台服务器分别运行三个实例 一共六个实例搭建集群 两台服务器为10 1

随机推荐

  • 使用Canal订阅binlog发送到RabbitMQ的删除补偿

    Canal k n l 译意为水道 管道 沟渠 主要用途是基于 MySQL 数据库增量日志解析 提供增量数据订阅和消费 工作原理 Canal的工作原理相对简单 就是把自己伪装成MySQL slave 模拟MySQL slave的交互协议向M
  • 微信小程序下载图片到本地

    downloadImg function e 触发函数 console log e currentTarget dataset url wx downloadFile url e currentTarget dataset url 需要下载
  • 性能测试 —— 什么是全链路压测?

    随着互联网技术的发展和普及 越来越多的互联网公司开始重视性能压测 并将其纳入软件开发和测试的流程中 阿里巴巴在2014 年双11 大促活动保障背景下提出了全链路压测技术 能更好的保障系统可用性和稳定性 什么是全链路压测 全链路压测是一种全面
  • 4.7 期货每日早盘操作建议

    期货期权日评 静待反抽 PMI数据显示国内疫情基本控制后复工已较明显 经济数据将在二季度逐步改善 同时近期高层在贷款 汽车消费方面政策频出 有望支持实体经济复苏 当前A股已处于低位 期指继续做空的风险收益比在下降 因此建议可在股指期权上轻仓
  • Failed to execute ‘addColorStop‘ on ‘CanvasGradient‘: The value provided (‘undefined‘) could not be

    在echarts使用属性visualMap对折线图进行区间的变色设置 结果写完直接报错 Uncaught DOMException Failed to execute addColorStop on CanvasGradient The v
  • springboottest注解

    SpringBoot test 好习惯要坚持下去 CSDN博客 springboot test springboot使用 SpringBootTest注解进行单元测试 灰太狼 CSDN博客 springboot test
  • 如何为模型不同层设置不同的学习率?

    在模型调参中常用的一种方法是针对不同层设置不同的学习率 以此避免因难易程度不一致引起的过拟合等问题 一 模型举例 class Model nn Module def init self input size hidden size outp
  • 【cfengDB】自己实现数据库第0节 ---整体介绍及事务管理层实现

    LearnProj 内容管理 MySQL系统结构 一条SQL执行流程 cfengDB整体结构 事务管理TM模块 TID文件规则定义 文件读写 NIO RandomAccessFile FileChannel ByteBuffer 接口实现
  • 【单调栈】找到左右两边的最近小于元素

    基本概念 从一个问题引出单调栈的这个概念 给定一个数组 对于数组中的每一个元素 分别找到它左边和右边最近的小于它的元素 无重复数组 默认该数组中的元素是无重复的 我们可以维护一个栈 从栈的下方到上方 元素的大小从小到大 对于数组中的每一个元
  • OSI参考模型与TCP/IP参考模型(计算机网络)

    一 1 OSI参考模型有7层 从上到下为 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 如下图1 2 TCP IP参考模型有4层 自上到下分别为 应用层 传输层 网际层 网络接口层 如下图2 3 常考的5层参考模型是这样的 自
  • 微信小程序生成分享带参数二维码图片 并添加文字功能

    笔者最近接到一个新的任务 不是很难的功能 就是之前没有接触过 后端生成带参数的小程序二维码图片 并在图片下面添加一些文字 想在将代码分享给大家 期望可以给大家提供帮助 一 首先生成小程序的分享二维码有三种方式 接口 A 适用于需要的码数量较
  • 编程报错和问题解决办法【总结篇】

    目录 1 VMware开启虚拟机失败 模块 Disk 启动失败 2 vim 输入时光标键会变成a b c d 3 vim中delete backspace 键不能向左删除 4 conda command not found解决办法 5 进入
  • Leaflet的Vue组件 — Vue2Leaflet

    原文地址 Leaflet的Vue组件 Vue2Leaflet 这两天折腾Vue 在GitHub上发现了一个开源项目Vue2Leaflet Vue2Leaflet是一个Vue框架的JavaScript库 封装了Leaflet 它使构建地图变得
  • element Tree树形控件使用记录

    需求为使用弹窗选择区域 弹窗左侧为待选区 右侧会展示当前已选中项 也是树形控件展示 如果打开弹窗时上次有选中数据 需要展示出来并勾选相应树形节点 1 html及配置项 数据源部分 由于需求中有需要主动设置选中项 所以需要设置node key
  • 【Linux】线程池

    目录 前言 线程池概念 线程池的实现 前言 这篇文章来实现一个线程池 线程池概念 线程池 一种线程使用模式 线程过多会带来调度开销 进而影响缓存局部性和整体性能 而线程池维护着多个线程 等待着监督管理者分配可并发执行的任务 这避免了在处理短
  • Linux_基础知识笔记4

    基础知识 一 Linux目录结构 二 cat 查看文件内容 三 more 查看文件内容 内容多 四 less 查看文件内容 五 head tail 查看文件内容 六 wc 统计文件内容 七 grep 检索和过滤文件内容 八 gzip bzi
  • 利用闭包,在不设置全局变量的情况下,完成再次点击退出功能

    做APP经常会用到的功能就是 第一次点击弹出退出提示 再次点击退出app 以前常规做法 就是立flag 代码如下 var ableToOut null api addEventListener name keyback function r
  • 关于Undefined symbols for architecture x86_64这个错的总结

    最近在Mac上做一个程序 需要调用动态链接库 出现两次Undefined symbols for architecture x86 64的错误 所以总结下 第一个是 Undefined symbols for architecture x8
  • C++ 复制(拷贝)构造函数

    复制构造函数的定义 复制构造函数是一种特殊的构造函数 其形参为本类的对象引用 作用是用一个已经存在的对象去初始化同类型的新对象 复制构造函数被调用的三种情况 1 定义了一个对象 以本类另一个对象作为初始值 发生复制构造 2 如果函数的形参是
  • matlab中input输入多个数_基于MATLAB的PID控制算法仿真

    一 初学者学习目的 1 利用Matlab Simulink实现PID控制算法 2 观察不同PID参数对控制性能的影响 3 掌握PID参数整定的方法 二 实践内容 1 以二阶系统 为被控对象 K 135 在阶跃输入信号的作用下 用simuli