精华内容
下载资源
问答
  • matlab函数速查-matlab函数之程序设计.doc matlab函数分类速查,希望对你们有用
  • MATLAB 函数设计程序

    2010-03-13 14:30:48
    MATLAB 函数设计程序 SIN 函数
  • matlab函数优化设计方法,对matlab优化函数进行了较详细的说明。
  • matlab filter函数滤波器系数设计

    万次阅读 2018-05-04 16:42:30
    (2)与信号产生函数mstg相同,采样频率Fs=10kHz。(3)为了滤波器阶数最低,选用椭圆滤波器。(之后,再依次实现巴特沃斯、切比雪夫1、切比雪夫2数字滤波器)按照图2 所示的程序框图编写的实验程序为exp1.m。2、...
    说明:(1)为了使滤波器阶数尽可能低,每个滤波器的边界频率选择原则是尽量使滤波器过渡带宽尽可能宽。
    (2)与信号产生函数mstg相同,采样频率Fs=10kHz。
    (3)为了滤波器阶数最低,选用椭圆滤波器。(之后,再依次实现巴特沃斯、切比雪夫1、切比雪夫2数字滤波器)
    按照图2 所示的程序框图编写的实验程序为exp1.m。
    2、实验程序清单
    %实验1程序exp1.m
    % IIR数字滤波器设计及软件实现
    clear all;close all
    Fs=10000;T=1/Fs; %采样频率
    %调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st
    st=mstg;
    %低通滤波器设计与实现=========================================
    fp=280;fs=450;
    wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF指标(低通滤波器的通、阻带边界频)
    [N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆DF阶数N和通带截止频率wp
    [B,A]=ellip(N,rp,rs,wp); %调用ellip计算椭圆带通DF系统函数系数向量B和A
    y1t=filter(B,A,st); %滤波器软件实现
    % 低通滤波器设计与实现绘图部分
    figure(5);
    subplot(2,1,1);
    myplot(B,A); %调用绘图函数myplot绘制损耗函数曲线
    yt='y_1(t)';
    subplot(2,1,2);
    tplot(y1t,T,yt); %调用绘图函数tplot绘制滤波器输出波形
    %带通滤波器设计与实现====================================================
    fpl=440;fpu=560;fsl=275;fsu=900;
    wp=[2*fpl/Fs,2*fpu/Fs];ws=[2*fsl/Fs,2*fsu/Fs];rp=0.1;rs=60;
    [N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆DF阶数N和通带截止频率wp
    [B,A]=ellip(N,rp,rs,wp); %调用ellip计算椭圆带通DF系统函数系数向量B和A
    y2t=filter(B,A,st); %滤波器软件实现
    % 带通滤波器设计与实现绘图部分
    figure(3);
    subplot(2,1,1);
    myplot(B,A); %调用绘图函数myplot绘制损耗函数曲线
    yt='y_2(t)';
    subplot(2,1,2);
    tplot(y2t,T,yt); %调用绘图函数tplot绘制滤波器输出波形
    %高通滤波器设计与实现================================================
    fp=890;fs=600;
    wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF指标(低通滤波器的通、阻带边界频)
    [N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆DF阶数N和通带截止频率wp
    [B,A]=ellip(N,rp,rs,wp,'high'); %调用ellip计算椭圆带通DF系统函数系数向量B和A
    y3t=filter(B,A,st); %滤波器软件实现
    % 高低通滤波器设计与实现绘图部分
    figure(4);
    subplot(2,1,1);
    myplot(B,A); %调用绘图函数myplot绘制损耗函数曲线
    yt='y_3(t)';
    subplot(2,1,2);
    tplot(y3t,T,yt); %调用绘图函数tplot绘制滤波器输出波形

    function myplot(B,A)
    %时域离散系统损耗函数绘图
    %B为系统函数分子多项式系数向量
    %A为系统函数分母多项式系数向量
    [H,W]=freqz(B,A,1000);
    m=abs(H);
    plot(W/pi,20*log10(m/max(m)));grid on;
    xlabel('\omega/\pi');ylabel('幅度(dB)')
    axis([0,1,-80,5]);title('损耗函数曲线');

    function tplot(xn,T,yn)
    %时域序列连续曲线绘图函数
    % xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串)
    % T为采样间隔
    n=0:length(xn)-1;t=n*T;
    plot(t,xn);
    xlabel('t/s');ylabel(yn);
    axis([0,t(end),min(xn),1.2*max(xn)])

    function st=mstg
    N=2000
    Fs=10000;T=1/Fs;Tp=N*T;
    t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;
    fc1=Fs/10;
    fm1=fc1/10;
    fc2=Fs/20;
    fm2=fc2/10;
    fc3=Fs/40;
    fm3=fc3/10;
    xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t);
    xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t);
    xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t);
    st=xt1+xt2+xt3;
    fxt=fft(st,N);
    subplot(3,1,1)
    plot(t,st);grid;xlabel('t/s');ylabel('s(t)');
    axis([0,Tp/8,min(st),max(st)]);title('(a) s(t)的波形')
    subplot(3,1,2)
    stem(f,abs(fxt)/max(abs(fxt)),'.');grid;title('(b) s(t)的频谱')
    axis([0,Fs/5,0,1.2]);
    xlabel('f/Hz');ylabel('幅度');
    展开全文
  • matlab一些函数

    2019-11-17 16:57:23
    #matlab一些函数 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对...

    #matlab一些函数**

    matlab函数

    1、eye(n)、zeros(m,n)、ones(m,n)
    n阶单位阵,mn阶全为0矩阵、mn全为1矩阵
    在这里插入图片描述
    在这里插入图片描述
    2、length:求矩阵的长度
    在这里插入图片描述
    3、dot:两矩阵(包括复数)的点乘
    在这里插入图片描述
    在这里插入图片描述
    4、det:求矩阵的行列式值(用于求解方程组)
    在这里插入图片描述
    5、rank:求矩阵的秩
    在这里插入图片描述
    6、inv:求矩阵的逆矩阵(前提是det不等于0)
    在这里插入图片描述
    7、pinv:伪逆矩阵(当方程有无数组解时用它可以得到一组特解)
    8、rref:使用 Gauss-Jordan 消元法产生矩阵 A 降行后的梯形形式
    9、magic:。产生魔方矩阵(幻方)是一个 n×n 矩阵。矩阵的元素从 1 到 n2之间,并且行元素的和等于列元素的和。
    10、对矩阵进行LU\QR\SVD分解:
    LU:分解为一个上三角矩阵或者排列的上三角矩阵和一个下三角矩阵相乘
    QR:分解为一个正交矩阵于上三角矩阵
    SVD:另一种正交分解法【U,S,V】=svd(A),其中U和V分别代表两个正交矩阵,而S代表一对角矩阵

    展开全文
  • matlab 常用函数添加

    2011-05-07 00:29:25
    matlab 常用函数资源添加,将其添加到matlab 软件中即可调用这些常用函数了,这些函数都是设计IIR、FIR滤波器时常用的函数......
  • S函数的简介S函数是Simulink中提供给用户的一个自定义模块,由于在研究过程中经常需要复杂的算法设计,Simulink中提供的模块无法满足使用,就需要用编程的形式设计出S函数模块,然后嵌入到系统中。利用S函数,理论上...

    S函数的简介

    S函数是Simulink中提供给用户的一个自定义模块,由于在研究过程中经常需要复杂的算法设计,Simulink中提供的模块无法满足使用,就需要用编程的形式设计出S函数模块,然后嵌入到系统中。利用S函数,理论上可以在Simulink下对任意复杂的系统进行仿真

    S函数的一般定义形式

    function [sys,x0,str,ts] = sfunc(t,x,u,flag,P1,....,Pn)  %P1....Pn是自己定义的额外的参数% S函数模版%输入参数:%   t,x,u分别对应时间、状态、输入信号%   flag是标志位,S函数根据其执行不同的函数和功能%输出参数%   sys是一个通用的返回参数值,其数值根据flag的不同而不同%   x0为状态初始数值%   str在目前为止的matlab版本中并没有什么作用,一般令str = []%   ts为一个两列的矩阵,包含采样时间和偏移量两个参数switch flag    case 0 %系统初始化函数        [sys,x0,str,ts]=mdlInitializeSizes;    case 1 %计算连续变量的导数        sys=mdlDerivatives(t,x,u);    case 2 %更新离散状态变量        sys=mdlUpdate(t,x,u);    case 3 %计算S函数的输出        sys=mdlOutputs(t,x,u);    case 4 %计算下一仿真时刻        sys=mdlGetTimeOfNextVarHit(t,x,u);    case 9 %仿真结束调用这个函数        sys=mdlTerminate(t,x,u);    otherwise % 其他未知情况处理,用户可以自行定义        error(['Unhandled flag = ',num2str(flag)]);end%% 初始化函数function [sys,x0,str,ts]=mdlInitializeSizessizes = simsizes;sizes.NumContStates  = 0; %连续状态个数sizes.NumDiscStates  = 0; %离散状态个数sizes.NumOutputs     = 0; % 输出变量个数sizes.NumInputs      = 0;  % 输入变量个数sizes.DirFeedthrough = 1;   % 系统的输出是否直接与输入相关联  %即输入是否出现在输出端的标志。可以根据flag = 3 时,  %mdlOutputs函数是否调用输入u来判断是否直接馈通sizes.NumSampleTimes = 1;  %至少需要的采样时间sys = simsizes(sizes);x0  = [];  % 初始化条件str = [];  ts  = [0 0];      %初试化采样时间,[0,0]表示每个连续的采样时间步都在运行%[-1,0]表示按照所连接的模块的采样速率进行%[0.25,0.1]表示仿真开始的0.1s后每0.25s运行一次%采样时间点为TimeHit = n * period + offset            %% 进行连续状态变量的更新函数function sys=mdlDerivatives(t,x,u)sys = [];%%  进行离散状态变量的更新function sys=mdlUpdate(t,x,u)sys = [];%% 求系统的输出函数function sys=mdlOutputs(t,x,u)sys = [];%% 计算下一仿真时刻,由sys返回function sys=mdlGetTimeOfNextVarHit(t,x,u)sampleTime = 1;  %此处设置下一仿真时刻为1秒钟以后sys = t + sampleTime;%% 结束仿真子函数function sys=mdlTerminate(t,x,u)sys = [];

    S函数控制流程

    b8036a35be8ce30fb5ab3037a608dac3.png

    S函数控制流程

    调用流程通过flag标志来控制

    1. 设置flag=0,完成初始化
    2. 设置flag=3,请求S函数计算模块的输出
    3. 设置flag=2,更新离散状态,当用户还需要计算状态导数时,可设置flag=1,由求解器使用积分算法计算状态的值
    4. 设置flag=3,计算模块的输出

    不断重复上述过程,直到到达仿真时间,设置flag = 9,结束仿真。

    前期工作

    • 需要搞清楚模块的离散状态和连续状态有多少个
    • 需要搞清楚离散模块的采样周期
    • 需要了解模块的连续和离散的状态方程分别是多少
    展开全文
  • matlab函数大全-matlab函数大全.doc 比较白痴的东西,不过对初学者也许有用,特分享一下。不要喷我哦!函数具体用法可以用help查一下。附件内容与下面一样的。 Aabs 绝对值、模、字符的ASCII码值 acos 反余弦 ...
  • 15.4.2Kalman滤波器的设计这一节将讨论如何使用控制系统工具箱进行Kalman滤波器的设计和仿真。考虑下面的离散系统:x[n+1]=Ax[n]+B(u[n]+w[n])(5.9)y[n]=Cx[n](5.10)其中,w[n]是在输入端加入的高斯...

    1

    5.4.2

    Kalman

    滤波器的设计

    这一节将讨论如何使用控制系统工具箱进行

    Kalman

    滤波器的

    设计和仿真。

    考虑下面的离散系统:

    x

    n+1

    =Ax

    n

    +B(u

    n

    +w

    n

    )

    (5.9)

    y

    n

    =Cx

    n

    (5.10)

    其中

    , w

    n

    是在输入端加入的高斯噪声。

    状态矩阵参数分别

    A =

    1.1269-0.49400.1129

    1.0000

    0

    0

    0

    1.0000

    0

    ;

    B =

    -0.3832

    0.5919

    0.5191

    ;

    C =

    1

    0

    0

    ;

    我们的目标是设计

    Kalman

    滤波器

    ,

    给定输入

    u

    n

    和带噪

    输出测量值

    yv

    n

    =Cx

    n

    +v

    n

    ]的情况下估计系统的输出。

    其中

    ,

    v

    n

    ]是高斯白噪声。

    1

    )

    离散

    Kalman

    滤波器

    上述问题的稳态

    Kalman

    滤波器方程如下:

    测量值修正计算

    2

    )

    稳态设计

    我们可以通过

    kalman

    函数设计上述稳态滤波器。

    首先定义带噪

    声的系统模型:

    x

    n+1

    =Ax

    n

    +Bu

    n

    +Bw

    n

    (

    状态方程

    )

    y

    n

    =Cx

    n

    (

    测量方程

    )

    具体的程序代码如下:

    %

    注意

    :

    设置采样时间为

    -1

    表示模型为离散的

    Plant

    =

    ss

    (A,

    B

    B

    ,

    C,

    0,

    -1

    ,

    inputname

    ,

    {

    u

    w

    },

    outputname

    ,

    y

    );

    假设

    Q=R=1,

    下面可以设计离散

    Kalman

    滤波器:

    Q = 1; R = 1;

    kalmf, L, P, M

    = kalman(Plant, Q, R);

    函数将返回

    Kalman

    滤波器的状态模型

    kalmf

    修正增益

    M(

    G

    (

    n

    )

    )

    M =

    3.7980e-01

    8.1732e-02

    -2.5704e-01

    因为我们对输出估计

    ye

    比较感兴趣

    ,

    因此只需要保留

    kalmf

    的第一

    个输出。

    为此输入

    kalmf = kalmf(1, :);

    kalmf

    a =

    x1

    -e

    x2

    -e

    x3

    -e

    x1

    -e 0.7683-0.494 0.1129

    x2

    -e 0.62020

    0

    x3

    -e

    -0.0817321

    0

    b =

    u y

    x1

    -e

    -0.3832

    0.3586

    x2

    -e

    0.5919

    0.3798

    x3

    -e

    0.5191

    0.081732

    c =

    x1-e

    x2-e

    x3-e

    y -e

    0.6202

    0

    0

    d =

    u

    y

    y-e

    0

    0.3798

    I/O groups:

    Group name

    I/O

    Channel(s)

    KnownInput

    I

    1

    Measurement

    I

    2

    OutputEstimate

    O

    1

    Sampling time: unspecified

    Discrete

    time model.

    滤波器的功能是在已知输入噪声方差的条件下尽可能消除输出信

    号中的噪声影响。

    5.25

    显示了滤波前后的不同输出信号。

    下面用程序来比较滤波后输出信号与系统实际信号相对理想输

    出的误差。

    a = A;

    b =

    B B 0*B

    ;

    c =

    C;C

    ;

    d =

    0 0 0;0 0 1

    ;

    P

    =

    ss(a,b,c,d,-1,

    inputname

    ,

    {

    u

    w

    v

    },

    outputname

    , {

    y

    ′′

    yv

    });

    sys = parallel(P, kalmf, 1, 1,

    ,

    ) %

    创建并联系统

    %

    将系统输出

    yv

    正反馈到滤波器的输入端

    ,

    形成闭环系统

    SimModel = feedback(sys, 1, 4, 2, 1)

    %

    I/O

    列表中删除

    yv

    SimModel = SimModel(

    1 3

    ,

    1 2 3

    )

    %

    产生高斯噪声信号

    t =

    0:100

    ]′

    ;

    u = sin(t/5);

    n = length(t)

    randn(

    seed

    , 0)

    ^

    ^

    ^

    ^

    ^

    [

    |

    ]

    [

    |

    1]

    (

    [

    ]

    [

    |

    1])

    [

    1|

    ]

    [

    |

    ]

    [

    ]

    v

    x

    n

    n

    x

    n

    n

    M

    y

    n

    C

    x

    n

    n

    x

    n

    n

    A

    x

    n

    n

    Bu

    n

    (5.11)

    展开全文
  • MatLab简介和安装MatLab是综合高性能的数值计算软件, 集成了数值计算和可视化, 提供大量内置函数, 广泛用于科学计算等领域.Simulink是基于MatLab的框图设计环境, 用来对各种动态系统进行建模, 分析和方针....
  • MATLAB 实用函数

    2015-08-28 22:37:00
    mymail.m 可以利用MATLAB发送邮件(支持附件和群发),非常实用的函数,适用于:耗时很长的脚本完成后通知作者;外加定时器后用于信息推送;家庭监视器紧急通知等等 textwrite.m 可以将元胞数组写入文本文件当中,支持...
  • MATLAB函数大全

    2010-07-29 14:46:07
    包含矩阵及其基本运算函数,数值计算函数,符号运算函数,概率统计函数,绘图与图形处理函数,MATLAB程序设计函数,Silulink命令,图形用户界面设计函数,信号处理工具函数,符号数学工具箱函数等。
  • 所有的设计均是为了...采用这种准则进行滤波器设计函数就是firpm函数。 firpm函数语法的5种基本形式 b = firpm(n,f,a) b = firpm(n,f,a,w) b = firpm(n,f,a,'ftype') b = firpm(n,f,a,w,'ftype') [b,data] = f...
  • matlab函数速查

    2018-03-08 00:21:08
    MATLAB函数速查手册》较全面地介绍了MATLAB函数,主要包括MATLAB操作基础、矩阵及其基本运算、与数值计算相关的基本函数、符号运算的函数、概率统计函数、绘图与图形处理函数MATLAB程序设计相关函数、Simulink...
  • 本文内容:系统的频域分析操作环境:matlab2019b简单说一下频域法,时域分析法可以用来测试控制系统的性能,但是高阶系统的时域特性很难确定,科学家们就通过频率特性间接研究系统的动态响应,避免了分析高阶微分...
  • 本文内容:状态反馈与状态观测器操作环境:matlab2019b一、状态反馈与极点配置无论是经典控制理论还是现代控制理论,反馈都是系统设计的主要手段。在现代控制理论中首先用的是将状态变量作为反馈的这种方式一个系统...
  • MAtlab函数法和双线性变换法设计FIR滤波器和IIR滤波器-DSP.doc 这是我以前的DSP实验报告 鄙人愚钝,程序难免有不当之处,仅供参考 单声道音频信号不能上传,各位可以自己做一个 实验要求、 先采集一...
  • 10.3Matlab 匿名函数、子函数

    千次阅读 2016-12-08 19:39:52
    1.匿名函数 匿名函数没有函数名,也不是函数M文件,只包含一个...函数句柄是一种间接访问函数的途径,可以使用户调用函数变得简单,减少了程序设计中的繁杂,而且可以在执行函数调用过程中保存相关信息。 input1
  • 采用 MATLAB 滤波器函数快速 设计数字滤波器的方法 IIR 滤波器设计 ? 基于 IIR 滤波器的特性必须首先理解滤波 器的 3 种描述形式并建立其关系 ? 冲击响应线性系统时域基本的输入输出 ... 巴特沃斯设计函数 butter/butta
  • Matlab基于窗函数的滤波器设计详细报告。
  • MATLAB GUI界面 不同MP3播放器的均衡器设置不尽相同,以两个韩系高端品牌iRiver和iAUDIO为例,两者的EQ均衡器同分为5个频段,但是频段的划分并不一样。iRiver的产品EQ分为五段:50Hz档、200Hz档、1KHz档、3KHz档和...
  • 关于滤波器设计实现的Matlab 函数 分类 函数名 功能说明 abs 求模值 angle 求相角 freqs 模拟滤波器的频率响应 滤波器分析 freqz 数字滤波器的频率响应 求幅频相频响应 grpdelay 群延迟 impz 脉冲响应 离散的 zplane...
  • 武汉理工大学Matlab 课程设计报告 课程设计任务书 学生姓名 专业班级 通信 0705 指导教师 工作单位 信息工程学院 题 目:基于窗函数设计的数字带通 FIR 滤波器 初始条件 MATLAB 软件 数字信号处理与图像处理基础...
  • MATLAB IIR滤波器设计函数buttord与butter

    千次阅读 多人点赞 2020-04-21 11:44:04
    设计巴特沃斯IIR滤波器可使用butter函数和buttord函数。 第一:使用buttord函数先求得最小阶数和截止频率:[n,Wn]= buttord(Wp,Ws,Rp,Rs)。 理解:上式中n代表滤波器阶数,Wn代表滤波器的截止频率,这两个参数可使用...
  • matlab常用函数大全

    2010-06-20 10:28:18
    16.8 二维线性滤波器的设计 16.9 图像变换 16.10 邻域及块处理 16.11 二值图像操作 16.12 图像的区域处理 16.13 色图操作 16.14 色彩空间变换 16.15 图像类型判断及其转换 16.16 图像处理演示函数
  • [本文来自本人的公众号,感兴趣的可以关注,定期发布一些技术文章]前言上一篇主要介绍了通过matlab提供的plot函数,可以非常方便地绘制函数曲线。本篇在上一篇的基础上,绘制数学或其他工程领域常见的微积分方程。...
  • (一) Matlab 编程入门 Matlab 编程简介 Matlab 作为一种广泛应用于科学计算的工具软件不仅具有强大的数值计算符号计算矩阵运算能力和丰富的绘图功能同时也具有和 CFORTRAN 等高级语言一样进行程序设计Matlab ...
  • 设计实例1;设计实例1;设计实例1;设计实例1;设计实例1;设计实例1;设计实例1;设计实例2;设计实例2;设计实例2;设计实例2;设计实例2;设计实例2;设计实例2;设计实例2;Slide 20;Slide 21;第1部分 MATLAB基础;1.1 MATLAB...

空空如也

空空如也

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

matlab设计函数

matlab 订阅