精华内容
下载资源
问答
  • MATLAB常用函数及常见错误,包含一些基本的操作,适合入门学习使用。
  • error函数()

    千次阅读 2018-10-21 15:10:56
    输出显示行和中止函数 error Display message and abort function. error(MSGID, ERRMSG, V1, V2, …) displays a descriptive message ERRMSG when the currently-running program encounters an error ...

    输出显示行和中止函数

    error Display message and abort function.
    error(MSGID, ERRMSG, V1, V2, …) displays a descriptive message
    ERRMSG when the currently-running program encounters an error
    condition. Depending on how the program code responds to the error,
    MATLAB then either enters a catch block to handle the error condition,
    or exits the program.

    MSGID is a unique message identifier string that MATLAB attaches to the
    error message to better identify the source of the error (see MESSAGE
    IDENTIFIERS, below). 
    
    ERRMSG is a character string that informs the user about the cause of
    the error and can also suggest how to correct the faulty condition. 
    The ERRMSG string may include predefined escape sequences, such as 
    \n for newline, and conversion specifiers, such as %d for a decimal 
    number.
    
    Inputs V1, V2, etc. represent values or substrings that are to
    replace conversion specifiers used in the ERRMSG string. The format 
    is the same as that used with the SPRINTF function.
    
    error(ERRMSG, V1, V2, ...) reports an error without including a 
    message identifier in the error report.
    
    error(ERRMSG) is the same as the above syntax, except that the ERRMSG
    string contains no conversion specifiers, no escape sequences, and no
    substitution value (V1, V2, ...) arguments.
    
    error(MSGSTRUCT) reports the error using fields stored in the scalar
    structure MSGSTRUCT. This structure can contain these fields:
    
        message    - Error message string
        identifier - See MESSAGE IDENTIFIERS, below
        stack      - Struct similar to the output of the DBSTACK function
    
    If MSGSTRUCT is an empty structure, no action is taken and error
    returns without exiting the program. If you do not specify the
    stack, the error function determines it from the current file and line.
    
    MESSAGE IDENTIFIERS
    A message identifier is a string of the form
    
        [component:]component:mnemonic
    
    that enables MATLAB to identify with a specific error. The string
    consists of one or more COMPONENT fields followed by a single
    MNEMONIC field. All fields are separated by colons. Here is an
    example identifier that has 2 components and 1 mnemonic.
    
        'myToolbox:myFunction:fileNotFound'
    
    The COMPONENT and MNEMONIC fields must begin with an 
    upper or lowercase letter which is then followed by alphanumeric  
    or underscore characters. 
    
    The COMPONENT field specifies a broad category under which 
    various errors can be generated. The MNEMONIC field is a string 
    normally used as a tag related to the particular message.
    
    From the command line, you can obtain the message identifier for an 
    error that has been issued using the MException.last function. 
    
    展开全文
  • matlab中S函数的概念及使用

    万次阅读 多人点赞 2018-04-08 21:03:31
    有时需要用到复杂的算法设计等,而这些算法因为其复杂性不适合用普通的Simulink模块来搭建,即matlab所提供的Simulink模块不能满足用户的需求,需要用编程的形式设计出S函数模块,将其嵌入到系统。如果恰当地使用S...

      S函数即系统函数System Function的意思,为什么要使用S函数呢?是因为在研究中,有时需要用到复杂的算法设计等,而这些算法因为其复杂性不适合用普通的Simulink模块来搭建,即matlab所提供的Simulink模块不能满足用户的需求,需要用编程的形式设计出S函数模块,将其嵌入到系统中。如果恰当地使用S函数,理论上,可以在Simulink下对任意复杂的系统进行仿真。

        S函数具有固定的程序格式,用matlab语言可以编写S函数,此外还允许用户使用C、C++、Fortran和Ada等语言进行编写,用非matlab语言进行编写时,需要采用编译器生成动态链接库DLL文件。

    在主窗口中输入sfundemos,或者点击Simulink->User-Defined Functions->S-Function Examples,即可出现如图1所示的界面,可以选择对应的编程语言查看演示文件。

    略谈matlab中S函数的概念及使用

    图1 S函数范例库

    Matlab为了用户使用方便,有一个S函数的模板sfuntmpl.m,一般来说,我们仅需要在sfuntmpl.m的基础上进行修改即可。在主窗口输入edit sfuntmpl即可出现模板函数的内容,可以详细地观察其帮助说明以便更好地了解S函数的工作原理。模板函数的定义形式为function[sys,x0,str,ts]=sfuntmpl(t,x,u,flag),一般来说,S函数的定义形式为[sys,x0,str,ts]=sfunc(t,x,u,flag,p1,…Pn),其中的sfunc为自己定义的函数名称,以上参数中,t、x、u分别对应时间、状态、输入信号,flag为标志位,其取值不同,S函数执行的任务和返回的数据也是不同的,pn为额外的参数,sys为一个通用的返回参数值,其数值根据flag的不同而不同,x0为状态初始数值,str在目前为止的matlab版本中并没有什么作用,一般str=[]即可,ts为一个两列的矩阵,包含采样时间和偏移量两个参数,如果设置为[0 0],那么每个连续的采样时间步都运行,[-1 0]则表示按照所连接的模块的采样速率进行,[0.25 0.1]表示仿真开始的0.1s后每0.25s运行一次,采样时间点为TimeHit=n*period+offset。

    S函数的使用过程中有2个概念值得注意:1、direct feedthrough,系统的输出是否直接和输入相关联,即输入是否出现在输出端的标志,若是为1,否则为0,一般可以根据在flag=3的时候,mdlOutputs函数是否调用输入u来判断是否直接馈通。2、dynamically sized inputs,主要给出连续状态的个数、离散状态的个数、输入数目、输出数目和直接馈通否。

    S函数中目前支持的flag选择有0、1、2、3、4、9等几个数值,下面说一下在不同的flag情况下S函数的执行情况。1)flag=0。进行系统的初始化过程,调用mdlInitializeSizes函数,对参数进行初始化设置,比如离散状态个数、连续状态个数、模块输入和输出的路数、模块的采样周期个数、状态变量初始数值等。2)flag=1。进行连续状态变量的更新,调用mdlDerivatives函数。3)flag=2。进行离散状态变量的更新,调用mdlUpdate函数。4)flag=3。求取系统的输出信号,调用mdlOutputs函数。5)flag=4。调用mdlGetTimeOfNextVarHit函数,计算下一仿真时刻,由sys返回。6)flag=9。终止仿真过程,调用mdlTerminate函数。

    略谈matlab中S函数的概念及使用

    图2 不同flag情况下S函数执行情况

    在实际仿真过程中,Simulink会自动将flag设置为0,进行初始化过程,然后将flag的数值设置为3,计算模块的输出,一个仿真周期后,Simulink将flag的数值先后设置为1和2,更新系统的连续和离散状态,再将其设置为3,计算模块的输出,如此循环直至仿真结束条件满足。 

    在S函数的编写过程中,首先需要搞清楚模块中有多少个连续和离散状态,离散模块的采样周期是如何的,同时需要了解模块的连续和离散的状态方程分别是什么,输出如何表示。下面以实例说明S函数的具体应用。

    实例一:在进行BLDC的速度电流双闭环控制时候,如果电流采用滞缓控制,那么速度环的输出作为参考电流的输入IsABC三相的参考电流分别为I_arI_brI_cr,转子的位置记为Pos,那么转子位置和三相参考电流之间的关系表如图3所示。

    略谈matlab中S函数的概念及使用

    图3 转子位置和三相参考电流的关系表

    分析系统情况:输入为两路,一是角度Angle,通过mod(angle,2*pi)转化为Pos,二是参考电流输入Is,输出为三路,分别为A、B、C的三相参考电流,离散和连续的状态均为0,输入端出现在输出端,将S函数命名为given_current,其程序代码如下所示:

    %参考电流模块

    %Author:dingqian12345@126.com

    %很明显:2个输入分别为角度和速度控制器的输出、3个输出为三相电流的参考电流、为直通模型

    function [sys,x0,str,ts]=cemf(t,x,u,flag)

    clc;

    switch flag

        case 0

            [sys,x0,str,ts]=mdlInitializeSizes;     %初始化

        case 1

            sys=[];                                 %连续状态的更新

        case 2

            sys=[];              %离散状态的更新

        case 3

            sys=mdlOutputs(u);                      %求取系统的输出信号

        case 4

            sys=[];                                 %计算下一时刻的仿真时间

        case 9

            sys=[];                                 %终止仿真

        otherwise

            error(['Unhandled flag=',num2str(flag)]);

    end

    %%%%%在flag=0的时候进行整个系统的初始化

    function [sys,x0,str,ts]=mdlInitializeSizes

    sizes = simsizes;            %读入初始化参数模板

    sizes.NumContStates  = 0;    %连续状态个数

    sizes.NumDiscStates  = 0;    %离散状态个数

    sizes.NumOutputs     = 3;    %输出变量个数

    sizes.NumInputs      = 2;    %输入信号个数

    sizes.DirFeedthrough = 1;    %输入直接传入输出信号否

    sizes.NumSampleTimes = 1;    % at least one sample time is neededWO  一般来说为1个

    sys = simsizes(sizes);

    x0=[];    %状态初始化

    str=[];

    ts=[-1 0];    %采样周期若写成-1表示继承其输入信号

    %%%%%%在flag=1的时候进行连续系统状态的更新

    function sys=mdlDerivatives(t,x,u)

    sys = [];

    %%%%%%在flag=2的时候进行离散系统状态的更新

    function sys=mdlUpdates

    %sys(1,1)=x(1)+T*x(2);                %为什么会写成这样呢

    %sys(2,1)=x(2)+T*fst2(x,u,r,h);

    %%%%%%在flag=3的时候进行系统输出信号的求取

    function sys=mdlOutputs(u)

    m=current_dq(u(1),u(2));

    sys(1,1)=m(1);

    sys(2,1)=m(2);

    sys(3,1)=m(3);

    %%%%%%在flag=4的时候进行下一时刻仿真时间的计算

    function sys=mdlGetTimeOfNextVarHit(t,x,u)

    %sampleTime = 1;    %  Example, set the next hit to be one second later.

    %sys = t + sampleTime;

    %%%%%%在flag=9的时候终止仿真过程

    function sys=mdlTerminate(t,x,u)

    %sys = [];

        如果某个flag对应的函数不起作用,我们将其所调用的函数设为空或者sys=[],为了保持模块化以便思路清晰和方便扩充,一般不要使用case {1,4,9 }的形式,而是一个一个的列出。在以上代码中,在flag=3的时候调用了自编的子程序m=current_dq(u(1),u(2))current_dq的代码如下:

    %%%%%%用户自定义子程序

    function x=current_dq(angle,current)

    pos=mod(angle,2*pi);

    x(1)=current;

    x(2)=-current;

    x(3)=0;

    if 0<=pos && pos<pi/3

         x(1)=current;

         x(2)=-current;

         x(3)=0;

    end

    if pi/3<=pos && pos<2*pi/3

         x(1)=current;

         x(2)=0;

         x(3)=-current;

    end

    if 2*pi/3<=pos && pos<pi

        x(1)=0;

        x(2)=current;

        x(3)=-current;

    end

    if pi<=pos && pos<4*pi/3

        x(1)=-current;

        x(2)=current;

        x(3)=0;

    end

    if 4*pi/3<=pos && pos<5*pi/3

        x(1)=-current;

        x(2)=0;

        x(3)=current;

    end

    if 5*pi/3<=pos && pos<2*pi

       x(1)=0;

       x(2)=-current;

       x(3)=current;

    end

        S函数的代码完成后,下面进行Simulink模块的搭建,如图4所示,其中的S-Function模块提取路径为Simulink->User-Defined Functions->S-Function,双击S-Function模块,在name行中输入函数名称given_current即可,仿真结果如图5所示。

    略谈matlab中S函数的概念及使用

    图4 参考电流模块Simulink测试图

    略谈matlab中S函数的概念及使用

    图5 参考电流模块测试结果

        实例二:我觉得对于不做理论研究的我来说,如果用到S函数的话,一般的情况就如实例一的情况那样,没有离散和连续的状态,只需要对输入做某些运算或者判断就可。上学期学的一门交流调速的课程,问题稍微复杂一点,在此也说一下。

        对于含有齿隙环节的闭环系统,系统控制量反映了系统运动方向的变化,可以对系统控制量U加一个补偿量Ucomp以缩短系统在齿隙内的运行时间,补偿控制系统框图如图6所示。具体的补偿规则为:

    if U(k)>0 and U(k-1)<=0 then flag=1
    if U(k)<0 and U(k-1)>=0 then flag=1 Ucomp=flag*const*exp(-t/T0)

    略谈matlab中S函数的概念及使用

    图6 补偿控制系统框图

        分析系统情况:需离散状态变量,系统状态方程X1(k+1)=U(k)、X2(k+1)=f(X1(k),U(k)),其中f代表一个如上等式所示的关系,输出Y= flag*const*exp(-t/T0),因此得到如下的信息,输入为一路,即为图6中的u,输出为一路,连续状态个数为0,离散状态个数为2,输入端不出现在输出端,将S函数命名为comp,根据以上分析,其程序代码如下所示:

    %Author:dingqian12345@126.com

    %Note:实现基于规则的补偿算法

    %2个离散状态、0个连续状态、1个输入信号、1个输出信号、输出不涉及输入信号

    function [sys,x0,str,ts]=comp(t,x,u,flag)

    clc;

    global Cflag;

    global Cont;

    global T0;

    Cont=20;

    T0=1.5;

    switch flag

        case 0

            [sys,x0,str,ts]=mdlInitializeSizes; %初始化

        case 1

            sys=mdlDerivatives(t,x,u);          %连续状态的更新

        case 2

            sys=mdlUpdates(t,x,u);              %离散状态的更新

        case 3

            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

    %%%%%在flag=0的时候进行整个系统的初始化

    function [sys,x0,str,ts]=mdlInitializeSizes

    sizes = simsizes;            %读入初始化参数模板

    sizes.NumContStates  = 0;    %连续状态个数

    sizes.NumDiscStates  = 2;    %离散状态个数

    sizes.NumOutputs     = 1;    %输出变量个数

    sizes.NumInputs      = 1;    %输入信号个数

    sizes.DirFeedthrough = 0;    %输入直接传入输出信号否

    sizes.NumSampleTimes = 1;    % at least one sample time is neededWO  一般来说为1个

    sys = simsizes(sizes);

    x0=[0;0];        %状态初始化

    str=[];

    ts=[-1 0];    %采样周期若写成-1表示继承其输入信号

    %%%%%%在flag=1的时候进行连续系统状态的更新

    function sys=mdlDerivatives(t,x,u)

    sys = [];

    %%%%%%在flag=2的时候进行离散系统状态的更新

    function sys=mdlUpdates(t,x,u)

    global Cflag;

    global Cont;

    global T0;

    Cflag=comp_decide(t,x,u);

    sys(1,1)=u;

    sys(2,1)=Cflag*Cont*exp(-t/T0);

    %%%%%%在flag=3的时候进行系统输出信号的求取

    function sys=mdlOutputs(t,x,u)

    sys=x(2);

    %%%%%%在flag=4的时候进行下一时刻仿真时间的计算

    function sys=mdlGetTimeOfNextVarHit(t,x,u)

    %sampleTime = 1;    %  Example, set the next hit to be one second later.

    %sys = t + sampleTime;

    %%%%%%在flag=9的时候终止仿真过程

    function sys=mdlTerminate(t,x,u)

    sys = [];

        可以看出,这里的S函数比实例1的S函数多用到了离散状态更新函数mdlUpdates,注意状态的更新方程的写法,sys=x(n+1),可以通过help sfuntmpl查看。在以上代码中,在flag=2的时候调用了自编的子程序m=comp_decide(t,x,u),comp_decide的代码如下:

    %%%%%%用户自定义子程序

    function cc=comp_decide(t,x,u)

    cc=0;

    if u>0 && x(1)<=0

        cc=1;

    end;

    if u<0 && x(1)>=0

        cc=-1;

    end;

        最后,将S函数嵌入到Simulink中,所搭建的补偿仿真框图如图7所示,我们通过Scope4观察控制量U和补偿Ucomp,其中cont为20,To=1.5。图8为补偿系统中U和Ucomp仿真结果局部放大图,可见,系统可以捕捉到控制量过零点的时刻并给出相应的补偿量。

    略谈matlab中S函数的概念及使用

    图7 补偿系统Simulink仿真框图

    略谈matlab中S函数的概念及使用

    图8 补偿系统中U和Ucomp仿真结果局部放大图

     

    参考文献

    [1] 薛定宇 著.控制系统仿真与计算机辅助设计[M].北京:机械工业出版社出版社,2009.

    [2] 很好的S函数学习资料-Simulink的S-Function编写指导[EB/OL].

    http://www.ilovematlab.cn/thread-71226-1-1.html.[2010-12-26].

    [3] Simulink-s_function使用及应用举例[EB/OL].

    http://www.ilovematlab.cn/thread-62299-1-1.html.[2010-12-26].

    [4] 祁麟.交流伺服系统齿隙非线性控制及其网络化研究[D].硕士论文.南京理工大学,2006.

     

    2010年12月26日晚上完成于njust 电工楼 310房间

     

    CopyRight:版权所有若需转载或使用请联系作者
    Email:dingqian12345@126.com

    展开全文
  • matlab中randi函数替换randint函数

    千次阅读 2020-07-19 16:52:06
    最近在跑matlab仿真代码,遇到很多函数名改变的问题,通常是两个函数作用相同,但是用法不同,randi函数替换randint函数是我最近遇到比较频繁的问题。 报错: compare_DFT_spreading 函数或变量 'randint' 无法识别...

    最近在跑matlab仿真代码,遇到很多函数名改变的问题,通常是两个函数作用相同,但是用法不同,randi函数替换randint函数是我最近遇到比较频繁的问题。

    报错:

    compare_DFT_spreading
    函数或变量 'randint' 无法识别。
    

    修改方法:

    新函数randi([0,1],2,1)等价于老函数randint(2,1)

       mod_sym = A*modulate(mod_object,randi([1,M-1],1,Ndb));
       %mod_sym = A*modulate(mod_object,randint(1,Ndb,M));原代码
    

    原理:

    randint的功能:randint在MATLAB中用于产生基质的均匀分布的随机整数。
    randint用法:M = randint ,则产生一个“ 0 ”或“ 1 ”等概率。
    M = randint(N)
    则生成的N矩阵的随机二进制数字,“ 0 ”和“ 1 ”出现的概率均等。
    M= randint(A,B)
    则生成的(A,B) 矩阵的随机二进制数字,“ 0 ”和“ 1 ”出现的概率均等。
    M = randint(A,B,range)
    则生成的(M,N) 矩阵的随机二进制数字,RANGE 范围可以是标量或向量:
    标量 :为正的话,取值为[0,range-1] ,为负的话,取值为 [range+1, 0]。
    向量 : 取值为[range(1), range(2)]。

    randi的功能:此 MATLAB 函数 返回一个介于 1 和 imax 之间的伪随机整数标量。
    randi用法
    M = randi([imin,imax],m,n)
    参数解释:
    [imin,imax]表示生成的伪随机数为闭区间[imin,imax]上的所有整数,m,n表示生成伪随机矩阵是m*n维

    展开全文
  • matlab中biterr函数方法

    千次阅读 2020-12-03 20:13:50
    作用以及用法 计算二进制比特流的汉明距以及误码率, biterr Compute number of bit errors and bit error rate. 语法形式如下: [num,ratio] = biterr(X,Y) , 返回输入参数X和Y之间对应二进制比特流不同位的和以及...

    作用以及用法

    • 计算二进制比特流的汉明距以及误码率, biterr Compute number of bit errors and bit error rate.
    • 语法形式如下: [num,ratio] = biterr(X,Y) , 返回输入参数X和Y之间对应二进制比特流不同位的和以及不同位数总和占所需最少bit位数总和的比例;前者也称汉明距,后者称为误码率。有点绕,举例如下
    >>> help biterr
    >>> 
        [NUMBER,RATIO] = biterr(X,Y) compares the unsigned binary representation of
        the elements in the two matrices X and Y.  X and Y must be logical or
        integer valued. The number of differences in the binary representation is
        output in NUMBER.  The ratio of NUMBER to the total number of bits used in
        the binary representation is output in RATIO. The same number of bits is
        used to represent each element in both X and Y. The number of bits used is
        the smallest number required to represent the largest element in either X or
        Y.  When one of the inputs is a matrix and the other is a vector the
        function performs either a column-wise or row-wise comparison based on the
        orientation of the vector.
    
    
    • 举例说明
        Examples 1:
    >> [num, error] = biterr(85,118) ;
        num = 3
        error = 0.4286
        
        Examples 2:
      >>         A = [1 2 3; 1 2 2];
       >>        B = [1 2 0; 3 2 2];
     
       >>      [Num1, Rat1] = biterr(A,B)        
       Num1 = 3
       Rat1 = 0.25
    
     Examples 3:
        In addition to the two matrices, two optional parameters can be given:
        [NUMBER,RATIO] = biterr(..., K)  The number of bits used to represent
        each element is given by K.  K must be a positive scalar integer no
        smaller than the minimum number of bits required to represent the
        largest element in both input matrices.
    >>  A = [1 2 3; 1 2 2];
           B = [1 2 0; 3 2 2];
    >> [n,r] = biterr(A,B,4) %% 
    n =
         3
    r =
        0.1250
    
    
    • exam1中的参数均为scale标量,将其转为二进制用八位分别表示为"01010101", “01110110” ,但在这里,参数的bit位是两者最大数所需的最少bit位为7,即"1010101", “1110110” ,对应文档中The number of bits used is the smallest number required to represent the largest element in either X or Y. 显然,两者不等的个数有3位,即汉明距=3, 误码率为3/7, 约等于0.4286
    • exam2中的参数均为向量,确定向量所有元素中最大数对应的最少二进制bit位数,最大元素3用二进制表示最少位数=2,所以A和B二进制分别表示为"01 10 11 01 10 10"、“01 10 00 11 10 10”,显然,汉明距=3,误码率为3/12 = 0.25
    • exam3中的参数为矩阵,当K未指定时,元素表示的bits位数是通过所有向量元素中最大数对应的最少bit位数确定,若指定,则等于K,因此,K=4, A和B二进制分别表示为"0001 0010 0011 0001 0010 0010"、“0001 0010 0000 0011 0010 0010”,显然,汉明距=3,误码率为3/24 = 0.125

    汉明距

    • 汉明距指的是这两个数对应二进制位流在相同位置不等的总和
    #utf-8
    def hammingDistance(x, y):
           """
           :type x: int
           :type y: int
           :rtype: int
           """
           return bin(x^y).count("1")
       
    def hanmingDist( bitstream1, bitstream2):
           """
           input binarized string 
           output distance
           """
           arr_1 = np.asarray([int(i) for i in bitstream1])
           arr_2 = np.asarray([int(i) for i in bitstream2])
           count = np.count_nonzero(arr_1 != arr_2)
           return count
    
    if __main__ == "__name__":
    	bit1= "01010101" # = 85
    	bit2= "01110110" # = 118
    	print(hanmingDist(bit1, bit2)) # 3
    	x1 = int(bit1,2) #转十进制
    	x2 = int(bit2,2) 
    	print(hammingDistance(x1,x2)) #3
    	
    
    展开全文
  • Matlab中函数句柄@

    万次阅读 多人点赞 2016-02-19 20:57:38
    Matlab中函数句柄简介及应用。
  • matlab函数大全-matlab函数大全.doc 比较白痴的东西,不过对初学者也许有用,特分享一下。不要喷我哦!函数具体用法可以用help查一下。附件内容与下面一样的。 Aabs 绝对值、模、字符的ASCII码值 acos 反余弦 ...
  • MATLAB中用fit拟合sin函数时,输出的系数有个errorbar范围。 求问这个系数怎么用代码输出? ![图片说明](https://img-ask.csdn.net/upload/201905/07/1557208578_931259.png) ``` c1=zeros(1,3); z=...
  • MATLAB函数速查手册

    千次阅读 多人点赞 2018-03-25 09:06:26
    MATLAB函数速查手册》较全面地介绍了MATLAB函数,主要包括MATLAB操作基础、矩阵及其基本运算、与数值计算相关的基本函数、符号运算的函数、概率统计函数、绘图与图形处理函数MATLAB程序设计相关函数、Simulink...
  • MATLAB中的 fskdemod 函数

    千次阅读 2019-09-14 12:08:39
    % Error checks ----------------------------------------------------------------- if (nargin )  error(message('comm:fskdemod:numarg1')); end if (nargin > 6)  error(message('comm:fskdemod:...
  • Matlab图像处理函数大全(建议收藏)

    千次阅读 多人点赞 2020-12-11 20:32:01
    文章目录第1章: 图像显示与图像文件输入输出函数第2章: 图形绘制第3章: 图像类型和类型转换第4章: 图形用户界面工具第5章: 空间变换和图像配准第6章: 图像分析和统计第7章: 图像代数运算第8章: 图像增强第9...
  • matlab常用函数

    千次阅读 2019-09-07 16:33:57
    open:打开文件,文本文件(*.doc),可执行文件(*.exe),图形文件(*.fig),超文本文件(*.html,*.htm),MATLAB数据库文件(*.mat),simulink模型文件*.mdl),MATLAB p文件(*.p),PDF文件(*,pdf),PPT...
  • matlab中errorbar和shadedErrorBar

    万次阅读 2017-11-29 14:35:02
    ErrorBar(误差棒图),是统计学常用的图形。ErrorBar图涉及到数据的“平均值”和“标准差”。 下面举例子理解误差棒图涉及到的“平均值”和“标准差”。 某地降雨量的误差棒图[1]如图1所示,从横纵1月份的...
  • 有时候函数记不住,不如看看文档。这是关于Matlab函数手册,内容还是比较全的,希望对大家有所帮助。
  • Matlab中readmatrix函数用法

    千次阅读 2020-12-25 14:08:25
    readmatrix函数从文件读取矩阵。 A = readmatrix(filename) A = readmatrix(filename,opts) A = readmatrix(___,Name,Value) 说明 A = readmatrix(filename)通过从文件读取列向数据来创建数组。readmatrix...
  • 一、Boxplot 箱线图、 1、boxplot 函数、 2、代码示例、 二、Error Bar 误差条线图、 1、errorbar 函数、 2、代码示例、
  • Matlab编程算法S函数的使用方法

    千次阅读 2020-08-17 15:16:17
    Matlab编程,涉及复杂的多输入输出编程时,S函数为使用率极高的一个函数,其能很好的完成Matlab和Simulink的联合仿真,下面将使用matlab R2019b展开详细的讲解。 二.机器学习和ACC简介 增强学习也被称为强化学习...
  • 此例程计算线性函数的中值平方误差,并可与 fminsearch 一起用作稳健的线性回归(请参阅帮助 LinearMedianSquaredError)。 扩展示例代码以处理非线性函数并最小化其他误差函数(例如,最小绝对误差)应该非常容易...
  • matlab的m函数入门1

    千次阅读 2018-12-26 22:36:46
    参看别人的文章和代码,对每一句代码进行分析,从而达到 matlab的 m函数入门,针对 matlab 的 m 函数小白。(注意 m函数名称和m文件一致 参见 matlab知识积累,同时需要知道希尔伯特矩阵) 2. 代码及其解析 function ...
  • matlab fun函数问题

    千次阅读 2019-10-09 10:37:42
    matlab fun函数问题 for i=1:sizepop pop(i,:)=5*rands(1,2); %初始种群,保持范围一致,输入为两个,产生两组 V(i,:)=rands(1,2); %初始化速度 两组 %计算适应度 fitness(i)=fun(pop(i,:)); end 下面是fun函数 ...
  • Matlab常用函数和命令大全

    千次阅读 多人点赞 2021-02-07 11:59:33
    path 设置或查询Matlab路径 附录1.2管理变量与工作空间用命令 函数名 功能描述 函数名 功能描述 clear 删除内存的变量与函数 pack 整理工作空间内存 disp 显示矩阵与文本 save 将工作空间的变量存盘 ...
  • I=imread(filename); imshow(I,map);Error:未定义函数或变量 'map'。Solution:[I,map]=imread(filename); imshow(I,map);
  • Matlab中函数

    千次阅读 2018-05-16 17:13:24
    不过,后来,我发现很多MATLAB中的命令是命令的同时也是函数。  慢慢地,使用函数的频率是要多余命令多一些。本来这个没有优劣之分,何况很多时候我甚至感觉不到他们的差异。不过,两者有差异是肯定的,不仅仅在于...
  • Matlab常用数值计算函数总结

    千次阅读 2018-11-21 11:54:26
    MATLAB提供的求数据序列的最大值和最小值的函数分别为max和min,两个函数的调用格式和操作过程类似。   1.1 求向量的最大值和最小值 求一个向量X的最大值的函数有两种调用格式,分别是: (1) y=max(X):返回向...
  • Matlab中S-函数的编写

    万次阅读 多人点赞 2017-03-01 12:11:13
    S-函数使Simulink的功能大大扩充,除Mmatlab外,用户还可以用其他语言(C/C++/FORTRAN/Ada)编写实现算法,很强大的同时也对使用者提出了较高的要求。下面是编写S-函数的整个流程: 0 基础知识 (1)Simulink...
  • matlab 高级绘图函数

    千次阅读 2018-05-23 21:48:59
      matlab高层绘图函数即是指Matlab提供了一系列的绘图函数,这些绘图函数使得用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形。与高级绘图函数的相对的是,低级绘图函数,这我们放在在...
  • MATLAB函数拟合使用

    万次阅读 多人点赞 2019-06-07 18:37:56
    1 函数命令拟合 最常用的函数拟合命令为fit,语法为| [拟合结果 拟合精度]=fit(X数据,Y数据,‘拟合类型’) 其中,具体的拟合类型可以参看帮助文档,也可以使用fittype来自定义新的函数类型,比如定义拟合函数...
  • matlab中chol函数用法

    万次阅读 2015-12-21 16:28:41
    Cholesky分解: ...MATLAB函数chol(X)用于对矩阵X进行Cholesky分解, 其调用格式为: R=chol(X):产生一个上三角阵R,使R'R=X。若X为非对称正定,则输出一个出错信息。 [R,p]=chol(X):这个命令
  • Matlabmatlab常用函数(自定义)

    千次阅读 2019-01-08 16:05:31
    发现向量arrayA最小的Num个数 function [ minFlags ] = findMinFlag( arrayA,num ) %FINDMINFLAG Summary of this function goes here % Detailed explanation goes here minFlags = []; for i = 1:num [~,...
  • Matlab中imadjust函数的使用方法

    千次阅读 2020-03-27 12:25:30
    imadjust 函数imadjust可以对灰度图像进行亮度变化。...此函数将图像Ilow_in至high_in之间的值映射到low_out至high_out之间,而low_in以下和high_in以上的值被剪切掉。 输入图像I应该为uint8、uint16或double类...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,719
精华内容 6,287
关键字:

matlab中的error函数

matlab 订阅