zoukankan      html  css  js  c++  java
  • matlab学习笔记

    《MATLAB R2016a 完全自学一本通》笔记

    基础:

    pi:π

    变量不需要定义,直接使用;大小写敏感;

    matlab中用 % 表示注释;

    取整函数:floor;ceil;round;fix;

    who:查看现有变量

    whos:查看现有变量信息

    虚数:complex(a,b);a为实部,b为虚部;

    Inf:无穷大

    NaN:非数值量

    逻辑判断中等于:==

    xor:异或;

    any:全为零返回1;

    字符串用单引号:A=‘abc’;

    abs:绝对值;

    字符串内单引号用‘’(两个单引号)表示;

    字符串调用:B = A(2:4);//第2到4个字符;

          B = A(2:-1:4);//第2到4个字符反向输出;

    字符串连接:C = [A,B];或C = [A B];

    函数句柄:@

      创建函数句柄:Function_Handle = @Function_Filename;

    例:A = @cos

    则A(x)就相当于cos(x);

    结构体:可直接由输入创建:Student.Name = 'Sam';

        也可以通过struct函数创建结构体:Student(2) = struct('Name','Sam',......);//前面没有定义的Student(1)则表示为空值;

    数组:A = [1 2 3];

    :表示一系列数值:A = 1:10;//A为1到10,步长为1;

             A = 1:2:10;//A为10到10,步长为2;

    linspace函数:创建序列:A = linspace(a,b,100);//在[a,b]中创建100个元素的序列;

    单元(cell):可以包含任何元素。

      创建单元数组:A = {'x',[1;3;6];10,pi}//注意要使用花括号,逗号分隔单元,分号分行。

    cell函数:创建单元数组:A = cell(m,n)//创建mxn的单元数组。

    单元访问:A(m,n):访问m行n列的单元:上面的单元数组中,C(1,2)为[10];

         A{m,n}:访问m行n列的单元内容: C{1,2}为10;

    单元数组合并:C = {A,B};

    删除单元:C{m,n}=[];

    reshape函数:改变单元数组形状:reshape(C,M,N);//将C改为M行N列的形状。

    map:映射:key值和value值。//是一种容器类型。

      例:A = containers.Map({key,key2,...},{val1,val2,...});

    创建空map:A = containers.Map()

    keys函数:查看map所有键;

    values函数:查看map所有值;

    读取map元素:x = A(key);

    values函数:访问多个键:例:values(A,{key1,key2});

    remove函数:从map中删除key/value对。remove(A,key);

    添加key/value对:A(key)=value;//key需与其他key类型一致;

    矩阵:

    转置:A = A‘;

    建立矩阵:A = [1,2;3,4];

    ones(n):nxn的元素全为1的矩阵;

    zeros(n):nxn的零矩阵;

    eye(n):nxn的单位阵(对角元素为,其余为0).

    rand(n):

    randn():

    Random():

    diag():

    triu():

    tril():

    size函数:查看矩阵尺寸:size(A);

    空矩阵:A = [];

    sort()函数:对向量或矩阵升序排序;

    矩阵元素引用:A(2,3)//表示A矩阵第二行第三列的元素;

    A(1) :矩阵重组为一维数组,返回第一个元素;

    A(:,j) :第j列列向量;

    A(i,:) :第i行行向量;

    A(:,j,k) :第j列到第k列的子矩阵;

    A(i:k,:) :第i行到第k行的子矩阵;

    A(i:k,j:l) :第i行到第k行,第j列到第l列的子矩阵;

    A(:) :矩阵A的每列合并成长的列向量;

    A(j:k):返回一个行向量,元素为A(:)中的第j个元素到第k个元素。

    单下标和双下标转换:z = sub2ind(size(A),2,3);

              [x y] = ind2sub(size(A),7);

    求第四列前4个元素和:sum(A(1:4, 4 ))

    :本身可以表示一行或一列的所有元素;

    end关键字:表示最后一个元素。

    length函数:矩阵最长维的个数;

    cat函数:合并矩阵:cat(1,A,B)//按行(竖直方向)合并

              cat(2,A,B)//按列(水平方向)合并

    .*:将矩阵中每个对应元素分别相乘。//./和.^同理。

    常用函数:

    exp:e为底数的x次幂

    log:e为底数对x取对数

    log10:10为底数对x取对数

    sqrt:平方根

    mod:取余数

    mean:平均值

    median:中位数

    prod:连乘

    sum:连加

    sign:<0为-1;=0为0;>0为1。

    rem:取余数

    diff:差分

    sort:排序

    fft:离散傅里叶变换

    rank:秩

    ~=:不等于 

     eps:2.2e-16

     字符串:

     字符串写在单引号内。

    strcat函数:链接字符串;

    字符串数组应使用花括号{}。

      若使用[]则需要维数相同。

     strcmp函数:字符串比较,相同返回1。

     findstr:字符串查找:findstr(A,' ')//查找A字符串中的空格位置。

    strrep:字符串替换:strrep(A,'asd','ert');

    数组与矩阵:

    ‘:转置:例:B = A’

    A([1,4])=[1 1]//将A的第1,4元素改为1 。

    logspace:创建向量:logspace(a,b)

              logspace(a,b,n)

    ./和.为左除和右除;

    dot:数组的点积:C = dot(A,B);//相当于sum(A.*B)

    hilb(n):希尔伯特矩阵;

    vander:范德蒙矩阵;

    C = [A B]  水平合并

    C = [A,B]  竖直合并

    A(,:)=[]  //删除A矩阵的第二行

    det:矩阵的行列式;

    trace:矩阵的迹

    norm:矩阵或向量的范数;

    normest:估计矩阵的二阶范数;

    chol:Cholesky分解

    lu:矩阵LU分解

    svd:奇异值分解

    matlab基础:

    输入界面语句后加分号;可以暂不执行。

    一般采用.M文件来保存文件并执行;

    clear:清除所有变量

    clc:清除屏幕

    变量以字母开头,区分大小写;

    global:全局变量

    persistent:永久变量

    fprintf:显示输出。

    input:输入

    errordlg():弹出错误对话框

    lasterr:弹出错误原因;

    控制程序流常用指令:

    if-else-end

    switch-case

    try-catch

    for循环

    while循环

    return指令:函数结束

    input和keyboard:

      input:通过键盘输入数值、字符串、表达式等。//Enter结束(eg. value = input('message');//message为显示在屏幕的提示信息)。

      keyboard:通过键盘输入任何合法的matlab指令。//输入并执行return指令结束。

    yesinput指令:只能输入。有默认值。 value = yesinput('prompt',default,possib);

    pause指令:暂停与恢复。

      pause:暂停,按任意键继续;

      pause(n):暂停n秒;

    continue指令:直接传给下一轮迭代。

    break指令:推出循环

    error和warning指令:

      error('message'):显示出错,终止程序。

      warning('message'):显示警告,继续程序。

    脚本和函数:

    脚本:即.m文件。

    函数:以function开头。//例:function y = average(x)

       一个函数文件定义一个函数。

       文件名应与函数名相同:average.m//两者不同时,以文件名为准。

    函数文件组成:

       函数定义:function

       H1行:帮助文本第一行。用于lookfor检索。一般显示函数功能。

       帮助文本:用于help查看函数说明。显示函数功能及使用方法。

       函数体:

       注释:以%开头。

    匿名函数:没有函数名,也不是M文件。例如:

       Fxy = @(x,y)x.^y + 3*x*y

       Fxy(2,5) = 62

    子函数:M文件中出现的第一个函数为主函数,外界只能访问到这个函数。

        子函数只能被同一文件的其他函数访问。

        子函数同样以function定义。

     私有函数:位于私有目录private下的M函数文件。

         与普通函数构造相同。

         私有函数只能被private直接父目录的M文件调用。

         help,lookfor无效。

    重载函数:同名不同功能。

    eval和feval函数:

        eval:文本宏工具。

        feval函数:[y1,y2,...] = feval('FN',arg1,arg2,...)   //用变量arg1,arg2来执行指定函数FN。

    内联函数:inline('CE')   // CE中不能包含 =

         inline('CE',arg1,arg2)

         inline('CE',n)

     内联函数指令:class、char、argnames、vectorize

    函数的函数:以函数名为自变量的函数。

    P码文件:

    nargin:输入变量

    nargout:输出变量

    varargin:可变数量输入变量列表

    varargout:可变数量输出变量列表

    dbstop函数:设置断点

    dbclear函数:清楚断点

    表2-12 特殊矩阵构建函数P40

    表2-18矩阵合并函数P56

    表2-26字符串与数值转换P66 

    表3-2矩阵分析函数P89

    表3-3矩阵分解函数P95

    表4-1matlab文件操作指令P111

    表4-3特殊变量P113

    表4-5M文件函数参数指令集P129

  • 相关阅读:
    002 课程导学
    006 实例1-温度转换
    003 Python基本语法元素
    PHP读取文件头(2字节)判断文件类型(转)
    常见的浏览器Hack技巧总结(转)
    晨曦之光 linux Crontab 使用(转)
    实用技巧:简单而有用的nohup命令介绍(转)
    shell之“>/dev/null 2>&1” 详解(转)
    phpmailer邮件类下载(转)
    PHP拦截器的使用(转)
  • 原文地址:https://www.cnblogs.com/ly123456/p/6429168.html
Copyright © 2011-2022 走看看