zoukankan      html  css  js  c++  java
  • matlab 初学

    一、学会使用帮助。

    在matlab里首先最该记住的命令就是help,用来查看某函数的内部说明。
    比如想知道一个函数的用法,例如plot,就输入
    help plot
    然后回车。
    很简单的,不过最好能看懂英文。

    单独输入help,不加参数,会显示工具箱列表。

    再接你需要的工具箱,比如Symbolic Math Toolbox,那就输入
    help toolbox\symbolic
    会列出该工具箱下面的所有函数。

    *值得注意的是,用help显示某命令的帮助说明时,最后的See Also ......
    经常会有一些有用的相关命令,很可能就是你想要的。


    类似的还有个命令,
    helpwin 函数名
    这个会打开帮助文档的界面,不过内容跟用help的差不多。
    在左下角的Start - Help菜单也可以打开这个界面。

    doc 函数名
    这个是更详细一些的帮助。


    如果你不确定函数名是什么,可以用lookfor查找一些关键词。
    比如不知道求逆矩阵的函数是什么,不过你知道inverse是逆反的意思。
    lookfor inverse
    会找出一堆有关inverse的函数。
    不过说实话,这个lookfor不太好用,经常搜索不到,而且很慢。:)


    当然,如果联网的话,可以直接到matlab的官网去搜索。
    不过建议还是首先help一下,里面可能有些平时你忽略的东西。



    二、关于一些常用符号
    1、空格、逗号和分号:
    创建矩阵时,
    水平的分隔符用空格或者逗号,
    垂直的分隔符用分号(相当于矩阵内部的换行符)。

    写命令行时,
    用分号结尾的命令不显示返回值
    去掉分号或者用逗号结尾的显示返回变量的值。

    2、百分号:
    以百分号%开头到行尾表示注释,不多说了。

    3、引号:
    matlab只使用单引号,不用双引号。
    单引号的第一个作用,matlab里的字符串用单引号表示,如'abcd'。
    *如果想在字符串里包含一个单引号怎么办?用两个连着的单引号。
    比如 ‘It''s sunny.' 表示字符串It's sunny.
    四个连着的单引号''''表示什么?表示内容为一个单引号的字符串'。:)

    单引号第二个作用,表示矩阵的转置和复数求共轭
    >> a=[1 2;3 4;5 6]

    a =

         1     2
         3     4
         5     6

    >> a'   % 求矩阵a的转置矩阵(就是行变列,列变行)

    ans =

         1     3     5
         2     4     6

    >> (1+i)'   % 求复数的共轭复数

    ans =

               1 -          1i


    *注意,还有一个 .' 的运算符,就是一个句点加一个单引号。
    它的作用是求转置矩阵但不求共轭。
    >> x=[1+i 1-i; -1+i -1-i]

    x =

               1 +          1i           1 -          1i
              -1 +          1i          -1 -          1i

    >> x'   % 转置,并且对每个元素求共轭。

    ans =

               1 -          1i          -1 -          1i
               1 +          1i          -1 +          1i

    >> conj(x)    % 对每个元素求共轭,但不转置

    ans =

               1 -          1i           1 +          1i
              -1 -          1i          -1 +          1i

    >> x.'   % 转置,但不求共轭

    ans =

               1 +          1i          -1 +          1i
               1 -          1i          -1 -          1i


    4、英文的句点.
    这个作用挺多的,有些就不说了,比如小数点。

    !!!最需要知道的就是加点的运算符,点乘.*,点除./和.\(后面这个很少用),点乘方.^。
    (还有一个.'前面说过了,不过差别较大,不在这里说了。)
    表示同阶矩阵对应元素的运算。

    这个在matlab里很重要的,不过也不是很难,多找几个例子看看就知道了。


    5、三个句点...
    如果一行命令太长,想换行接着写,加三个点...,然后回车
    就可以接着写了。



    三、关于函数文件和脚本文件。

    不少初学者在网上复制了一些matlab程序的例子,不知道怎么运行。

    一般来说分两种情况:
    如果首行(不包括注释)不是以function开头的,这种叫做脚本或者命令。
    如果首行(不包括注释)以function开头,这种叫做函数。

    对于脚本,可以直接复制到命令行运行,也可以保存成m文件执行。
    而函数必须保存成m文件,然后在脚本里或者其他函数里调用。
    所以m文件也就分成脚本文件和函数文件。区别就看开头是否为function这个关键字。

    不过需要注意的是脚本文件就必须都是脚本,不能包含函数定义,
    或者说不能出现function关键字。
    前面是脚本后面是function定义的函数,这样的脚本跟函数混合的m文件执行时会出错的。

    函数文件就必须除了注释之外,第一行必须是function ......
    不过函数文件可以包含子函数,如果一个m文件里有多个function定义的函数,
    那只有开头第一个函数为主函数,后面的都是子函数,留给主函数调用的。


    如何建立m文件呢?在命令行输入
    edit 函数名
    如果同名的m文件已经存在,那就会打开已存在的那个m文件。
    如果不存在同名文件,会提示你创建新的m文件。
    然后会打开一个m文件的编辑器,在里面输入脚本或者函数内容即可。

    最后保存成m文件,注意函数调用的时候是以保存的文件名为准的,
    而不管function那行定义的函数名是什么。
    当然,脚本文件连function行都没有,当然更要以文件名为准了。

    所以你保存的文件名是什么,调用的时候就用哪个名字调用!切记!!


    四、关于Matlab的搜索目录

    如果你运行m文件时提示未定义(??? Undefined function or variable ...)
    首先,看文件名(函数名)是否拼写错了,这是很常见的错误。

    如果不是拼写错误,那可能是matlab搜索不到那个m文件。
    解决办法:
    1. 把当前目录(Current Directory)更改为那个m文件所在的目录。
    2. 在matlab的File菜单里有个Set Path...菜单项。在里面添加那个m文件所在的目录。
    3. 把那个m文件以及相关文件复制到matlab的工作目录里,一般是matlab安装目录下的work目录

  • 相关阅读:
    Flask之threading.loacl方法
    websocket之简易聊天室
    websocket介绍
    Flask之jinja2模板语言
    Flask之基础
    Linux之项目的部署
    Linux之nginx负载均衡
    Linux之nginx
    Linux之redis-cluster
    Linux之redis-sentinel
  • 原文地址:https://www.cnblogs.com/bigbigtree/p/2423451.html
Copyright © 2011-2022 走看看