精华内容
下载资源
问答
  • 设计与计算条件: 网侧交流输入电压10KV;额定输出直流电压600V;额定输出直流电流5000A;直流电压调节方式晶闸管相控整流调压;...文档中附MATLAB串联12脉波整流simulink仿真具体电路图和参数设置的截图。
  • Matlab串联校正函数

    2011-01-14 18:46:31
    Matlab串联校正函数,可用于自动控制校正传递函数的生成以及Matlab仿真。
  • 实例 两个矩阵 创建两个矩阵并水平串联它们 - 首先使用方括号表示法串联,然后使用 horzcat 串联。 >> A=magic(5); >> A(4:5,:)=[] A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 >> B=magic(3)*100 B = 800 100 600...

    语法

    C = horzcat(A,B)
    C = horzcat(A1,A2,…,An)
    

    输入参数

    A - 第一个输入

    标量 | 向量 | 矩阵 | 多维数组 | 表 | 时间表
    第一个输入,指定为标量、向量、矩阵、多维数组、表或时间表。

    B - 第二个输入

    标量 | 向量 | 矩阵 | 多维数组 | 表 | 时间表
    第二个输入,指定为标量、向量、矩阵、多维数组、表或时间表。

    B 的元素沿第二个维度串联到第一个输入的末尾。输入参数的大小必须兼容。例如,如果第一个输入是大小为 3×2 的矩阵,则 B 必须有 3 行。

    所有表输入必须有唯一的变量名称。如果有行名称,则它们必须完全相同(顺序除外)。

    所有时间表输入必须具有相同的行时间,且每个列必须具有不同名称。

    A1,A2,…,An - 输入列表

    逗号分隔的列表

    输入的列表,指定为以逗号分隔的列表,列表元素将按其在列表中的顺序串联。

    输入必须具有兼容的大小。例如,如果 A1 是长度为 m 的列向量,则其余输入必须各有 m 行才能水平串联。

    所有表输入必须有唯一的变量名称。如果有行名称,则它们必须完全相同(顺序除外)。

    所有时间表输入必须具有相同的行时间,且每个列必须具有不同名称。

    说明

    当 A 和 B 具有兼容的大小时(除第二个维度以外,其余维度的长度均需匹配),C = horzcat(A,B) 将 B 水平串联到 A 的末尾。

    C = horzcat(A1,A2,…,An) 水平串联 A1、A2、…、An。

    horzcat 等效于使用方括号水平串联数组。例如,当 A 和 B 是兼容数组时,[A,B] 或 [A B] 等于 horzcat(A,B)。

    实例

    两个矩阵

    创建两个矩阵并水平串联它们 - 首先使用方括号表示法串联,然后使用 horzcat 串联。

    >> A=magic(5);
    >> A(4:5,:)=[]
    
    A =
    
        17    24     1     8    15
        23     5     7    14    16
         4     6    13    20    22
    
    >> B=magic(3)*100
    
    B =
    
       800   100   600
       300   500   700
       400   900   200
    
    >> C=[A,B]
    
    C =
    
        17    24     1     8    15   800   100   600
        23     5     7    14    16   300   500   700
         4     6    13    20    22   400   900   200
    
    >> D = horzcat(A,B)
    
    D =
    
        17    24     1     8    15   800   100   600
        23     5     7    14    16   300   500   700
         4     6    13    20    22   400   900   200
    
    >> 
    

    两个表

    创建一个带有三行和两个变量的表 A。

    >> A = table([5;6;5],['M';'M';'M'],...
        'VariableNames',{'Age' 'Gender'},...
        'RowNames',{'Thomas' 'Gordon' 'Percy'})
        
    A=3×2 table
                  Age    Gender
                  ___    ______
    
        Thomas     5       M   
        Gordon     6       M   
        Percy      5       M   
    

    创建一个带有三行和三个变量的表 B。

    >> B = table([45;41;40],[45;32;34],{'NY';'CA';'MA'},...
        'VariableNames',{'Height' 'Weight' 'Birthplace'},...
        'RowNames',{'Percy' 'Gordon' 'Thomas'})
        
    B=3×3 table
                  Height    Weight    Birthplace
                  ______    ______    __________
    
        Percy       45        45        {'NY'}  
        Gordon      41        32        {'CA'}  
        Thomas      40        34        {'MA'}  
    

    然后水平串联 A 和 B。C 中的行顺序与 A 中的顺序相匹配。

    >> C = horzcat(A,B)
    
    C=3×5 table
                  Age    Gender    Height    Weight    Birthplace
                  ___    ______    ______    ______    __________
    
        Thomas     5       M         40        34        {'MA'}  
        Gordon     6       M         41        32        {'CA'}  
        Percy      5       M         45        45        {'NY'}  
    

    具有不同类型的日期

    将日期字符向量、字符串日期和日期时间串联成一个日期行。结果是一个日期时间行向量。

    >> chardate = '2020-03-24';
    >> strdate = "2020-04-19";
    >> t = datetime('2020-05-10','InputFormat','yyyy-MM-dd');
    >> C = horzcat(chardate,strdate,t)
    
    C = 1x3 datetime
       24-Mar-2020   19-Apr-2020   10-May-2020
    

    字符串数组

    将三个字符串数组串联成一个数组。

    >> A1 = ["str1"; "str2"];
    >> A2 = ["str3"; "str4"];
    >> A3 = ["str5"; "str6"];
    >> C = horzcat(A1,A2,A3)
    
    C = 2x3 string
        "str1"    "str3"    "str5"
        "str2"    "str4"    "str6"
    

    元胞数组中的矩阵

    创建一个包含两个矩阵的元胞数组。将元胞数组中的矩阵水平串联成一个矩阵。

    >> M1 = [1 2; 3 4];
    >> M2 = [5 6 7; 8 9 10];
    >> A1 = {M1,M2};
    >> C = horzcat(A1{:})
    
    C = 2×5
    
         1     2     5     6     7
         3     4     8     9    10
    

    提示

    要通过水平串联字符串、字符向量或字符向量元胞数组来构造文本,请使用 strcat 函数。

    从字符向量元胞数组或字符串数组构造一段带分隔符的文本,请使用 strjoin 函数。

    资源传送门

    1. 关注【做一个柔情的程序猿】公众号
    2. 在【做一个柔情的程序猿】公众号后台回复 【python资料】【2020秋招】 即可获取相应的惊喜哦!

    「❤️ 感谢大家」

    1. 点赞支持下吧,让更多的人也能看到这篇内容(收藏不点赞,都是耍流氓 -_-)
    2. 欢迎在留言区与我分享你的想法,也欢迎你在留言区记录你的思考过程。
    展开全文
  • 基于MATLAB串联超前校校正设计.ppt
  • 实验七 基于MATLAB控制系统频域法串联校正设计 一实验目的 1对给定系统设计满足频域或时域指标的串联校正装置 2掌握频域法设计串联校正的方法 3掌握串联校正环节对系统稳定性及过渡过程的影响 二实验原理及内容 利用...
  • 基于MATLAB串联超前校正设计;1 引言; MATLAB是一个具有多种功能的大型软件借助于MATLAB可靠的仿真和运算功能可以使控制系统分析与设计问题变得简单它为控制系统的设计和仿真提供了一个有力的工具从而大大提高工作...
  • Matlab设计串联滞后校正 串联滞后校正步骤: 1、确定原系统。 2、根据期望裕度挖掘相角储备,找出校正点处ωcω_cωc​。 3、利用校正点处20lgb的对称性求解b。 4、根据校正点与两个转折频率处的倍频关系求出两个...

    Matlab设计串联滞后校正

    串联滞后校正步骤:

    1、确定原系统。
    2、根据期望裕度挖掘相角储备,找出校正点处 ω c ω_c ωc
    3、利用校正点处20lgb的对称性求解b。
    4、根据校正点与两个转折频率处的倍频关系求出两个转折频率,得出校正传函。
    5、进行串联校正,并验算校正后指标是否满足要求。

    :已知单位反馈系统的系统开环传递函数 G 0 = 300 0.2 s + 1 G_0=\frac{300}{0.2s+1} G0=0.2s+1300 请设计串联滞后校正装置,使校正后系统相角裕度 γ ≥ 45 ° \gamma≥45° γ45°

    使用matlab进行校正,结果如下:

    鸣谢:感谢江苏科技大学张永韡(wei)老师的悉心教导!

    校正代码:

    clear; close all; clc
    K = 300; 
    gamma = 45; %期望裕度
    s = tf('s'); 
    G0 = K/(s*(0.2*s+1));% 原系统
    lb = 0.001; % 
    ub = 100; % 510倍频程
    
    gamma0_wc = gamma + 6; % 挖掘系统相角储备
    fun = @(w)(180+angle(freqresp(G0,w))/(2*pi)*360-gamma0_wc)^2; 
    wc = fminbnd(fun,lb,ub); % 设计校正点处频率
    mag_wc = 20*log10(abs(freqresp(G0,wc))); % 原系统wc处幅值
    b = 10^(-mag_wc/20); % 利用校正点处20lgb的对称性求解b
    w2 = 0.1*wc; % 校正装置第二个转折频率,校正点往前10倍频
    w1 = b*w2; %校正装置第1个转折频率(1/b倍频关系)
    Gc = tf([1/w2,1],[1/w1,1]); %  % 校正传函
    G = Gc*G0;  % 串联滞后校正
    bode(G0,Gc,G,{lb,ub}); 
    grid on
    [Gm,Pm,Wcg,Wcp]= margin(G); 
    title(['滞后校正: \gamma^*=',num2str(gamma),'\circ, \gamma=',...
        num2str(Pm),'\circ at w_c=',num2str(Wcp),' rad/s.']);
    legend('原系统G0','校正传函Gc','已校正系统G')
    
    展开全文
  • Matlab设计串联滞后超前校正 串联滞后超前校正步骤: 1、确定原系统。 2、根据期望截止频率ωc∗ω_c^*ωc∗​,确定超前装置最大超前角φm=γ∗−γ0(ωc∗)+6°φ_m=\gamma^*-\gamma_0(ω_c^*)+6°φm​=γ∗−γ0...

    Matlab设计串联滞后超前校正

    串联滞后超前校正步骤:

    1、确定原系统。
    2、根据期望截止频率 ω c ∗ ω_c^* ωc,确定超前装置最大超前角 φ m = γ ∗ − γ 0 ( ω c ∗ ) + 6 ° φ_m=\gamma^*-\gamma_0(ω_c^*)+6° φm=γγ0(ωc)+6°
    3、求解超前校正参数 a = 1 + s i n φ m 1 − s i n φ m a=\frac{1+sinφ_m}{1-sinφ_m} a=1sinφm1+sinφm
    4、根据校正点与两个转折频率处的倍频关系求出两个转折频率,得出超前校正传函。
    5、使用超前校正后的系统在 ω c ∗ ω_c^* ωc处进行设计滞后校正。
    6、根据滞后校正装置倍频关系求解滞后校正参数。
    7、进行串联滞后超前校正,并验算校正后指标是否满足要求。

    :已知单位反馈系统的系统开环传递函数 G 0 = 100 s ( 1 10 s + 1 ) ( 1 60 s + 1 ) G_0=\frac{100}{s(\frac{1}{10}s+1)(\frac{1}{60}s+1)} G0=s(101s+1)(601s+1)100 请设计串联滞后超前校正装置,使校正后系统满足 γ ≥ 50 ° , ω c ∗ ≥ 20 , h ≥ 10 \gamma≥50°,ω_c^*≥20,h≥10 γ50°ωc20h10

    使用matlab进行校正,结果如下:

    鸣谢:感谢江苏科技大学张永韡(wei)老师的悉心教导!

    校正代码:

    clear; close all; clc
    K = 100; 
    s = tf('s'); 
    G0 = K/(s*(s/10+1)*(s/60+1)); % 原系统
    gamma = 50; %期望相角裕度
    h = 10; %期望幅值裕度
    wc = 20; % 期望截止频率,将该处设为校正点
    lb = 0.1; 
    ub = 1000; %410倍频程
    
    gamma0_wc = 180+angle(freqresp(G0,wc))/(2*pi)*360;
    phim = gamma - gamma0_wc + 6;  %设置校正装置最大相角
    a = (1+sind(phim))/(1-sind(phim)); % 求解超前校正参数a
    w4 = wc*sqrt(a); %超前装置第二个转折频率(与校正点根号a倍频关系)
    w3 = w4/a;  %超前装置第一个转折频率(a倍频关系)
    Gclead = tf([1/w3,1],[1/w4,1]); % 超前校正传函
    Glead = Gclead*G0; % 超前校正后系统传函
    mag_wm = 20*log10(abs(freqresp(Glead,wc)));  % 超前校正后系统wc处幅值
    b = 10^(-mag_wm/20); % 利用校正点处20lgb的对称性求解b
    w2 = 0.1*wc; % 校正装置第二个转折频率,校正点往前10倍频
    w1 = b*w2; %校正装置第1个转折频率(1/b倍频关系)
    Gclag = tf([1/w2,1],[1/w1,1]); % 滞后校正传函
    Gc = Gclag*Gclead; % 滞后超前校正函数
    G = Gc*G0; % 校正后系统
    bode(G0,Gc,G,{lb,ub});
    grid on
    [Gm,Pm,Wcg,Wcp]= margin(G); 
    title(['滞后超前校正: \gamma^*=',num2str(gamma),...
        '\circ, h^*>= 10 dB at w_c^*=20 rad/s. ',...
        '\gamma=',num2str(Pm),'\circ, h=',num2str(-20*log10(1/Gm)),...
        ' dB at w_c=',num2str(Wcp),' rad/s.']);
    legend('原系统G0','校正传函Gc','已校正系统G')
    
    展开全文
  • % 串联文件路径和文件名 fid = fopen(filep); %打开文件 row = 0; while feof(fid) % 是否读取到文件结尾 []=fgets(fid); row=row+1; end Data = importdata(filep);% for csv file fclose(fid); ```
  • Matlab设计串联超前校正 串联超前校正步骤: 1、确定原系统。 2、求解原系统相角裕度γ\gammaγ(γ\gammaγ不足)。 3、设计超前网络最大超前相角φmφ_mφm​,并距此来求解参数a。 4、根据10lga10lga10lga找出ωm...
  • <code>clear all close all clc % clear workspace m1 = 10; m2 =...运行之后显示串联数组维度不一致,这是为什么,从h1就开始显示,但是h1甚至不是矩阵?</p>
  • 变量- ARIMA Forcas Forcast 6x1double 变量-ARIMA Predict ARMA Predict 36x1double 代码如下: r=[14.94 14.22 12.19 10.78 10.53 11.25 11.95 13.71 14.43 14.61 13...错误使用 horzcat要串联的数组的维度不一致。
  • 今天看代码时,遇到了一个令我有点惊讶的一个赋值问题。 虽然是一个很小很小的问题,很多人可能都不会纠结一看就懂,但对于我来说还是攻克了一个难关涨了点姿势呀 下面附上我追根究底的简单代码: ...
  • 1、设置曲线路径运行 clear; clc; %建立机器人模型 %alpha:连杆扭角;? %a:连杆长度;? %theta:关节转角;? %d:关节距离;? %offset:偏移 % theta d a alpha offset L1=Link([0 0.4 0.025 ...L2=Link([pi/2 0 0.56 0
  • 1、数学建模 clear; clc; %建立机器人模型 % theta d a alpha offset L1=Link([0 0.4 0.025 pi/2 0 ]); %定义连杆的D-H参数 L2=Link([pi/2 0 0.56 0 0 ]); L3=Link([0 0 0.035 pi/2 0
  • MATLAB/Simulink 中的串联谐振(Series RLC)电路
  • 1、使用工具箱正反解计算 clear; clc; %建立机器人模型 %alpha:连杆扭角;? %a:连杆长度;? %theta:关节转角;? %d:关节距离;? %offset:偏移 % theta d a alpha offset ...L2=Link([pi/2 0 0.56 0 .
  • 这是关于参数辨识的S函数,代码如下: simulink图及错误提示如下图: 矩阵的维度我确认过几次了找不出问题,求老哥们解答 function [sys,x0,str,ts] = pmsmRLSm3(t,x,u,flag) switch flag case 0 [sys,x0,str,ts]=...
  • 1、手写矩阵函数myfkine.m %改进型D-H建模 function [T06]=myfkine(theta1,theta2,theta3,theta4,theta5,theta6) % theta d a alpha % 关节转角 关节距离 连杆长度 连杆扭角 MDH=[theta1 0.4 0.025 pi/2;...
  • 1、模型 %机械臂为六自由度机械臂 clear L; %角度转换 du=pi/180; %度 radian=180/pi;...% hand = 'Rz(q1).Tz(L1).Ry(q2).Tz(L2).Ry(q3).Tz(L3).Rx(q4).Tx(L4).Ry(q5).Rz(q6).Tz(L5)';...% dhand = DHFact
  • 运用MATLAB进行控制系统串联校正装置的设计.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,523
精华内容 1,009
关键字:

matlab串联

matlab 订阅