zoukankan      html  css  js  c++  java
  • matlab计算 函数速查


    数字计算

    isa( 变量 , '类名' )
      
    判断 变量是否是这种 数据类型
    randn
     
    正态分布随机数 
     randn(m,n)
    .*  .^ 矩阵对应元素相运算
      
    .* 对应元素相乘  .^ 乘幂  ./ .\    除
    a = [ 2 , 3 , 4 ];   b = a .* a     c = a .^ 3
      
    .' 只转置不共轭
      C = [1+i, 4-i; 5+2*i, 3-3*i]
      C.'
      C'
    逻辑运算
      
    矩阵对应元素进行比较,成立返回1,反之返回0
     >   <    >=   <=     ==     ~=
     &与    |或   ~非   xor异或
     
    randint
     
    创建整数随机数
     randint(m,n,[a,b])
      m*n规格的 a到b 的随机数 a,b缺省为 0~1
    rand
     
    生成随机数 rand(a,b)
    复数
     
     imag 虚部,不含系数 i
      real 实部
      angle 幅角
    pow2  2的次方
    取整
     
    fix 向0靠近
     floor 比他小
     ceil  比他大
     round 四舍五入
    rem
     
    相除取余数  rem(a,b)  a除以b的余数
    conj
     
    共轭复数
     
    double
     
     
     将分数值划归为实数
      a=solve('x^3+12*x-5=0');
      double(a)
     
    初等函数
     
     sin  cos  tan  asin  acos  sqrt
    exp  log  log10 abs  sign
     
     特殊函数
     
    gamma 伽马函数 beta 贝塔函数  rat 有理近似
     erf 误差函数  ellipj 椭圆函数  ellipk 椭圆全积分
     bessei 贝赛尔函数  eerfinv 逆误差函数
    vpa
     
    结果用小数表示 
    求出来的结果如果是复杂的分数表示,用 vpa作用一下即可
    分数转换成小数
    常量
     
      pi 圆周率 inf 无穷   NaN 无意义   i j 虚数单位  
      realmax  最大实数   realmin  最小实数  eps 无穷小数
      end  数组最后元素序号
    一些注意事项
     
    有些函数使用的表达式是字符串格式,包括
      ezplot  solve 
     矩阵是先行后列
    数据类型
     
     整型 int8 uint8   及 16  32
     实型  double
     字符型 char
    \ 反除

    2\12=6
     矩阵左除 MX=Y  X为列向量  则 X=M\Y  若 XM =Y  则 X=Y/M
      a=[ 5 2 -9 ; -9 -2 2 ; 6 7 3 ] ; b=[2 ; 3 ; 4];
      c=a\b;
      [a*c,b]
    numeric 
     
    将符号转化为数值进行计算
     
    更多逻辑运算函数
     
    all   列向量所有元素非零,返回1
     any  列向量有非零元素
     exist 变量或函数被定义过
     finite 元素有限
     isempty 参数为空
     isglobal 参数为全局变量
     ishold 当前画图状态是on
     isieee 当前运算是IEEE算术运算
     isinf  元素无穷大
     isnan 元素无意义
     isletter 元素是字母
     isreal  实数
     isspace 空格
     issparse 稀疏矩阵
     isstr   字符串
    判断 条件
    代数式

    residue(分子,分母)
     
    部分分式化
    conv 
     
    两个多项式相乘系数展开
     
    conv([1 2], [2 1 3] )
     
    deconv
     
    两个多项式相除 返回 [ 商 余式 ]
    [a b]=deconv([1 2 3], [1 1])
     
    simple 最简形式 
     
    输出表达式在各种函数下的运算结果,给出最简形式
     用 [a,b]=simple(符号表达式) 得到
      a为化简结果,b为化简方式
    factor
     
    因式分解   factor(符号表达式)
     
    collect
     

      合并同类项  collect(符号表达式)
     
    roots 多项式的根
     
    求多项式的零点
    polyvalm 多项式代入求值
     
    多项式代入自变量的值求值 
    polyvalm(c,x) c为系数向量,降幂排列
    方阵x作为一个整体带入多项式求值
     
    polyval 多项式代入求值
     
    多项式代入自变量的值求值 
    polyval(c,x) c为系数向量,降幂排列
    x的每个元素均代入多项式中求值
    simplify
     
    化简 simplify(符号表达式)
     
    solve
     
    解方程 solve('方程','变量')
       solve('x+3=0')
       solve('a*x+5','a')
     
      solve可以有多个方程  用,隔开  返回为结构体
       s = solve('5*x + 4*y = 3','x - 6*y = 2');  s.x
    symsum
     
    根据通项求和 
     symsum(符号表达式,自变量,起点,终点) 可缺省 区间
    syms n
    symsum(1/2^n+1/3^n)
    symsum(1/2^n+1/3^n,1,inf)
     
    **************
    latex
     
    表达式转换成 LaTeX 代码格式
    expand
     
    展开代数式  expand(符号表达式)
       syms x; expand(cos(x-4)*(x+2))

      支持对矩阵各元素操作
       syms x; expand([(x+2)^2  (12-x)^3])
     
    sym
     
    定义符号及类型
     sym('值','类型') 类型包括 real,unreal(无约束),positive
     a=sym('a','real');b=sym('a','real');
     conj(a+b*i)
     值可以是表达式,矩阵
     a=sym('sin(x)'); ezplot(a);
     hold on; ezplot(log(a))
     
     syms 可以同时声明多个符号
      syms val1,val2...real
     
    sym 可以将任意式子变成符号式,进行符号运算
    factor(sym(2^100)-1)
     
    ******************************************************
    ccode
     表达式转换成C语言格式
     
    poly2str(系数 , '符号')
     
      多项式系数显示为多项式形式
     
    a=[1 3 -2 0 -43 3 -9 ];
    >> poly2str(a,'x')
     
     
    polyfit  拟合
     
    多项式拟合  polyfit(x,y,n)
    poly 特征多项式
     
    求出方阵的特征多项式
    返回行向量系数  降幂排列
     
    已知方程的根构造多项式
        a=[1 2 -4];
        poly(a)
        poly2str(ans,'t')
     
     
     
    ********************************************
    高等计算

    int
     
    积分 int('表达式','变量')  int('表达式',下限,上限)
    quad
     
    求数值积分的一种方法,正交积分
      quad('表达式',xmin,xmax)
       运算要使用矩阵元素乘法
    ODE求解微分方程
     
     
     
    一阶
    新建 m 文件 ,写入方程函数
      格式   返回值a = 微分方程右边b
        a代表微分项,b代表普通项,在微分方程中是同一变量,在程序中要分别用返回值和参数表示
      调用 ODE格式为
                ode23('函数名',[xmin,ymin],y(0))
            23是取点数,可选 45 113
     

    实例
    新建 m 文件 输入
      function a=eq1(t,y)
      a=cos(t)
     保存为 eq.m  命令台输入
      [t,y]=ode23('eq',[0,2*pi],2)   % y(0)=2,区间[0,2pi]
     即将结果 分别赋给了 t和y
                             plot(t,y,'o')
     可以查看结果
     
    方程组
    把x,y...看做一个向量的分量
       function xdot = eqx(t,x);xdot = zeros(2,1);
       xdot(1) = -x(1)^2 + x(2); xdot(2) = -x(1) - x(1)* x(2);
       画图时要注意调用一整列元素
       [t,x] = ode45('eqx',[0 10],[0,1]);
       plot(t,x(:,1),t,x(:,2),'--')
     
     
    二阶
     可以让 y'=x1 化为方程组
    limit 极限
     
    极限   limit(表达式,极限点)
         syms x;limit(sin(x)/x,0)
       limit(表达式,极限点,方向) 'left' 或 'right '
       limit(字符串,自变量,极限点) 

        s='(x-3)/abs(x-3)';
        limit(s,x,3,'left')
    taylor
     
    展开为泰勒级数 
     taylor(表达式,n) n为阶数,可缺省
    laplace laplace变换
    ilaplace   逆变换
    rsums
     
    黎曼和求积分 rsums(符号表达式,[xmin,ymin]  区间缺省为 [0,1]
     
     syms x;
    rsums(sin(cos(x)+1),[2,4])
    trapz 梯形法求积分
     
    用分割梯形法求数值积分  trapz(x,y)
    diff
     
    求导  diff(表达式,自变量,阶数)
      对于数值矩阵,求差分,即相邻元素间的差
    dsolve
     
     
       求解微分方程  dsolve('表达式')
       一阶导用 Df表示  二阶 D2f 依次类推
        
    dsolve('Df=-2*f+cos(t)')

       初值用 y(x0)=y0 表示就行了
        
    dsolve('D2f-f=0','f(0)=-1','Df(0)=2')

       默认变量是t 在最后加上指定自变量
        dsolve('D2f-sin(x)/x*(1-2/x^2)-2*cos(x)/x^2=0','f(0)=2','Df(0)=0','x')
       微分项要在方程左边
     
    ********************************
    inline   由字符串构造函数
     
    比较
     
    f='x+2'
    f(2)
    f=inline('x+2')
    f(2)
     
     
    ******************************************************************************
     
    fourier  傅里叶 fourier 变换
    ifourier   逆变换
    ztrans   Z变换
    iztrans   逆变换
    The content on this page is provided by a Google Notebook user, and Google assumes no responsibility for this content.
  • 相关阅读:
    kernel-devel-3.10.0-957.el7.x86_64.rpm kernel-headers-3.10.0-957.el7.x86_64.rpm
    解决MySQL安装:找不到msvcr120.dll和msvcp120.dll
    Node.js安装
    大数据电商数据仓库
    spark
    redis 脑裂等极端情况分析
    Redis解决并发超卖问题
    解决OutOfMemoryError: unable to create new native thread问题
    好用的java工具
    java初始化和实例化
  • 原文地址:https://www.cnblogs.com/dabaopku/p/1728053.html
Copyright © 2011-2022 走看看