766游戏网官网Matlab编程基础

 

平台:Win7 64 bit,Matlab R2014a(8.3)

 

  “Matlab”是“Matrix L**aboratory”
的缩写,中文“矩阵实验室”,是兵不血刃的数学工具。本文侧重于Matlab的编程语言侧面,讲述Matlab的中坚语法,以及用Matlab语言进行次设计。值得一提的是,Matlab从R2014a版本开始
支持中文语言**了!

 

1.基本概念

Matlab默认启动后界面

766游戏网官网 1

Matlab有关的文书后缀

File Extension

Description

.m

MATLAB Code — A MATLAB script, function, or class.

.p

MATLAB P-Code — Protected function file.

.mat

MATLAB Data — Binary file that stores MATLAB variables.

.fig

MATLAB Figure.

.mdl, .slx

Simulink Model.

.mdlp, .slxp

Simulink Protected Model.

.mex

MATLAB MEX — Shared library files that can be dynamically loaded into MATLAB. The MEX-file extensions are platform-dependent.

参考Matlab R2014a支援文档“MathWorks File Extensions”,搜索即可,下同。

命令行执行命令

  可以于命令执行窗口(Matlab默认启后动界面的中档)中执行命令,除了运算公式外,关闭Matlab、改变目前文件夹、新建.m文件之类的都好以命形式实行,下给极其常用的核心命令进行总结:

Class

Function

Description

Shutdown

exit, quit

Terminate MATLAB program

Search Path

pwd

Identify current folder

cd

Change current folder

dir, ls

List folder contents

type

Display contents of file

what

List MATLAB files in folder

path

View or change search path

which

Locate functions and files

Command History

clc

Clear Command Window

diary

Save Command Window text to file

Help

format

Set display format for output

help

Help for functions in Command Window

doc

Reference page in Help browser

iskeyword

Determine whether input is MATLAB keyword

WorkSpace

clear

Remove items from workspace, freeing up system memory

clf

Clear current figure window

pack

Consolidate workspace memory

who

List variables in workspace

whos

List variables in workspace, with sizes and types

save

Save workspace variables to file

load

Load data from MAT-file into workspace

Other

disp

Display text or array

display

Display text or array (overloaded method)

tic, toc

Start stopwatch timer(Read elapsed time from stopwatch)

上面有函数都得就此“help funcName”或“doc
funcName”命令查看帮助,参考Matlab R2012a帮助文档“MATLAB/Functions”。

脚下文件夹(Current
Folder)和搜路径(Search
Path):

  Matlab之所以强大,很重要的原故是它实现了许多数学算法,也便是发一个硕大之函数库。和其他编程语言同样,这些函数以实现公文要出自文件形式在(.m,.p,.mex等)。在咱们执行命令(或者说是运行m
code)时,例如“y=sin(x)”,Matlab需要寻找“sin”,这就是当“当前文件夹”和“搜索路径”中展开的。Matlab以“文件称”进行搜,所以要求函数(Main
Function)等名子和文件称相同。

  “当前文件夹”就是程序员的工作文件夹,里面有我们写的M代码,在达标图Matlab默认启动后界面被“当前文件夹”如红色框所示,其内容可以在左浏览。初用Matlab的人头或许遇到了这问题:打开一个.m文本,点击“运行”按钮,出现如下提示(如果你的Matlab版本不是行的,那即便是英语提示):

766游戏网官网 2

  这是以当我们接触“运行”(或快捷键F5)时,其实一定给以命令行执行命令运行文件,Matlab搜索时文件夹和摸索路径,但从不找到。

假定安装添加搜索路径,可以在菜单“主页 >> 环境 >>
设置路径”中进行(也得以就此命令形式):

766游戏网官网 3

工作区(WorkSpace):

  “工作区”类似于栈,是运行Matlab命令(或程序)时于内存有变量的聚集(也就是说它是均等块内存区域),在Matlab默认启动后界面中显在右手。在“工作区”窗口展示的具有变量,可以双击查看该内容,也堪修改或删除。工作分中心工作区(Base
Workspace)和函数工作区(Function
Workspace),函数工作区一般在函数调用过程中来,我们一般接触的即是中心工作区。基本工作区中之变量在闭馆Matlab前还不见面自行清除,除非用clear命令,所以要想吃程序不借助让史数据以来,最好于运转程序前实行“clear
all”命令。参考Matlab R2014a拉扯文档“Base and Function Workspaces”。

M**剧本文件**:

  所有可以于指令执行窗口被输入的吩咐还得以起在.m文件中,这里的所谓脚本文件就是我们一般说之Matlab程序。关于Matlab程序来几乎独最好基本的触发得了解:以“%”开头的行是注释;语句后面加“;”可以让Matlab执行报告句但无出口结果;一行代码太长写不产用“…”续行;Matlab程序一般是说明实施,所以有些错误在实践时才见面报告。

 

2.主干语法

  首先来看Matlab的符号表(参考Matlab
R2014a帮文档“Symbol Reference”):

Name

Symbol

Description

Asterisk

*

Filename Wildcard

At

@

Function Handle Constructor

Class Folder Designator

Colon

:

Numeric Sequence Range(step)

Indexing Range Specifier

Conversion to Column Vector

Preserving Array Shape on Assignment

Comma

,

Row Element Separator

Array Index Separator

Function Input and Output Separator

Command or Statement Separator

Curly Braces

{ }

Cell Array Constructor

Cell Array Indexing

Dot

.

Decimal Point

Structure Field Definition

Object Method Specifier

Dot-Dot

..

Parent Folder

Dot-Dot-Dot (Ellipsis)

Line Continuation

Entering Long Strings

Defining Arrays

Dot-Parentheses

.( )

Dynamic Structure Fields

Exclamation Point

!

Shell Escape

Parentheses

( )

Array Indexing

Function Input Arguments

Percent

%

Single Line Comments

Conversion Specifiers

Percent-Brace

%{ %}

Block Comments

Plus

+

Designate the names of package folders

Semicolon

;

Array Row Separator

Output Suppression

Command or Statement Separator

Single Quotes

‘ ’

Character and String Constructor

Space Character

Space

Row Element Separator

Function Output Separator

Slash and Backslash

/ \

Separate the elements of a path or folder string

Square Brackets

[ ]

Array Constructor

Concatenation

Function Declarations and Calls

Tilde

~

Not Equal to

Logical NOT

Argument Placeholder

  下图清晰的辨证了Matlab的着力数据类(类)(取自Matlab
R2014a帮助文档“Fundamental MATLAB
Classes”),其中double是默认数据类型字符串用单引号‘’

766游戏网官网 4

  Matlab是高级动态语言,变量(对象)在使前勿待声明,标识符的率先次出现算得变量的创建,标识符由字母开头接字母数字或者生划线的不超越63单字符组成。一个标识符只是一个援,它好对任意档次,比如执行“a=1”后,a作为一个名字对double型变量,再履行“a=’hello’”后,a又针对一个字符串变量,原来的double变量因为不再援而进垃圾回收,这同Python类似。

  对于逻辑类型(布尔路),和C语言类似,Matlab将非 0 数看做
true
0 看做 false,Matlab将逻辑型输出为 0 和 1

  Matlab号称是矩阵实验室,除了函数词柄和多维数组外,每个变量都看作是矩阵(二维数组),标量被看作1×1矩阵,一维数组被当1xN或Nx1矩阵,Matlab支持将矩阵作为完整进行演算。矩阵的行元素间用空格或逗号“,”分隔列元素间用回车或分行“;”分隔矩阵用中括号“[]”表示索引数组用小括号“()”从1开始,多维数组各维索引用逗号隔开),如下例所示:

766游戏网官网 5

  Matlab内置了一部分常量或预约名字(参考Matlab
R2014a援助文档“Special Values”、Matlab
R2012a帮助文档“MATLAB/Functions/Mathematics/Math Constants”):

Name

Description

eps

Floating-point relative accuracy

i, j

Imaginary unit

Inf

Infinity

NaN

Not-a-Number

pi

Ratio of circle’s circumference to its diameter

intmax (intmin)

Largest(Smallest) value of specified integer type

realmax (realmin)

Largest positive(Smallest positive normalized) floating-point number

ans

Most recent answer (variable)

  Matlab基本算符和表达式(参考Matlab
R2014a支援文档“Operators and Elementary Operations”、Matlab
R2012a帮助文档“MATLAB/User’s Guide/Programming
Fundamentals/Language/Program Components/Operators”、《MATLAB
R2011a学科》第3章p130、p138、p139):

Class

Description

Array operator

Matrix operator

Arithmetic

Addition

+

+

Subtraction



Multiplication

.*

*

Right(Left) division

./(.\)

/(\)

Power

.^

^

Transpose

.’

(Complex conjugate transpose)

Relational

Less than

 

Less than or equal to

<=

 

Greater than

 

Greater than or equal to

>=

 

Equal to

==

 

Not equal to

~=

 

Logical

And

&

 

Or

|

 

Not

~

 

Xor

xor

 

Bit-Wise

Bit-and

bitand

 

Bit-or

bitor

 

Bit-xor

bitxor

 

Short-Circuit

And

&&

 

Or

||

 

其中,“数组运算”指的是简单个尺码相同(行数列数相同)数组(或一个是标量)逐个元素中进行演算得到尺寸相同之数组作为结果,“矩阵运算”则是按照数学及矩阵的运算法则运算。下面是一些例证:

766游戏网官网 6

中,a、b、c 都是double类型,l 是Logical类型(布尔类型数组)。

  Matlab和其他多数言语一样,有如下控制流(参考Matlab
R2014a救助文档“Control
Flow”),Matlab代码是Pascal风格的,需要盖end结尾:

Class

Control-Flow

Syntax

Remarks

Conditional Statements

if-else

if expression

   statements

elseif expression

   statements

else

   statements

end

 

switch-case

switch switch_expression

   case case_expression

      statements

   case case_expression

      statements

    …

   otherwise

      statements

end

only one case(or otherwise) statement will be executed

Loop Control Statements

for

for index = values

   program statements

          :

end

break, continue

parallel-for

parfor loopvar =
initval:endval; statements; end

parfor (loopvar =
initval:endval, M); statements; end

 

while

while expression

   statements

end

break, continue

Other

pause

pause

pause(n)

pause on

pause off

pause query

state = pause(‘query’)

oldstate = pause(newstate)

 

return

return

return to the invoking function or to the keyboard

try-catch

try

   statements

catch exception

   statements

end

 

assert

assert(expression)

assert(expression, ‘msgString’)

assert(expression, ‘msgString’, value1, value2, …)

assert(expression, ‘msgIdent’, ‘msgString’, value1, value2, …)

 

warning

warning(‘message’)

warning(‘message’, a1, a2,…)

warning(‘message_id’, ‘message’)

warning(‘message_id’, ‘message’, a1, a2, …, an)

s = warning(state, ‘message_id’)

s = warning(state, mode)

 

error

error(‘msgIdent’, ‘msgString’, v1, v2, …, vN)

error(‘msgString’, v1, v2, …)

error(‘msgString’)

error(msgStruct)

 

input

result = input(prompt) (displays the
prompt string on the screen, waits for input from the keyboard,
evaluates any expressions in the input, and returns the result.)

str = input(prompt,’s’) (returns the
entered text as a MATLAB string, without evaluating expressions.)

 

keyboard

keyboard (when placed in a program .m
file, stops execution of the file and gives control to the
keyboard.)

 

 

3.函数

  Matlab的函数以M函数文件(后缀.m)形式在,主函数(Main
Function,这里主函数和C语言主函数不同,它借助该函数文件被第一独概念之函数,可以知晓为文件的对外接口)名要和文书称相同,一个主函数的事例如下(文件“rank.m”,位于“C:\Program
Files\MATLAB\R2014a\toolbox\matlab\matfun\”):

 1 function r = rank(A,tol)
 2 %   RANK Matrix rank.
 3 %   RANK(A) provides an estimate of the number of linearly
 4 %   independent rows or columns of a matrix A.
 5 %   RANK(A,tol) is the number of singular values of A
 6 %   that are larger than tol.
 7 %   RANK(A) uses the default tol = max(size(A)) * norm(A) * eps.
 8 
 9 s = svd(A);
10 if nargin==1
11    tol = max(size(A)') * max(s) * eps;
12 end
13 r = sum(s > tol);

  上面文件首行以function开头的名为函数声明行(function declaration
line),紧接一行注释称为H1行(用作lookfor指令),H1行和以后的连接注释称为在线帮助文本(help
text,用作help指令),再后的诠释称为编和修改记录(上面例子766游戏网官网中绝非,用作软件归档管理),之后是函数体。当然,除函数声明与函数体外其他还是可选的。

  除主函数(main function)外,还有片函数(Local
functions),它定义在M函数文件里之不外乎第一个职务外的地方(所以,它不得不依附于主函数文件被,不克冒出于M脚本文件中),它独自在该公文内可见,下面是一个例子(取自Matlab
R2014辅助文档“Local Functions”,文件“mystats.m”):

 1 function [avg, med] = mystats(x)
 2 n = length(x);
 3 avg = mymean(x,n);
 4 med = mymedian(x,n);
 5 end
 6 
 7 function a = mymean(v,n)
 8 % MYMEAN Example of a local function.
 9 
10 a = sum(v)/n;
11 end
12 
13 function m = mymedian(v,n)
14 % MYMEDIAN Another example of a local function.
15 
16 w = sort(v);
17 if rem(n,2) == 1
18     m = w((n + 1)/2);
19 else
20     m = (w(n/2) + w(n/2 + 1))/2;
21 end
22 end

  另外,还有嵌套函数(Nested Functions),顾名思义,它定义在别的函数内,如下例子(取自Matlab
R2014扶持文档“Nested Functions”,文件“parent.m”):

1 function parent
2 disp('This is the parent function')
3 nestedfx
4 
5    function nestedfx
6       disp('This is the nested function')
7    end
8 
9 end

嵌套函数和其他函数的区分是,它可以应用带有它的父函数的变量,也就是说,它可采用除参数与在函数内部定义的变量之外的变量,这事关函数工作区(Function
Workspace)的概念,前面说罢起只基本工作区,函数调用时发生函数工作区,见例子。

  当前文件夹里发生些许只文本:abc.m,f.m,f.m是M函数文件,abc.m是M脚本文件,其内容如下:

1 % f.m
2 function [ out ] = f( x )
3     out = x^2+6;
4 end

1 % abc.m
2 a = 9;
3 b = 10;
4 c = [1 2 3];
5 d = f(a);
6 d

运行abc.m后工作区如下(基本工作区):

766游戏网官网 7

在f.m中设置如下断点(第三执红点):

766游戏网官网 8

重新运行abc.m,程序停于断点处,此时工作区和调剂界面如下:

766游戏网官网 9

咱得以接近比较C语言的函数调用栈来理解函数工作区。想要逾函数工作区传递变量可以因而
global 关键字声明全局共享变量
,要在函数内部定义类似C语言的 static
变量,使用 persistent 关键字声明变量

  函数句柄(function_handle)类似于C语言的函数指针,它用“@”来创造,如下是一个例证(接上头):

766游戏网官网 10

然咱们于调用函数时即足以如此描绘:

b=fh(a)

生矣函数句柄,我们不怕好创建匿名函数(Anonymous Functions):

sqr = @(x) x.^2;
a = sqr(5);

  利用narginnargout可以实现以不同为函数定义的参数和归值个数调用函数,例子如下(取自Matlab
R2014帮文档):

 1 % file: addme.m
 2 function c = addme(a,b)
 3 switch nargin
 4     case 2
 5         c = a + b;
 6     case 1
 7         c = a + a;
 8     otherwise
 9         c = 0;
10 end

1 % file: subtract.m
2 function [dif,absdif] = subtract(y,x)
3 dif = y - x;
4 if nargout > 1
5    disp('Calculating absolute value')
6    absdif = abs(dif);
7 end

  利用vararginvarargout可以兑现而转移参数和归值列表,例子如下(取自Matlab
R2014帮扶文档):

1 % file: varlist.m
2 function varlist(varargin)
3    fprintf('Number of arguments: %d\n',nargin);
4    celldisp(varargin)

1 % file: sizeout.m
2 function [s,varargout] = sizeout(x)
3 nout = max(nargout,1) - 1;
4 s = size(x);
5 for k=1:nout
6    varargout{k} = s(k);
7 end

  Matlab函数的参数就是单记号,它自身可以是其它项目,可以是标量或向量或矩阵,可以以函数内部以一些停放指令来获取参数个数类型等消息,这就是说,Matlab的函数本身是多态或是重载的。为方便开展次设计,Matlab任然支持展示的函数重载,参考Matlab
R2014a扶文档“Types of Functions”、Matlab R2012a帮助文档“Matlab/Getting
Started/Programming/Scripts and Functions/Types of Functions”。

 

4.矩阵暨矩阵化编程

矩阵的创造(参考Matlab
R2014a拉文档“Array Creation and Concatenation”、《MATLAB
R2011a课》第3章p124):

Function

Description

a:b, a:inc:b

Generating a Numeric Sequence(row vector)

ones

Create a matrix or array of all ones

zeros

Create a matrix or array of all zeros

eye

Create a matrix with ones on the diagonal and zeros elsewhere

accumarray

Distribute elements of an input matrix to specified locations in an output matrix, also allowing for accumulation

diag

Create a diagonal matrix from a vector

magic

Create a square matrix with rows, columns, and diagonals that add up to the same number

rand

Create a matrix or array of uniformly distributed random numbers

randn

Create a matrix or array of normally distributed random numbers and arrays

randperm

Create a vector (1-by-n matrix) containing a random permutation of the specified integers

矩阵维度信息(参考Matlab
R2014a帮扶文档“Array Dimensions”):

Function

Description

length

Length of vector or largest array dimension

ndims

Number of array dimensions

numel

Number of array elements

size

Array dimensions

isempty

Determine whether array is empty([ ])

isscalar

Determine whether input is scalar(1×1)

iscolumn

Determine whether input is column vector(Nx1)

isrow

Determine whether input is row vector(1xN)

isvector

Determine whether input is vector

ismatrix

Determine whether input is matrix

矩阵元素索引(indexing,参考Matlab
R2014a协助文档“Indexing”、《MATLAB R2011a科目》第3章p125):

  1. 备下标访问:A(a,b),a、b可以是标量、向量,“:”索引该维度所有值,“a:end”从a到拖欠维度最酷价值;
  2. 只下标访问:A(a),a可以是标量、向量、矩阵,对a的每个元素将A按列优先索引形成与a尺寸相同矩阵,“:”将A按列优先得到列向量;
  3. 逻辑标示法:A(L),L是和A尺寸相同之逻辑矩阵,索引出L为1(true)对应的A的元素。

矩阵的控制(参考Matlab
R2014a协助文档“Sorting and Reshaping Arrays”、《MATLAB
R2011a课》第3章p127):

Function

Description

diag

Get diagonal elements or create diagonal matrix

repmat

Replicate and tile array

reshape

Reshape array

flipud

Flip array up to down

fliplr

Flip array left to right

rot90

Rotate array 90 degrees

[ ], =[ ]

Empty array(delete)

[a, b], [a; b]

Concatenate arrays horizontally(vertically)

矩阵索引例子(《MATLAB R2011a教程》第3章p125 例3.2-6):

A=zeros(2,6)
A(:)=1:12

A =
     0     0     0     0     0     0
     0     0     0     0     0     0
A =
     1     3     5     7     9    11
     2     4     6     8    10    12  

A(2,4)
A(8)

ans =
     8
ans =
     8  

A(:,[1,3])
A([1,2,5,6]')

ans =
     1     5
     2     6
ans =
     1
     2
     5
     6  

A(:,4:end)

ans =
     7     9    11
     8    10    12  

A(2,1:2:5)=[-1,-3,-5]

A =
     1     3     5     7     9    11
    -1     4    -3     8    -5    12  

B=A([1,2,2,2],[1,3,5] )

B =
     1     5     9
    -1    -3    -5
    -1    -3    -5
    -1    -3    -5  

L=A<3
A(L)=NaN    
L =
     1     0     0     0     0     0
     1     0     1     0     1     0
A =
   NaN     3     5     7     9    11
   NaN     4   NaN     8   NaN    12  

矩阵操纵例子(《MATLAB R2011a教程》第3章p127 例3.2-7、3.2-8):

a=1:8
A=reshape(a,4,2)
A=reshape(A,2,4)

a =
     1     2     3     4     5     6     7     8
A =
     1     5
     2     6
     3     7
     4     8
A =
     1     3     5     7
     2     4     6     8  

b=diag(A)
B=diag(b)

b =
     1
     4
B =
     1     0
     0     4  

D1=repmat(B,2,4)

D1 =
     1     0     1     0     1     0     1     0
     0     4     0     4     0     4     0     4
     1     0     1     0     1     0     1     0
     0     4     0     4     0     4     0     4  

D1([1,3],: )=[ ]

D1 =
     0     4     0     4     0     4     0     4
     0     4     0     4     0     4     0     4 

A=reshape(1:9,3,3)  

A =
     1     4     7
     2     5     8
     3     6     9  

B=flipud(A) 

B =
     3     6     9
     2     5     8
     1     4     7  

C=fliplr(A)    

C =
     7     4     1
     8     5     2
     9     6     3  

D=rot90(A,2)

D =
     9     6     3
     8     5     2
     7     4     1 

矩阵化编程

  矩阵的逻辑标示法索引方式,和眼前提到的算符和表达式的“数组运算”方式做得来强的“矩阵化”编程方式,用这种方式代替循环结构不仅可简化代码,还足以大大提高代码执行效率,例子如下。

  程序一旦计算下面的函数:

766游戏网官网 11

个中theta在二维下为10/(7*pi*h^2),函数图像如下所示(类高斯函数):

766游戏网官网 12

下比较常见循环实现同矩阵实现的频率差别:

% file: w1.m
function [ out ] = w1(r, h)
    if nargin==1
        h = 1;
    end
    if 0<=r && r<h
        q = r/(h/2);
        theta = 10/(7*pi*h^2);
        if q<=1
            out = theta* (1-1.5*q^2+0.75*q^3);
        else
            out = theta* (0.25*(2-q)^3);
        end
    else
        out = 0;
    end
end

% file: w2.m
function [ out ] = w2(r, h)
    if nargin==1
        h = 1;
    end
    theta = 10/(7*pi*h^2);
    q = r./(h/2);
    R = 0<=r & r<h;
    W = q<=1;
    out = zeros(size(r));
    L = R & W;
    ql = q(L);
    out(L) = theta* (1-1.5*ql.^2+0.75*ql.^3);
    L = R & ~W;
    ql = q(L);
    out(L) = theta* (0.25*(2-ql).^3);
end

% file: abc.m

inc = 0.005;
x = -1:inc:1;
y = x;
t = [];

% 循环版本
tic;
Z = zeros(numel(x),numel(y));
for i=1:numel(x)
    for j=1:numel(y)
        Z(i,j) = w1((x(i)^2+y(j)^2)^0.5);
    end
end
t = [t,toc];
disp('循环版本时间'); disp(t(1));

% 矩阵版本
tic;
[X,Y] = meshgrid(x,y);
D = (X.^2+Y.^2).^0.5;
Z = w2(D);
t = [t,toc];
disp('矩阵版本时间'); disp(t(2));

disp('加速比为'); disp(t(1)/t(2));
% 绘制时间图
figure;
bar(t,0.2);

运转结果如下:

>> abc
循环版本时间
    1.9316

矩阵版本时间
    0.0462

加速比为
   41.8445

766游戏网官网 13

矩阵化编程的一般思路是运用数学上矩阵运算规则、矩阵的数组运算和bsxfun函数,必要时辅以矩阵操纵。

字符串,Cell数组,Table,Struct

  字符串,Cell数组,Table,Struct本质上都是数组。字符串的要素是char;Cell数组的素是cell,cell相当给一个容器,其中可存任意类型,如double型矩阵,字符串,甚至是cell,cell
的始末用{}提取;Table来硌像数据库的阐发;Struct类似于C语言的结构体。请读者参考Matlab
R2014a拉文档“Fundamental MATLAB Classes”。

 

5.总与越深造

  1. 要快速入门Matlab,参考Matlab R2014a扶助文档“Matlab/Getting
    Started with MATLAB”、Matlab R2012a帮助文档“Matlab/Getting
    Started”;
  2. Matlab的符号表,参考Matlab R2014a跟R2012a帮助文档“Symbol
    Reference”;
  3. 要查看Matlab所有关键字,请用iskeyword指令(不若另外参数);
  4. Matlab的基本数据类型,参考Matlab
    R2014a和R2012a帮助文档“Fundamental MATLAB Classes”;
  5. Matlab基本算符和表达式,参考Matlab R2014a援手文档“Operators and
    Elementary Operations”、Matlab R2012a帮助文档“MATLAB/User’s
    Guide/Programming Fundamentals/Language/Program
    Components/Operators”、《MATLAB R2011a课程》第3章p130、p138、p139;
  6. Matlab控制流,参考Matlab R2014a以及R2012a帮助文档“Control Flow”;
  7. Matlab函数,参考Matlab R2014a助文档“Types of
    Functions”、Matlab R2012a帮助文档“Matlab/Getting
    Started/Programming/Scripts and Functions/Types of Functions”;
  8. 要查看Matlab所有指令(函数),参考Matlab
    R2014a暨R2012a帮助文档“Matlab/Functions”。

  进一步的就学内容或连Matlab面向对象编程(类)、GUI编程、Simullink齐。我多年来时有发生或会见又发作一样首“Matlab绘图基本功”,敬请期待。

 

参考文献:

  1. 《MATLAB
    R2011a课》(张志涌等,北京航空航天大学出版社,2011),第1、3、6章,附录A;
  2. Matlab R2012a帮助文档,“MATLAB/Getting Started”,“MATLAB/User
    Guides”,“MATLAB/Functions”(在线版本);
  3. Matlab R2014a拉文档,“MATLAB/Language Fundamentals”,“MATLAB/Programming Scripts and
    Functions”(在线版本)。

    

发表评论

电子邮件地址不会被公开。 必填项已用*标注