MATLAB学习第二天(基础语法、变量、命令以及新建自己文件)

目录​​​​​​​

一、MATLAB基本语法

执行MATLAB命令

MATLAB实践

MATLAB常用的运算符和特殊字符

MATLAB常用的运算符使用示例

MATLAB特殊变量和常量

MATLAB命名变量

保存你的工作进度

二、MATLAB变量

MATLAB可以多个赋值

MATLAB如何显示已经使用的变量名?

长任务

MATLAB格式命令

MATLAB创建向量

MATLAB创建矩阵

三、MATLAB命令

MATLAB管理会话的命令

MATLAB的系统命令

MATLAB输入和输出命令

MATLAB向量,矩阵和阵列命令

MATLAB绘图命令

四、MATLAB M-Files

MATLAB的 M 文件

MATLAB创建并运行脚本文件

例子


一、MATLAB基本语法

点乘运算

,

常与其他运算符

点乘运算,常与其他运算符联合使用(如.\)

矩阵生成 矩阵生成 向量生成或子阵提取本节将会介绍一些MATLAB的基本语法的使用。

在 MATLAB 环境下进行的操作就像是使用一个超级复杂的计算器,不要被这吓到了。在您开始使用 MATLAB 时可以在“>>”命令提示符下输入命令。

执行MATLAB命令

MATLAB 是一种解释型的环境。也就是说,只要你给MATLAB一个命令,它就会马上开始执行。

MATLAB实践

在">>" 命令提示符下键入一个有效的表达,例如:

5 + 5

然后按 ENTER 键

当点击“执行”按钮,或者按“Ctrl+ E”,MATLAB执行它并返回结果:

ans = 10

让我们使用几个例子:

3 ^ 2	       % 3 raised to the power of 2

当你点击“执行”按钮,或者按“Ctrl+ E”,MATLAB执行它并返回结果:

ans = 9

另外一个例子:

sin(pi /2)	  % sine of angle 90o

当你点击“执行”按钮,或者按“Ctrl+ E”,MATLAB执行它并返回结果:

ans = 1

另外一个例子,

7/0		      % Divide by zero

当点击“执行”按钮,或者按“Ctrl+ E”,MATLAB执行它并返回结果:

ans = Inf
warning: division by zero

另外一个例子,

732 * 20.3	

当点击“执行”按钮,或者按“Ctrl+ E”,MATLAB执行它并返回结果:

ans =  1.4860e+04

MATLAB 提供了一些特殊的一些数学符号的表达,像圆周率 π, Inf for ∞, i (and j) for √-1 etc. Nan 代表“不是一个数字”。

MATLAB常用的运算符和特殊字符

MATLAB常用的运算符和特殊字符如下表所示:

运算符目的
+加;加法运算符
-减;减法运算符
*标量和矩阵乘法运算符
.*数组乘法运算符
^标量和矩阵求幂运算符
.^数组求幂运算符
\矩阵左除
/矩阵右除
.\阵列左除
./阵列右除
:向量生成;子阵提取
( ) 下标运算;参数定义 
[ ]矩阵生成
.点乘运算,常与其他运算符联合使用
续行标志;行连续运算符
,分行符(该行结果不显示)
;语句结束;分行符(该行结果显示)
%注释标志
_引用符号和转置运算符
._非共轭转置运算符
=赋值运算符

MATLAB常用的运算符使用示例

MATLAB分号(;)使用

MATLAB中分号(;)表示语句结束;但是,如果想抑制和隐藏 MATLAB 输出表达,表达后添加一个分号。

例如,

x = 3;
y = x + 5

当点击“执行”按钮,或者按“Ctrl+ E”,MATLAB执行它立即返回的结果是:

y =  8

MATLAB添加注释

MATLAB的百分比符号(%)是用于表示一个注释行。例如:

x = 9	     % assign the value 9 to x

也可以写注释,使用一块块注释操作符%{%}。

MATLAB编辑器包括工具和上下文菜单项,来帮助添加,删除或更改注释的格式。

MATLAB特殊变量和常量

MATLAB支持以下特殊变量和常量:

NameMeaning
ans默认的变量名,以应答最近依次操作运算结果
eps浮点数的相对误差
i,j虚数单位,定义为 i2 = j2 = -1
Inf代表无穷大
NaN代表不定值(不是数字)
pi圆周率

MATLAB命名变量

变量名称是由一个字母后由任意数量的字母,数字或下划线。

注意MATLAB中是区分大小写的。

变量名可以是任意长度,但是,MATLAB使用只有前N个字符,其中N是由函数namelengthmax。

保存你的工作进度

MATLAB使用save命令保存工作区中的所有变量,然后作为一个扩展名为.mat的文件,在当前目录中。 

如以下例子:

save myfile

该文件可以随时重新加载,然后使用load命令。

load myfile

二、MATLAB变量

 

每个MATLAB变量可以是数组或者矩阵。

用一个简单的方法指定变量。例如:

x = 3	       % defining x and initializing it with a value

MATLAB执行上述语句,并返回以下结果:

x =
     3

上述的例子创建了一个1-1的矩阵名为x和的值存储在其元素中。我们可以看看另外的例子,

x = sqrt(16) 	% defining x and initializing it with an expression

MATLAB执行上述语句,并返回以下结果:

x =
     4

MATLAB注意事项:

例如:

x = 7 * 8;
y = x * 7.89

MATLAB将执行上面的语句,并返回以下结果:

y =
  441.8400

例如:

sqrt(78)

MATLAB将执行上面的语句,并返回以下结果:

ans =
    8.8318

变量 ans 可以被继续使用:

9876/ans

MATLAB将执行上面的语句,并返回以下结果:

ans =
   1.1182e+03
  • 在使用变量之前,必须进行赋值。

  • 当系统接收到一个变量之后,这个变量可以被引用。

  • 当表达式返回一个结果,不分配给任何变量,系统分配给一个变量命名ans,以后可以继续使用。

MATLAB可以多个赋值

多个任务可以在同一行。例如,

a = 2; b = 7; c = a * b

MATLAB将执行上面的语句,并返回以下结果:

c =
    14

MATLAB如何显示已经使用的变量名?

在MATLAB中可以使用 who 命令显示所有已经使用的变量名。

who

MATLAB将执行上面的语句,并返回以下结果:

Your variables are:
a    ans  b    c    x    y    

whos 命令则显示多一点有关变量:

  • 当前内存中的变量

  • 每个变量的类型

  • 内存分配给每个变量

  • 无论他们是复杂的变量与否

whos

MATLAB将执行上面的语句,并返回以下结果:

  Name      Size            Bytes  Class     Attributes

  a         1x1                 8  double              
  ans       1x1                 8  double              
  b         1x1                 8  double              
  c         1x1                 8  double              
  x         1x1                 8  double              
  y         1x1                 8  double      

clear命令删除所有(或指定)从内存中的变量(S)。

clear x     % it will delete x, won't display anything
clear	     % it will delete all variables in the workspace
             %  peacefully and unobtrusively 

长任务

长任务可以通过使用省略号(...)延伸到另一条线路。例如,

initial_velocity = 0;
acceleration = 9.8;
time = 20;
final_velocity = initial_velocity ...
    + acceleration * time

MATLAB将执行上面的语句,并返回以下结果:

final_velocity =
   196

MATLAB格式命令

默认情况下,MATLAB 四个小数位值显示数字。这就是所谓的 short format.

如果想更精确,需要使用 format 命令。

长(long ) 命令格式显示小数点后16位。

例如:

format long
x = 7 + 10/3 + 5 ^ 1.2

MATLAB将执行上面的语句,并返回以下结果:

x =
  17.231981640639408

format short 例子:

format short
x = 7 + 10/3 + 5 ^ 1.2

MATLAB将执行上面的语句,并返回以下结果:

x =
   17.2320

空格格式命令回合到小数点后两位数字。例如:

format bank
daily_wage = 177.45;
weekly_wage = daily_wage * 6

MATLAB将执行上面的语句,并返回以下结果:

weekly_wage =
       1064.70

MATLAB 显示大量使用指数表示法。

短格式e命令允许以指数的形式显示小数点后四位,加上指数。

例如:

format short e
4.678 * 4.9

MATLAB将执行上面的语句,并返回以下结果:

ans =
   2.2922e+01 

format long e命令允许以指数的形式显示小数点后十六位,加上指数。例如:

format long e
x = pi

MATLAB将执行上面的语句,并返回以下结果:

x =
     3.141592653589793e+00

format rat 格式大鼠命令给出最接近的有理表达式,从计算所得。例如:

format rat
4.678 * 4.9

MATLAB将执行上面的语句,并返回以下结果:

ans =
   2063/90  

MATLAB创建向量

向量是一维数组中的数字。 MATLAB允许创建两种类型的矢量:

  • 行向量

  • 列向量

创建行向量括在方括号中的元素的集合,用空格或逗号分隔的元素。

例如,

r = [7 8 9 10 11]

MATLAB将执行上面的语句,并返回以下结果:

r =
  Columns 1 through 4
       7              8              9             10       
  Column 5
      11    

另外一个例子,

r = [7 8 9 10 11];
t = [2, 3, 4, 5, 6];
res = r + t

MATLAB将执行上面的语句,并返回以下结果:

res =
  Columns 1 through 4
       9             11             13             15       
  Column 5
      17

创建列向量通过内附组方括号中的元素,使用分号(;)分隔的元素。

c = [7;  8;  9;  10; 11]

MATLAB将执行上面的语句,并返回以下结果:

c =
       7       
       8       
       9       
      10       
      11  

MATLAB创建矩阵

矩阵是一个二维数字阵列。

在MATLAB中,创建一个矩阵每行输入空格或逗号分隔的元素序列,最后一排被划定一个分号。

例如,下面创建了一个3×3的矩阵:

m = [1 2 3; 4 5 6; 7 8 9]

MATLAB执行上述语句,并返回以下结果:

m =
       1              2              3       
       4              5              6       
       7              8              9     

三、MATLAB命令

本节的内容将提供常用的一些MATLAB命令

在之前的篇章中我们已经知道了MATLAB数值计算和数据可视化是一个交互式程序,在它的命令窗口中您可以在MATLAB提示符“>>”下键入命令。

MATLAB管理会话的命令

MATLAB提供管理会话的各种命令。如下表所示:

命令目的/作用
clc清除命令窗口。
clear从内存中删除变量。
exist检查存在的文件或变量。
global声明变量为全局。
help搜索帮助主题。
lookfor搜索帮助关键字条目。
quit停止MATLAB。
who列出当前变量。
whos列出当前变量(长显示)。

MATLAB的系统命令

使用MATLAB的时候有一些系统命令可以方便我们的操作,如在当前的工作区中可以使用系统命令保存为一个文件、加载文件、显示日期、列出目录中的文件和显示当前目录等。

下表列举了一些MATLAB常用的系统相关的命令:

命令目的/作用
cd改变当前目录。
date显示当前日期。
delete删除一个文件。
diary日记文件记录开/关切换。
dir列出当前目录中的所有文件。
load负载工作区从一个文件中的变量。
path显示搜索路径。
pwd显示当前目录。
save保存在一个文件中的工作区变量。
type显示一个文件的​​内容。
what列出所有MATLAB文件在当前目录中。
wklread读取.wk1电子表格文件。 

MATLAB输入和输出命令

MATLAB提供了以下输入和输出相关的命令:

命令作用/目的
disp显示一个数组或字符串的内容。
fscanf阅读从文件格式的数据。
format控制屏幕显示的格式。
fprintf执行格式化写入到屏幕或文件。
input显示提示并等待输入。
;禁止显示网版印刷

fscanf和fprintf命令的行为像C scanf和printf函数。他们支持格式如下代码:

格式代码目的/作用
%s输出字符串
%d输出整数
%f输出浮点数
%e显示科学计数法形式
%g%f 和%e 的结合,根据数据选择适当的显示方式

用于数字显示格式的函数有以下几种形式:

Format函数最多可显示
format short四位十进制数(默认)
format long15位定点表示
format short e五位浮点表示
format long e15位浮点表示
format bank两个十进制数字
format +正,负或零
format rat有理数近似
format compact变量之间没有空行
format loose变量之间有空行

MATLAB向量,矩阵和阵列命令

下表列出了MATLAB用于工作数组、矩阵和向量的各种命令:

命令作用/目的
cat连接数组
find查找非零元素的索引
length计算元素数量
linspace创建间隔向量
logspace创建对数间隔向量
max返回最大元素
min返回最小元素
prod计算数组元素的连乘积
reshape重新调整矩阵的行数、列数、维数
size计算数组大小
sort排序每个列
sum每列相加
eye创建一个单位矩阵
ones生成全1矩阵
zeros生成零矩阵
cross计算矩阵交叉乘积
dot计算矩阵点积
det计算数组的行列式
inv计算矩阵的逆
pinv计算矩阵的伪逆
rank计算矩阵的秩
rref将矩阵化成行最简形
cell创建单元数组
celldisp显示单元数组
cellplot显示单元数组的图形表示
num2cell将数值阵列转化为异质阵列
deal匹配输入和输出列表
iscell判断是否为元胞类型 

MATLAB绘图命令

MATLAB提供了大量的命令绘制图表。下表列出了一些常用的命令绘制:

命令作用/目的
axis人工选择坐标轴尺寸
fplot智能绘图功能
grid显示网格线
plot生成XY图
print打印或绘图到文件
title把文字置于顶部
xlabel将文本标签添加到x轴
ylabel将文本标签添加到y轴
axes创建轴对象
close关闭当前的绘图
close all关闭所有绘图
figure打开一个新的图形窗口
gtext通过鼠标在指定位置放注文
hold保持当前图形
legend鼠标放置图例
refresh重新绘制当前图形窗口
set指定对象的属性,如轴
subplot在子窗口中创建图
text在图上做标记
bar创建条形图
loglog创建双对数图
polar创建极坐标图像
semilogx创建半对数图(对数横坐标)
semilogy创建半对数图(对数纵坐标)
stairs创建阶梯图
stem创建针状图

四、MATLAB M-Files

我们一直强调MATLAB是一个功能强大的编程语言及交互式计算环境,之前学习的内容中,我们学会了在 MATLAB 命令提示符下输入命令,而且我们主要是把MATLAB环境作为一个计算器使用。其实,MATLAB 还允许写入到一个文件中的一系列命令和执行文件完整的单元,就好比是写一个函数,然后调用它。

在开始接下来的学习内容前,我们要先了解在 MATLAB 中的 M 文件有两种类型,详细内容请往下看:

MATLAB的 M 文件

MATLAB允许写两个程序文件:

  • 脚本 - 脚本文件 .m 扩展程序文件。在这些文件中写的一系列命令,想一起执行。脚本不接受输入和不返回任何输出。他们在工作区中的数据操作。

  • 函数 - 函数文件 .m 扩展程序文件。函数可以接受输入和返回输出。内部变量是本地的函数。

.m 文件不一定要使用 MATLAB 编辑器创建,其他任何的文本编辑器也是可以的。在本节中,我们将讨论的脚本文件。MATLAB 命令和函数调用的脚本文件包含多个连续的行。可以运行一个脚本,在命令行中键入其名称。

MATLAB创建并运行脚本文件

创建脚本文件,需要使用文本编辑器。可以打开 MATLAB 编辑器,可使用两个方法:

  • 使用命令提示符

  • 使用IDE

如果是在命令提示符下使用命令提示符下,键入编辑。这将打开编辑器。可以直接键入编辑,然后在文件名( .m 扩展程序文件名)

edit 
Or
edit <filename>

上面的命令将在默认情况下,MATLAB 目录中创建文件。如果想存储在一个特定的文件夹中的所有程序文件,那么一定要提供整个路径。

让我们创建一个文件夹名为 progs。在命令提示符处键入以下命令(>>):

mkdir progs    % create directory progs under default directory
chdir progs    % changing the current directory to progs
edit  prog1.m  % creating an m file named prog1.m

如果首次创建的文件,MATLAB 会提示您进行确认。单击“Yes”。

另外,如果使用的是IDE,选择 NEW -> Script。这也打开编辑器,并创建一个文件名为命名。输入代码后可以命名并保存文件。

在编辑器中输入下面的代码:

NoOfStudents = 6000;
TeachingStaff = 150;
NonTeachingStaff = 20;
Total = NoOfStudents + TeachingStaff ...
    + NonTeachingStaff;
disp(Total);

创建和保存文件后,可以运行在两个方面:

  • 编辑器窗口中单击“Run”按钮或

  • 只要在命令提示符下键入文件名(不含扩展名):>> prog1

命令窗口提示显示的结果是:

6170

例子

我们在MATLAB中创建一个脚本文件,然后输入下面的代码:

a = 5; b = 7;
c = a + b
d = c + sin(b)
e = 5 * d
f = exp(-d)

编译并执行上述代码,会产生以下结果:

c =
    12
d =
   12.6570
e =
   63.2849
f =
   3.1852e-06

  • 11
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Token_w

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值