matlab
文章平均质量分 52
爱趣无穷
认真科研,热爱生活
展开
-
MATLAB特殊函数查询表(不断更新)
#MATLAB中常用函数形式、意义、举例查询表,不断更新,以首字母作为目录进行分类原创 2022-09-22 09:39:48 · 1586 阅读 · 0 评论 -
模型预测控制MPC2(无约束MPC,Unconstrained Model Predictive Control)
**优化本身并不能保证系统的稳定性**,不同的control horizon会导致不同的增益K,K不一样当然A-BK就不一样,其中N=4和N=3这两组特征值肯定在单位圆内,N=2时,虽然在单位圆内,但是已经非常接近单位圆边缘了,这个时候系统是稳定的,但是这个时候的过渡过程已经没有那么好了;但是N=1时,系统已经有一个特征值在单位圆外了,这个时候系统已经不稳定了,N取得太小,往后预测并不是真正能够反应系统实际性能的预测,所以基于这样的预测做出来的优化控制,当然没有办法保证系统的稳定性。......原创 2022-07-17 18:25:15 · 2137 阅读 · 3 评论 -
LQR控制实例、传递函数与状态矩阵相互转换
LQR控制实例、传递函数与状态矩阵相互转换原创 2022-07-12 11:12:38 · 1725 阅读 · 0 评论 -
用Matlab求解方程
用Matlab求解方程原创 2022-07-12 09:17:08 · 29548 阅读 · 1 评论 -
LQR线性二次型调节器2(Continuous-time system Linear-Quadratic Regulator design,连续系统分析及MATALB实例)
**注:**MATLAB中LQR函数有==连续==和==离散==两种,本篇文章只分析==连续时间系统lqr()函数、care()函数==,==离散时间系统LQR()函数==将单独写文章进行分析!敬请关注,谢谢~原创 2022-07-06 14:22:45 · 2110 阅读 · 0 评论 -
LQR线性二次型调节器1(Continuous-time system Linear-Quadratic Regulator design,连续系统LQR理论推导)
LQR(线性二次型调节器,Linear-Quadratic Regulator (LQR) design)(1)选择参数矩阵Q,R(2)求解Riccati方程得到矩阵P(3)根据P计算(4)计算控制量原创 2022-07-03 11:43:21 · 1352 阅读 · 0 评论 -
Lyapunov稳定性分析2(连续时间系统)
线性系统**,只须求出系数矩阵的特征值即可判断其稳定性**李雅普诺夫第二方法**:又称**直接法**,其基本特点是不必求解系统的状态方程,就能对其在**平衡点处**的**稳定性**进行分析和做出判断,且这种判断是准确的,而不包含近似.......................................................................................原创 2022-07-01 19:13:47 · 4542 阅读 · 0 评论 -
Lyapunov稳定性分析1(正定函数、二次型正定判定)
建立在**李雅普诺夫第二方法**上的稳定性分析中,有一类**标量函数**起着重要的作用,即为二次型函数;**塞尔维斯特(Sylvester)定理**:V(x)=xTPx中的P是对称阵时,V(x)为正定的充要条件是P的所有顺序主子式行列式都是正的,即.........原创 2022-07-01 11:46:49 · 7562 阅读 · 0 评论 -
控制系统分析2(线性系统稳定性、和可控性)
1、**系统不稳定**,为了得到稳定的状态,设计u,通过设计合适得**闭环系统矩阵*A*cl的特征值**,**使得系统达到稳定**。2、系统不稳定,可以通过闭环控制使其稳定,前提是系统可控,所以**分析系统首先分析系统是不是可控的**。.....................原创 2022-06-30 17:28:57 · 2559 阅读 · 0 评论 -
控制系统分析1(线性系统稳定性和收敛性)
系统矩阵A的特征多项式等同于传递函数的分母多项式。2、传递函数的极点就是系统矩阵A的特征值。3、同一系统的状态空间描述不惟一,但传递函数g(s)是惟一的,称为传递函数的不变性系统不稳定,但可控,这时来设计u.................................原创 2022-06-30 09:45:36 · 4227 阅读 · 0 评论 -
主成分分析PCA详解及MATLAB实现
1、读取外部文件数据load gj.txt %把原始保存在纯文本文件gj.txt中的数据,读到MATLAB变量gj中2、数据标准化gj1=zscore(gj); %将原始数据gj进行z-score 标准化3、计算相关系数矩阵(协方差矩阵)r=corrcoef(gj1); %计算相关系数矩阵(协方差矩阵)因为原始数据gj已经标准化成新的数据gj1,所以gj1的协方差矩阵就是相关系数矩阵,相关系数矩阵主对角线上都是1,因为一个变量和自己的相关系数是1。相关系数矩阵r里大多数数据原创 2021-10-20 15:41:57 · 8319 阅读 · 5 评论 -
zscore函数的数据标准化处理及MATLAB实现
一、数据标准化处理在数据分析之前,我们通常需要先将数据标准化(normalization),利用标准化后的数据进行数据分析。数据标准化也就是统计数据的指数化。数据标准化处理主要包括数据同趋化处理和无量纲化处理两个方面。数据同趋化处理主要解决不同性质数据问题,对不同性质指标直接加总不能正确反映不同作用力的综合结果,须先考虑改变逆指标数据性质,使所有指标对测评方案的作用力同趋化,再加总才能得出正确结果。数据无量纲化处理主要解决数据的可比性。数据标准化的方法:有很多种,常用的有“最小—最大标准化”、“Z-sc原创 2021-10-20 11:13:55 · 17008 阅读 · 0 评论 -
MATLAB中范数norm()函数精讲
Matlab中norm有两种形式:形式:1.n = norm(A)2.n = norm(A,p) ,p - 范数功能:A可以是向量、也可以是矩阵;根据p的不同,norm函数可计算几种不同类型的矩阵(向量)范数,1<p<+∞。其中,n = norm(A) 与 n = norm(A,2)相同,都表示2范数。2、若A为向量(向量范数)2.1 格式:norm(A,p)返回向量A的p范数,即:1范数:为所有元素绝对值之和,即sum(abs(A))2范数:就是通常意义上的模,即s原创 2021-09-23 20:19:45 · 156935 阅读 · 7 评论 -
MATLAB中subs函数
subs函数1、将变量x替换为数值1: subs(S,x,1)2、将变量x替换为变量z: subs(S,x,z)3、同时将变量x和y分别替换为1和z:subs(S,{x,y},{1,z})4、将单变量替换为数组:subs(S,x,[1 2;3 4])转载 2021-09-23 14:21:04 · 11160 阅读 · 0 评论 -
卡尔曼滤波器的递归思想及实现
卡尔曼滤波器(Kalman Filter )递归算法(Recursive Algorithm)最优化递归数字处理算法不确定性:1、不存在完美的数学模型;2、系统的扰动不可控,也很难建模;3、测量传感器存在误差。根据三步骤计算公式,在Excel表格中计算17组数据,并画图利用卡尔曼滤波器的递归的思想来作估计,随着我们不断更新测量值,它会越来越靠近真实值。...原创 2021-07-29 21:59:39 · 655 阅读 · 0 评论 -
matlab中的clock函数
clock函数clock函数用来获取系统当前时间,可以直接使用,也可以赋给某个变量名,格式如下:现在是2021年7月10日,16时10分3.4秒,如下图,依次为年 月 日 时 分 秒原创 2021-07-18 16:13:59 · 6706 阅读 · 0 评论 -
diff()函数MATLAB
diff()函数可以用于求导数和差分1 diff()函数用法eg1:求差分我们发现,其实它表示向量里”前后相邻元素之差”2 求导2.1 “./”的用法还是2中的a1和b1“./”表示“向量对应位置的元素相除”2.2 求导...原创 2021-07-12 10:50:33 · 4672 阅读 · 0 评论 -
matlab输入矩阵每一行末尾有省略号
见到如下的矩阵eg1:矩阵每一行末尾都有省略号,省略号是用于一行没输完,在第二行上接着输入的需要,为了便于理解,下面举几个例子:eg2:可见,实际表示的是一个9维的行向量。注:每一行后面先有一个空格,再有省略号。eg3:可见,实际表示的是一个3×3矩阵。注:每一行后面先有一个分号,再有省略号,其实这时候的省略号可有可没有。于是,eg1中的矩阵等价于:...原创 2021-07-09 10:47:42 · 3905 阅读 · 0 评论 -
真随机数和伪随机数以及伪随机数的MATLAB实现
1 真随机数真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的。使用物理性随机数发生器生成的真随机数,可以说是完美再现了生活中的真正的“随机”,也可以称为绝对的公平,绝对的随机数。2 伪随机数实际上,绝对随机的随机数只是一种理想的随机数,即使计算机怎样发展,它也不会产生一串绝对随机的随机数。计算机只能生成相对的随机数,即伪随机数。从定义我们可以了解到,伪随机数其实是有规律的。只不过这个规律周期比较长,但还是可以预测的。主要原因就原创 2021-07-08 18:49:40 · 4722 阅读 · 0 评论 -
randn函数中randn(‘state‘)和randn(‘seed‘)以及与rand,rands函数的区别
(1)RANDN产生正态分布数的语法:RANDN(N) :产生N× N的矩阵,其元素是按正态分布的数组;RANDN(M,N) and RANDN([M,N]):产生M×N的矩阵;RANDN(M,N,P,…) or RANDN([M,N,P…])产生随机序列;(2)RANDN产生伪随机数的语法:发生器的状态决定所产生数的序号。S = RANDN(‘state’) 是一个二元向量,包括标准发生器的状态;RANDN(‘state’,S):设置发生器的状态为S(即标准状态);RANDN(‘state原创 2021-07-08 11:41:09 · 2376 阅读 · 0 评论 -
伪随机序列MATLAB实现
1 伪随机信号及其产生方法2 伪随机序列MATLAB代码实现clear;close all;%M序列产生程序n=4;%四个移位寄存器L=2^n-1;%M序列的周期mag=1;%M序列信号幅值y1=1;y2=1;y3=1;y4=0;%四个移位寄存器的初始值for i=1:Lx1=xor(y3,y4);x2=y1;x3=y2;x4=y3;y(i)=y4;if y(i)>0.5,u(i)=-mag;else u(i)=mag;endy1=x1;y2=x2;y3=x3原创 2021-07-08 10:41:31 · 4087 阅读 · 0 评论 -
最小二乘法(LSM)入门详解(原理及公式推导),MATLAB实现及应用
1 概念定义: 最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可 以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。...原创 2021-07-07 17:09:33 · 15898 阅读 · 4 评论 -
MATLAB实现向量中元素的运算
1 取出向量中下标对应的元素格式:a(i)2 取向量中最大的元素格式:max(a)3 取向量中最小的元素格式:min(a)4 取一段连续的元素格式:a(i:j),取第i个到第j个连续的元素5 向量的长度格式:length(a)或numel(a)6 对向量中所有元素求和eg:sum(a)...原创 2021-07-07 16:51:13 · 6238 阅读 · 0 评论 -
MATLAB实现传递函数模型、零极点模型和状态空间模型的建立与转换(2)
3 状态空间模型的建立3.1 格式:G=ss(A,B,C,D)A:系统矩阵(状态矩阵),描述系统状态的演化规律,是系统最关键的矩阵;B:列向量;C:行向量;D:列向量Continuous-time state-space model.3.2 由状态空间模型转换为传递函数模型把3.1中的G转换为等价的传递函数模型G1:tf(G)得到三阶系统对应的传递函数3.3 由传递函数模型转换为状态空间模型把3.2中的G1转换为等价的状态空间模型G2:ss(G1)这里我们发现状态空间模型G2和G长原创 2021-07-07 09:42:02 · 6623 阅读 · 1 评论 -
MATLAB实现传递函数模型、零极点模型和状态空间模型的建立与转换(1)
1.建立传递函数模型:tf()1.1 格式:G=tf(num,den),num和den分别代表分子分母的零极点输出为连续时间传递函数模型注:工作区的模型G对应“1*1 tf”表示G为单输入单输出SISO系统1.2 阶跃响应:step(G)格式:step(G)还可在step()里增加仿真时间eg:step(G,10)...原创 2021-07-06 19:44:25 · 34082 阅读 · 3 评论 -
MATLAB中求矩阵的逆矩阵方法(2种)
方法一:使用inv()函数求矩阵的逆第一步:打开matlab之后,在命令行窗口中输入a=[1 2 3;4 5 6; 7 8 9],新建一个a方矩阵,如下图所示:第二步:在命令行窗口中输入inv(a),按回车键,可以看到得到了矩阵的逆,如下图所示:注意:a矩阵可逆的条件是非奇异方法二:使用a^-1格式求矩阵的逆第一步:在命令行窗口中输入a^-1,按回车键,可以得到矩阵的逆,如下图所示:其实,还可以给-1加括号“()”,a^(-1),如下图:注:a必须是方针,即行数和列数相等。...原创 2021-06-25 18:47:25 · 130631 阅读 · 2 评论 -
Matlab中的c2d函数用法
c2d()函数的作用是将s域的表达式转化成z域的表达式,s=0对应z=1。c2d()函数转化的方法有多种:①zoh, 零阶保持器法,又称阶跃响应不变法;②foh ,一阶保持器法③tustin ,双线性变换法④ imp, 脉冲响应不变法。根据不同的场合,使用不同的方法,生成的参数也不一样。在具体的应用场合,需针对不同的具体应用问题采用适当的方法的问题!比如滤波器设计多采用脉冲响应不变法;控制器设计多采用双线性变换法(‘tustin’)、零极点配置法(‘matched’)、后向差分法(这个c2d函数转载 2021-06-25 14:57:40 · 5901 阅读 · 0 评论 -
MATLAB中m文件调用另一个m文件(中的函数)
1、一般都是每个函数独占一个m文件,而且函数名与文件名必须相同;2、两个m文件必须放在同一目录下,在第一个m文件里面直接输入第二个m文件的函数名称。格式如下:第二个m文件被调函数格式:注:这里不能有clear,clc的操作function s = name(a,b…)函数主体end第一个m文件主函数格式y = name(a_1,b_1…)%%直接调用形参的名称可以任意取简单例程:函数的创建函数的调用或...原创 2021-06-21 16:01:45 · 59514 阅读 · 5 评论 -
toeplitz 托普利兹矩阵
*toeplitz 托普利兹矩阵简介托普利兹矩阵,简称为T型矩阵,主对角线上的元素相等,平行于主对角线的线上的元素也相等;矩阵中的各元素关于次对角线对称,即T型矩阵为次对称矩阵。形如:推广后:特点(1)托普利兹矩阵完全由其第1行和第1列的2n-1个元素确定;(2)除第一行第一列外,其他每个元素都与左上角的元素相同.简单T形矩阵前向移位矩阵后向移位矩阵用MATLAB生成在数学软件Matlab中,生成托普利兹矩阵的函数是:toeplitz()toeplitz(c,r),生成一个原创 2021-06-18 09:57:33 · 5839 阅读 · 2 评论