C++学习记录--入门

文章目录变量常量数据类型整型实型(浮点型)字符型转义字符字符串类型布尔类型数据的输入运算符算术运算符递增递减运算符赋值运算符变量给一段指定的内存空间起名,方便操作这段内存。变量存在的意义:方便管理内存数据。、变量创建的语法: 数据类型 变量名 = 变量初始值;如:int a = 10;输出:cout <<"a = "<< a << endl;常量用于记录程序中不可更改的数据。1. 宏常量 #define 。2. const 修饰的变量也称为常量。标识
分类: 其他 发布时间: 02-01 17:41 阅读次数: 0

C++学习记录--基础

文章目录程序流程结构选择结构--if语句三目运算符选择结构--switch语句循环语句--while循环语句--do…while循环语句--for循环嵌套循环跳转语句--break跳转语句--continue跳转语句--goto数组一维数组程序流程结构三种程序运行结构:顺序结构、选择结构、循环结构选择结构–if语句单行、多行、多条件(if…else if…else if…else)三目运算符表达式1 ? 表达式2 : 表达式3说明:如果表达式1的值为真,执行表达式2,并返回表达式2的结果;如果
分类: 其他 发布时间: 02-01 17:41 阅读次数: 0

柔性关节建模

% 两种两惯量柔性关节建模的区别% 1. 阻尼等效到两端; 2. 阻尼等效到中间柔性体。Ks=5;J=0.04*0.09;B=0.03;h=1/4000;num1=[B Ks];den1=[J B Ks];y2=tf(num1,den1);num2=[Ks];den2=[J B Ks];y1=tf(num2,den2);bode(y1);hold on;bode(y2);yd1=c2d(y1,h);yd2=c2d(y2,h);figure;bode(yd1);hold on;bode(yd2
分类: 其他 发布时间: 02-01 17:41 阅读次数: 0

基于模型的机器人控制(思路)

现代机器人控制的基础是模型。最重要的模型是运动学模型,包括刚体动力学模型和弹性动力学模型。通过可配置的模型,有可能用同一种方法控制各种类型的机器人。ABB公司采用模型配置方法,可以控制一系列机器人。基于模型的控制包括基于模型的轨迹生成和基于模型的轴控(QuickMove)。基于模型的轨迹生成轨迹生成,通过在线机器人速度和加速度优化来获得。生成路径的任务可以表述为:必须严格遵循用户指定的路径,并且只有在机器人运动受到机器人组件的约束以机械方式或电气方式限制机器人运动的情况下,才必须降低指定速度。一些
分类: 其他 发布时间: 02-01 17:40 阅读次数: 0

DOB--Q滤波器的特性

在控制系统的一般情况中,内部和外部扰动量处于低频带宽,而检测的噪声出现在高频段,该频率特性使得DOB的应用中需要引入一个低通滤波器–Q滤波器。DOB通过调节滤波器Q,使其在低频段近似为1,高频段近似为0,就可以有效地抑制系统所受的低频干扰和高频噪声。理论上,滤波器的带宽越高,DOB的抑振效果越好,但是带宽越高易造成系统不稳定。以两种滤波器为例,了解滤波特性:巴特沃斯低通滤波器Q(s)=(αβ)/[(s+α)(s+β)] Q(s) = (\alpha\beta)/[(s+\alpha)(s+\be
分类: 其他 发布时间: 02-01 17:40 阅读次数: 0

C++学习记录--进阶Ⅰ(内存,引用,函数)

内存分区模型C++程序在执行时,将内存大方向划分为4个区域:代码区:存放函数体的二进制代码,由操作系统进行管理的全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配释放,存放函数的参数值,局部变量等堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收内存四区意义:不同区域存放的数据,赋予不同的生命周期,灵活编程。程序运行前在程序编译后,生成了exe可执行程序,未执行该程序前分为两个区域。代码区:存放CPU执行的机器指令。代码区是共享的,共享的目的是对于频繁
分类: 其他 发布时间: 02-01 17:40 阅读次数: 0

matlab程序常用模板

simulink输出到工作空间,不同参数对比程序模板:close all;plot(P1);hold on;plot(P2,'--','LineWidth',1.2);legend('未补偿','精度准确');axis([1 3 480 1800])figure;hold on;plot(P1);plot(P2,'--','LineWidth',1.2);legend('未补偿','0.8倍阻尼');axis([1 3 480 1800])figure;hold on;plot(P1);pl
分类: 其他 发布时间: 02-01 17:40 阅读次数: 0

C++学习记录--进阶Ⅱ(类和对象,多态)

文章目录类和对象封装struct 和 class 的区别类和对象C++面向对象的三大特性为:封装、继承、多态。封装封装的意义:将属性和行为作为一个整体,表现生活中的事物://设计一个圆类,求圆周长//class表示设计一个类,类后面紧跟着的就是类名称const double PI = 3.14;class Circle{ //访问权限:公共权限public: //属性:半径 int m_r; //行为:获取圆周长 double CalculateCircle() {
分类: 其他 发布时间: 02-01 17:40 阅读次数: 0

现代控制理论(注意点)

文章目录matlab求解系统方程线性齐次状态方程的解线性非齐次状态方程的解注意点matlab求解系统方程线性齐次状态方程的解syms s t x0 tao phi phi0;A = [0 1; -2 -3];I = [1 0; 0 1];E = s * I - A;C = det(E);D = collect(inv(E));phi0 = ilaplace(D);x0 = [1; 0];x = phi0 * x0;线性非齐次状态方程的解syms s t x0 x tao phi
分类: 其他 发布时间: 02-01 17:39 阅读次数: 0

C++学习记录--进阶Ⅱ(文件操作)

文章目录程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放,通过文件可以将数据持久化。C++中对文件操作需要包含头文件 < fstream >文件类型分为两种:文本文件 - 文件以文本的ASCII码形式存储在计算机中二进制文件 - 文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们操作文件的三大类:ofstream:写操作ifstream: 读操作fstream : 读写操作5.1文本文件5.1.1写文件写文件步骤如下:包含头文件#incl
分类: 其他 发布时间: 02-01 17:39 阅读次数: 0

matlab控制器参数整定方法

针对上述控制结构图,利用matlab整定参数。%% Tuning Control Systems with SYSTUNE% systuneWorkflowExample.mG = linsys;C0 = tunablePID('C','pi'); % tunable PIa = realp('a',1); % 参数化F0 = tf(a,[1 a]); % 滤波器结构AP = AnalysisPoint('u'); % 断点T0 = feedback(G*AP*C0,.
分类: 其他 发布时间: 02-01 17:39 阅读次数: 0

鲁棒控制(Ⅱ)—车辆悬浮系统hinf设计

设计一个输出反馈系统:F = K(s)y。m1 = 1.5e3;m2 = 1e4;k1 = 5e6;k2 = 5e5;b1 = 1.7e3;b2 = 50e3;A = [0 0 1 0; 0 0 0 1; -(k1+k2)/m1 k2/m1 -(b1+b2)/m1 b2/m1; k2/m2 -k2/m2 b2/m2 -b2/m2];B = [b1/m1 0; 0 0; k1/m1-(b1*(b1+b2))/(m1*m1) -1/m1; (b
分类: 其他 发布时间: 02-01 17:38 阅读次数: 0

鲁棒控制(Ⅰ)—LMI处理方法

系统的H∞范数对应于bode图中幅值曲线的峰值,而系统的H2范数则对应于bode图中幅值曲线下方的面积。H∞范数不超过一个上界,H2范数尽可能小,以保证系统对于不确定性具有鲁棒稳定性,并表现出更好的性能。在状态反馈情况下,闭环系统的H∞性能并不能通过增加控制器的阶数来加以改进,因此,系统的H∞状态反馈控制器,总是能够选择一个静态控制律。Matlab中计算Hinf最优控制器命令为:hinfsyn 或者 hinflmi。连续系统控制器求解举例:% hinflmiclear;clc;A = [0];
分类: 其他 发布时间: 02-01 17:38 阅读次数: 0

C++学习记录--提高Ⅰ(模板)

文章目录模板基本概念案例普通函数与函数模板的区别普通函数与函数模板的调用规则具体化模板模板基本概念模板就是建立通用的模具,大大提高复用性模板的特点:C++另一种编程思想称为 泛型编程 ,主要利用的技术就是模板C++提供两种模板机制:函数模板和类模板模板不可以直接使用,它只是一个框架模板的通用并不是万能的函数模板作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。语法:template<typename T> 函数声明或定义
分类: 其他 发布时间: 02-01 17:38 阅读次数: 0

SpringMVC执行原理,创建一个SpringMVC

SpringMVC执行原理​ SpringMVC的原理如下图所示:​ 当用户发送请求,首先前端控制器拦截到请求,根据请求生成参数代理请求,找到请求对应的实际控制器,控制器处理请求,创建数据模型,访问数据库,将模型响应给中心控制器,控制器使用模型与视图渲染视图结果,将结果返回给中心控制器,再将结果返回给请求者。我们创建一个SpringMVC看一下他的流程1、引入jar包 <dependency> <groupId>junit</groupId&
分类: 其他 发布时间: 02-01 17:37 阅读次数: 0

观光(最短路求方案数2)

题目描述“您的个人假期”旅行社组织了一次比荷卢经济联盟的巴士之旅。比荷卢经济联盟有很多公交线路。每天公共汽车都会从一座城市开往另一座城市。沿途汽车可能会在一些城市(零或更多)停靠。旅行社计划旅途从 S 城市出发,到 F 城市结束。由于不同旅客的景点偏好不同,所以为了迎合更多旅客,旅行社将为客户提供多种不同线路。游客可以选择的行进路线有所限制,要么满足所选路线总路程为 S 到 F 的最小路程,要么满足所选路线总路程仅比最小路程多一个单位长度。如上图所示,如果S = 1,F = 5,则这里有
分类: 其他 发布时间: 02-01 17:37 阅读次数: 0

牛的旅行(Floyd算法求最短路)

题目描述农民John的农场里有很多牧区,有的路径连接一些特定的牧区。一片所有连通的牧区称为一个牧场。但是就目前而言,你能看到至少有两个牧区不连通。现在,John想在农场里添加一条路径(注意,恰好一条)。一个牧场的直径就是牧场中最远的两个牧区的距离(本题中所提到的所有距离指的都是最短的距离)。考虑如下的两个牧场,每一个牧区都有自己的坐标:图 1 是有 5 个牧区的牧场,牧区用“*”表示,路径用直线表示。图 1 所示的牧场的直径大约是 12.07106, 最远的两个牧区是 A 和 E,它们之
分类: 其他 发布时间: 02-01 17:37 阅读次数: 0

排序(Floyd求闭包)

题目描述给定 n 个变量和 m 个不等式。其中 n 小于等于26,变量分别用前 n 的大写英文字母表示。不等式之间具有传递性,即若 A>B 且 B>C ,则 A>C。请从前往后遍历每对关系,每次遍历时判断:如果能够确定全部关系且无矛盾,则结束循环,输出确定的次序;如果发生矛盾,则结束循环,输出有矛盾;如果循环结束时没有发生上述两种情况,则输出无定解。输入格式输入包含多组测试数据。每组测试数据,第一行包含两个整数n和m。接下来m行,每行包含一个不等式,不等式全部为小
分类: 其他 发布时间: 02-01 17:37 阅读次数: 0

观光之旅(Floyd求最小环)

题目描述给定一张无向图,求图中一个至少包含3个点的环,环上的节点不重复,并且环上的边的长度之和最小。该问题称为无向图的最小环问题。你需要输出最小环的方案,若最小环不唯一,输出任意一个均可。输入格式第一行包含两个整数N和M,表示无向图有N个点,M条边。接下来M行,每行包含三个整数u,v,l,表示点u和点v之间有一条边,边长为l。输出格式输出占一行,包含最小环的所有节点(按顺序输出),如果不存在则输出’No solution.’。数据范围1≤N≤100,1≤M≤10000,
分类: 其他 发布时间: 02-01 17:36 阅读次数: 0

次小生成树(倍增+lca)

题目描述给定一张 N 个点 M 条边的无向图,求无向图的严格次小生成树。设最小生成树的边权之和为sum,严格次小生成树就是指边权之和大于sum的生成树中最小的一个。输入格式第一行包含两个整数N和M。接下来M行,每行包含三个整数x,y,z,表示点x和点y之前存在一条边,边的权值为z。输出格式包含一行,仅一个数,表示严格次小生成树的边权和。(数据保证必定存在严格次小生成树)数据范围N≤105,M≤3∗105输入样例5 61 2 11 3 22 4 33 5 43
分类: 其他 发布时间: 02-01 17:33 阅读次数: 0