第一节 基本数值计算

1. 变量:分为数值变量和字符变量

2. 常量:计算机中不变的量。如i、j、pi、NaN(不确定)、Inf(无穷大)

3. 字符变量:将字符串作为变量。有三种方法表示:
    (1) 用单引号' '
    (2) 用函数sym(' ')
    (3) 用命令symbs

4. 举例 
    x=2                    % 将2赋给变量x
    y=3;                   % 有;表示在命令窗口不显示y的值
    z=x^2 -y            % 数值计算。输出结果为1

f='sin(x)'             % 用单引号定义一个字符变量
    g=sym('cos(y)')    % 用函数sym(' ')定义一个字符变量
    syms a b              % 用命令syms定义字符变量。一般用于多符号变量的定义
    u=2*a                 % 字符计算。输出结果为2*a
    w=b^2-1             % 字符计算。输出结果为b^2-1
    fg=f+g                % 字符计算。输出结果为sin(x)+cos(y)
    uw=u*w              % 字符计算。输出结果为2*a*(b^2-1)
    u/w                     % 字符计算。输出结果为2*a/(b^2-1)

第二节 矩阵构造及运算

Matlab中数据的结构形式就是一个矩阵。如x=2是一个1×1的矩阵

1. 矩阵的建立

        (1) 直接输入法。
        (2) 冒号法(1×N)。
        (3) 函数法(特殊矩阵)。
        (4) 矩阵的编辑(Array Editor)。

2. 向量

        向量是1×N的特殊矩阵,即只有一行或者一列,称为N维向量。

3. 向量的点积与叉积

        点积:dot(A,B)
        叉积:cross(A,B)

4. 举例:

x=[1 2 3; 4 5 6; 7 8 9]     % [...],元素之间用空格,行之间用分号。
        y=0: 0.1 :1                     % 不用[...],初值、步长、终值间用冒号。
        w=eye(3)                        % 3阶单位矩阵。
        u=rand(3)                       % 3阶随机矩阵。元素在0-1之间。
        u1=rand(2, 3)                 % 2*3阶随机矩阵。元素在0-1之间。
        q=randn(3)                     % 3阶随机矩阵。元素在0-1之间。元素符合正态分布。
        q1=randn(2, 3)                % 2*3阶随机矩阵。元素在0-1之间。元素符合正态分布。
        s=magic(3)                      % 魔方阵。各行各列以及对角元素的和相等。
        ss=zeros(3)                    % 3阶全零阵。
        uu=ones(3)                     % 3阶全1阵。

5. 矩阵的加、减、乘、除

(1) 参与加、减运算的矩阵必须同维
        (2) A/B时,A、B列数必须相同。A\B时,A、B行数必须相同。
        (3) 矩阵左乘与右乘不同,左除与右除不同。(A*B不等于B*A,A\B不等于A/B)。
        (4) 标量或函数与矩阵的运算等于该标量或函数与矩阵的每一个元素的运算。

6. 对矩阵的操作

        6.1 对矩阵的元素操作:

(1) 提取矩阵A的第n行第m列的元素,表示为A(n, m)
        (2) 提取矩阵A的第n行的所有元素,表示为A(n, :)
        (3) 提取矩阵A的第m列的所有元素,表示为A(:, m)
        (4) 将矩阵A的第n行第m列的元素重新赋值b,表示为A(n, m)=b
        (5) 将矩阵A的第n行的所有元素重新赋值b,表示为A(n, :)=b
        (6) 将矩阵A的第m列的所有元素重新赋值b,表示为A(:, m)=b
        (7) 将矩阵A的第n行第m列的元素删除,表示为A(n, m)=[ ]
        (8) 将矩阵A的第n行的所有元素删除,表示为A(n, :)=[ ]
        (9) 将矩阵A的第m列的所有元素删除,表示为A(:, m)=[ ]

6.2 矩阵的部分操作:

Fliplr(A)             % 矩阵左右翻转
        Flipud(A)           % 矩阵上下翻转
        Flipdim(A, m)     % 矩阵沿特定维(m)翻转
        Rot90(A, k)       % 矩阵逆时针旋转k*90度
        Tiag(A, k)          % 取矩阵对角线元素
        Tril(A, k)            % 取矩阵的下三角部分
        Triu(A, k)           % 取矩阵的上三角部分
        注:k可以是正、负整数,但绝对值一般不大于矩阵的维数。

6.3 矩阵分析操作:

(1) 方阵A的行列式值,可表达为 det(A)
        (2) 矩阵A的秩,可表达为 rank(A)
        (3) 行列式值不为堆的方阵A,求逆矩阵可表达为 inv(A)
        (4) 矩阵A的转置阵,可表达为 A'
        (5) 矩阵A的特征向量与特征值:[V, D]=eig(A)。其中V和D分别为A的特征向量和特征值

6.4 矩阵的数组运算:

矩阵乘:A*B。A的列数与B的行数要相等。
        矩阵的数组乘:A.*B。表示为A、B矩阵的对应元素一一相乘,即Aij * Bij。A与B的维度要相同。
        矩阵的数组除:A./B或者A.\B
        举例:x=-10 : 2 :10
                y=sin(x)          % correct
                y=sin(x^2)      % incorrect - Matrix x must be square
                y=sin(x.^2)     % correct

6.5 矩阵元素的关系运算与逻辑运算(与、或、非)
        <        小于
        >        大于
        <=      小于或等于
        >=      大于或等于
        ==      等于
        ~=      不等于

6.6 矩阵的多维数组形式

(1) 函数cat的使用
        (2) B=cat(dim, a1, a2,...)
        (3) 意义:将多个同维数组a1, a2,...构成一个高维数组B。dim是高维数组B的维数。
                      它必须等于或大于a1, a2,...的阶次
        举例:a=[1 2 3 ; 2 3 4 ; 3 5 6]
                b=a+10                            % 新构成一个矩阵
                a(:, :, 2)=b                        % 将新矩阵赋给a的第二层
                a(:, :, 1)                            % 显示a的第一层
                c=cat(3, a, b)                     % 用函数来构成高维数组

6.7 多项式及其运算式

多项式的创建:
        (1) 由1×N的N维向量
             P=[a0  a1  a2 … an] 表示 Pn=a0xn + a1xn-1 + a2xn-2+ .. +an多项式。
          
          
(2) 由函数poly(A)定义
             如果A为二维或以上的矩阵,poly(A)表示由A的特征根确定的多项式。如果A为一维矩阵
             poly(A)表示由A的元素为多项式的根确定的多项式。
        举例:
        %方法一
        p=[1 -2 3]    %直接给出多项式p
        poly2sym(p)  %给出p多项式的表达式
        %方法二
        a=[1 2; -2 4]        
        ps=poly(a)            % 计算a的特征根确定的多项式
        poly2sym(ps)        % 给出ps多项式的表达式
        %方法三
        x=[-1 2]
        px=poly(x)        % 以x的元素为多项式的根确定的多项式
        poly2sym(px)     % 给出ps多项式的表达式

Matlab语法的更多相关文章

  1. Eigen与Matlab语法及语义辞典

    Eigen为Matlab转换为C++提供了一个简单的语法级别的代码迁移工具. 对一些代码进行了扩充,以便程序由Matlab到Eigen的移植................... 参考链接:http: ...

  2. 【数学建模】MATLAB语法

    一.向量.矩阵的表示和使用 format long  %小数很多format short %默认4位小数format rat %显示最近的分数format short e %指数格式的数 尾数多少 e ...

  3. matlab语法基础(处理一点数据)

    1.声明函数,返回参数data,函数名为simutrack function data=simutrack(x0,y0) 2.%用于标注,注释 3.平方 ^2 4.二维零矩阵 [0 0;0 0] 5. ...

  4. matlab基本语法和运算基础

    转载自:http://blog.csdn.net/robertcalm/article/details/51582253 matlab语法比较随意,但正如其全名 matrix &laborat ...

  5. SublimeText 修改文件扩展名的默认语法高亮

    平时经常使用sublime text3编辑matlab程序,但是sublime text使用的默认语法高亮是Object C,用起来很不方便,每次都需要在Sublime Text右下角手动点一下语法高 ...

  6. 四大机器学习编程语言对比:R、Python、MATLAB、Octave

    本文作者是一位机器学习工程师,他比较了四种机器学习编程语言(工具):R.Python.MATLAB 和 OCTAVE.作者列出了这些语言(工具)的优缺点,希望对想开始学习它们的人有用. 图源:Pixa ...

  7. [math][mathematica] archlinux 下 mathematica 的安装 (科学计算软件 mathematica/matlab/sagemath)

    ONLINE: http://www.wolframalpha.com/ GPL: segamath: http://www.sagemath.org/ famous and not free: ma ...

  8. matlab中m文件与m函数的学习与理解

    1. m文件与m函数的区别 所谓 MATLAB 程序,大致分为两类: M 脚本文件 (M-Script) 和 M 函数 (M-function), 它们均是普通的 ASCII 码构成的文件. M 脚本 ...

  9. 归并排序算法Matlab实现

    Matlab一段时间不用发现有些生疏了,就用归并排序来练手吧.代码没啥说的,百度有很多.写篇博客,主要是记下matlab语法,以后备查.   测试代码 srcData = [1,3,2,4,6,5,8 ...

随机推荐

  1. Linux 文件的基本操作

    1>.新建空白文件: touch命令-->$ touch test 2>.新建目录: mkdir命令-->$mkdir mydir 使用 -p参数:同时创建父目录-->$ ...

  2. c/c++面试题(8)memcopy/memmove/atoi/itoa

    1.memcpy函数的原型: void* memcpy(void* dest,cosnt void* src,size_t n); 返回值:返回dest; 功能:从源内存地址src拷贝n个字节到des ...

  3. Amoeba for MySQL读写分离配置

    一.      安装和运行Amoeba 1. Amoeba for MySQL 架构: 2. 验证Java的安装Amoeba框架是基于Java SE1.5开发的,建议使用Java SE1.5以上的版本 ...

  4. css3 文字轮番滚动效果2——改进版

    1.优化了之前的代码: 2.修正了先前按照文字的条目的数量计算速度的问题,现在改为按照字符的个数计算动画执行一次需要的时间,更为精确: 3.增添了每一行JS代码的注释. 4.这个案例的用途一般为告警信 ...

  5. Android深度探索--HAL与驱动开发----第十章读书笔记

    printk函数的用法于-printf 函数类似,只不过printk函数运行在内核空间, printf函数运行在用户空间.也就是说,像Linux 驱动这样的Linux内核程序只能使用printk 函数 ...

  6. SQL-数学、字符串、时间日期函数和类型转换

    --数学函数 --ABS绝对值,select ABS(-99)--ceiling取上限,select CEILING(4.5)--floor去下限select FLOOR(4.5)--power 几次 ...

  7. Jqgrid学习API

    JQGrid是一个在jquery基础上做的一个表格控件,以ajax的方式和服务器端通信. JQGrid Demo 是一个在线的演示项目.在这里,可以知道jqgrid可以做什么事情. 下面是转自其他人b ...

  8. 关于seajs模块化的搭建

    搭建seajs这个鬼吧!好像必须要用服务器起.... 然后我开始弄了个nodejs服务器. 安装nodejs:在网站上下载,安装,安装.. 打开命令行,输入cdm. 输入node -v ,输出版本信息 ...

  9. VC保存当面某个区域的图片

    void ViewReportDlg::CopyScreenToBitmap() { CDC *cdc = this->GetDC(); HDC wnd = cdc->GetSafeHdc ...

  10. android接入微信分享(朋友、朋友圈)、QQ分享(好友、空间)

    1.申请注册你的appid 2.下载sdk QQ: http://wiki.open.qq.com/wiki/mobile/SDK%E4%B8%8B%E8%BD%BD 微信:https://open. ...