Matlab学习小结

在coursera上学习了 MATLAB 程序设计入门 这门课,主要目的是熟悉matlab基本功能和语法,里面的编程题很不错,具有挑战性,我最后一周做了两道题就不做了。(时间太紧了,以后再补充吧 嘿嘿)

一些有用的命令

    1. 清空工作区变量
       clear;

    2. 清空命令窗口的记录
       clc

    3. 查看函数功能
       help function_name
       doc function_name

    4. 创建m文件(后缀.m可以省略)
       edit name

    5. 关闭Matlab
       close

    6. 查询数据类型
       class(typename)
       python为 type(typename)

    7. 其他与linux命令相关的
       如:dir cd .. find等

Matlab入手

首先,理解.m文件的作用。它相当于Java的.java文件、Python的.py文件、C语言的.cpp文件等。它是解释性语言,和python一样(YU Java不同),所以是一行一行运行的,不产生字节码文件。所以.m文件和.py文件都是脚本文件,可以完成一些手工简单但琐粹的日常任务。

函数就是在.m文件中定义的。这么定义就可以了

.m文件

function amag = accelerate(F1,F2,m)
    F = F1 + F2;
    a = F / m;
    amag = (a(1)^2 + a(2)^2 + a(3)^2)^0.5;
end

这里,function是函数关键字;amag为返回值,返回多个值这样表示:[x, y, z]或者[x y z];accelerate为函数名,这里注意函数名要与文件名一致(多个函数是,应该是与第一个函数名一致);F1,F2,m为形参,可以看出Matlab是弱类型语言(这里可以不用定义类型,所以很方便);end为结束标志,if、while等结构类型后面都加上end。注释用%。

运行.m文件

   accelerate(F1,F2,m)  % 就像函数调用那样就行了

YIxie快捷键

    1. 多行注释
       Ctrl + r

    2. 取消多行注释
       Ctrl + t

数据类型

> 数据类型和其他语言基本是大同小异,只要会help命令,就可以查看了,按需学习。想系统学,建议看上面提到的公开课,做几个编程题就差不啦,嘿嘿。
  1. []
    矩阵

    定义
    x = [];

  2. {}
    集合

    定义
    x = {};

  3. struct()
    结构体

    定义
    x = struct();


  4. 字符数组

    定义
    x = ‘aaa’;

  5. “”
    字符串

    定义
    x = “aaa”;

注意''"" 是不同的。
数据类型的详细区别后面再看着更新吧。

Matlab 和 Python的一些语法格式区别

  1. Matlab 和 Python的函数体边界,后者比前者少了一个end,多了一个冒号;Matlab每个句子结束有分号,而Python不鼓励加分号

    Matlab代码
      function y = and(x1, x2)
          y = x1 + x2;
      end
    Python代码 
      def and(x1, x2):
          y = x1 + x2
          return y
  2. 循环和控制语句
    Matlab后面都需要end,而Python需要在换行前写冒号,然后写控制体

    Matlab代码
      x = 0;
      for i = 1:100
          x = x + i;
      end
    Python代码
      x = 0
      for i in range(1,101)
          x = x + i

注意再把读取文件的操作学习一下,Matlab就学的差不多了,一般的应用可以应付了。

建议用时 最多三个星期

你可能感兴趣的:(Matlab编程语言)