Matlab

基础语法

简单计算

  1. 计算次幂
Trial>>3^2
ans=

    9
  1. 数学表达式
Trial>>123*23.259
ans=

    2.8609e+03

Matlab为某些数学符号提供了特殊的表达式,如piπInfiorj (1) ( − 1 ) .Nan表示“非数字”

分号的使用

;表语句的结束。若要抑制和隐藏表达式输出,需要加;

注释

%——行注释
%{%}——块注释

常用运算符

运算符使用说明
^标量和矩阵求幂运算符
\左除法运算符
/右除法运算符
:生成规则间隔的元素,并表示整个行或列
()包含函数参数和数组索引; 覆盖优先级
[]罩住阵列元素
行连续运算符
_引用符号和转置运算符

特殊变量和常数

名称含义
ans最近的回应/回答
eps浮点精度精度
ij虚构单位√-1
Inf无穷
NaN未定义的数值结果(非数字)
piπ

命名变量

变量名称由一个字母组成,后跟字母,数字或下划线。
MATLAB区分大小写。

保存

save用于在工作空间中保存所有变量,它在当前目录中,以.mat作为扩展名的文件

save mymat.mat

可用load重新加载文件

load mymat.mat

变量

每个变量都是数组或矩阵

Trial>>x=3  %它创建一个名为x的1×1矩阵,并将值3存储在其元素中。
x=

    3

注意
1. 当变量输入到系统中,可以在接下来代码中引用。
2. 变量在使用前必须有值
3. 当表达式返回未分配给任何变量的结果时,系统将其分配给名为ans的变量
例如

Trial>>sqrt(99)
ans=

    9.9499

可以使用这个ans变量

多重分配赋值

在同一行上拥有多个赋值

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

    14

变量历史

who显示使用过的所有变量名

Trial>>who

您的变量为:
ans x   y

whos显示:
1. 当前内存中的变量
2. 变量类型
3. 变量的内存分配
4. 是否是复合变量

Trial>>whos
Name        Size        Bytes  Class        Attributes
ans         1x1         8       double
x           1x1         8       double
y           1x1         8       double

清除命令

clear x     %delete variable x
clear       %delete all variables in the workspace

长任务

可用...扩展到另一行

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

final_velocity =

   196

格式命令

默认情况,Matlab显示4为小数,这称为短格式
format long显示十进制后的16位数字

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

x=

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

x =

   17.2320

format bank将数字舍入小数点后2位。

Trial>> format bank
daily_wage = 177.45;
weekly_wage = daily_wage * 6

weekly_wage =

       1064.70

format short e以指数形式显示4位小数加上指数

Trial>> format short e
4.678 * 4.9

ans =

   2.2922e+01

format long e以指数形式显示16位小数加指数

Trial>> format long e
x = pi

x =

     3.141592653589793e+00

format rat给出计算结果最接近的合理表达式

Trial>> format rat
4.678 * 4.9

ans =

    2063/90

创建向量

Matlab允许两种向量

  • 行向量
  • 列向量

行向量

行向量是通过用方括号中的元素集合来创建的,使用空格或逗号分隔元素。

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

res =

       9             11             13             15             17

列向量

列向量通过用方括号中的元素集合来创建,使用分号;来分隔元素

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

c =

       7       
       8       
       9       
      10       
      11

创建矩阵

通过将每行作为一系列空格或逗号分隔的元素输入矩阵,并以行号分隔一行
例如创建一个3x3的矩阵:

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

m =

       1              2              3       
       4              5              6       
       7              8              9

命令

管理会话的命令

命令说明
clc清除命令窗口
clear删除变量
exist检查文件or变量是否存在
global声明全局变量
quit停止
who列出变量
whos列出变量详细信息

系统命令

命令说明
cd进入指定目录
date显示当前日期
delete删除文件
dir列出当前目录所有文件
loas从文件加载工作区变量
path显示搜索路径
pwd显示当前目录
save将工作区变量保存在文件中
type显示文件内容
what列出当前目录中所有MATLAB文件

输入输出命令

命令说明
disp显示数组或字符串内容
fscanf从文件读取格式化数据
fprintf对屏幕或文件执行格式化的写入
input显示提示并等待输入
;禁止打印显示

fscanffprintf支持以下格式代码

命令说明
%s格式化为字符串
%d格式化为字符串整数值
%f格式化为浮点值
%e格式化为科学记数法的浮点值
%g格式最紧凑的形式:%f%e
\n换行
\t制表符

format命令以下

命令说明
format short十进制数4位小数
format long16位
format short e4位小数加指数
format long e16位小数加指数
format bank2位小数
format +正、负、0
format rat有理近似
format compact禁止一些换行符
format loose重置为较不紧凑的显示模式

向量、矩阵和数组命令

命令说明
cat连接数组
find查找非零元素的索引
length计算元素数量
linspace创建规则间隔的向量
logspace创建对数间隔向量
max返回最大元素
min返回最小元素
prod产生每列
reshape改变大小
size计算数组大小
sort对每列排序
sum对每列求和
eye创建单位矩阵
ones创建一个数组
zeros创建一个零的数组
cross计算矩阵交叉积
dot计算矩阵点积
det计算矩阵行列式
inv计算矩阵倒数
pinv计算矩阵伪逆
rank计算矩阵的秩
rref计算简化行阶梯形式
cell创建单元格数组
celldisp显示单元格数组
cellplot显示单元格阵列的图形表示
num2cell将数组转换为单元格数组
deal匹配输入和输出列表
iscell识别单元格数组

绘图命令

命令说明
axis设置轴限制
fplot智能绘图
grid显示网格线
plot生成xy坐标图
print打印或绘图到文件
title顶部放置文字
xlabel将文本标签添加到x
ylabel将文本标签添加到y
axes创建轴对象
close关闭当前坐标图
close all关闭所有坐标图
figure打开新的图形窗口
hold冻结当前坐标图

Matlab .m脚本文件

MATLAB允许编写两种程序文件

  • 脚本 。 脚本文件是以.m扩展名的程序文件。在这些文件中,可以编写一系列要一起执行的命令。脚本不接受输入,不返回任何输出。它们对工作空间中的数据进行操作。
  • 函数。函数文件也是扩展名为.m的程序文件。函数可以接受输入和返回输出。内部变量是函数的局部变量。
    使用MATLAB编辑器或任何其他文本编辑器来创建.m文件。 在本节中,我们将讨论脚本文件。 脚本文件包含多个连续的MATLAB命令行和函数调用。可以通过在命令行中键入其名称来运行脚本。

创建和运行脚本文件

要创建脚本文件,需要使用文本编辑器。可以通过两种方式打开MATLAB编辑器:

  • 使用命令提示符
  • 使用IDE

如果使用命令提示符,请在命令提示符下键入edit并回车,这将打开编辑器。可以直接键入edit,然后直接输入文件名(扩展名为.m)

edit 
%或者%
edit newfile.m

在命令行中也可以创建文件夹,如:创建一个名为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

创建并保存文件后,可以通过两种方式运行:

  • 单击编辑器窗口上的“运行”按钮
  • 只需在命令提示符下键入文件名(无扩展名)即可:>> prog1

一个栗子

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

编译后

Trial>> sdemo

c =

    12


d =

   12.6570


e =

   63.2849


f =

   3.1852e-06

Matlab数据类型

当MATLAB遇到新的变量名称时,它将创建变量并分配适当的内存空间。
如果变量已经存在,则MATLAB将使用新内容替换原始内容,并在必要时分配新的存储空间。

基本数据类型

MATLAB提供15种基本数据类型。每种数据类型存储矩阵或数组形式的数据。矩阵或数组的最小值是00,并且是可以到任何大小的矩阵或数组。
下表显示了MATLAB中最常用的数据类型

数据类型描述
int88位有符号整数
uint88位无符号整数
int1616位有符号整数
uint1616位无符号整数
int3232位有符号整数
uint3232位无符号整数
int6464位有符号整数
uint6464位无符号整数
single单精度数值数据
double双精度数值数据
logicalbool型变量
char字符型数据

数据类型转换

函数说明
char转换为字符数组(字符串)
int2str将整数数据转换为字符串
mat2str将矩阵转换为字符串
num2str将数字转换为字符串
str2double将字符串转换为双精度值
str2num将字符串转换为数字
bin2dec将二进制数字串转换为十进制数
dec2bin将十进制转换为字符串中的二进制数
dec2hex将十进制转换为十六进制数字

数据类型确定

Matlab提供了用于识别数据类型的函数

函数说明
is检测状态
isa确定输入是否是指定类的对象
isvector确定输入是否为向量
isinteger确定输入是否为整数数组
isscalar确定输入是否为标量

决策语句

语句说明
if...end语句if ... end语句包含一个布尔表达式,后跟一个或多个语句。

向量

引用向量的元素

向量v的第i个分量叫作v(i)

Trial>> v = [ 1; 2; 3; 4; 5; 6];    % creating a column vector of 6 elements
v(3)

ans =

     3

引用带冒号的向量(如v(:))时,将列出向量的所有元素

Trial>> v = [ 1; 2; 3; 4; 5; 6];    % creating a column vector of 6 elements
v(:)

ans =

     1
     2
     3
     4
     5
     6

例如,创建一个9个元素的行向量rv,然后通过rv(3:7)引用37元素,然后引用来向一个新创建的sub_rv向量赋值。

Trial>> rv = [1 2 3 4 5 6 7 8 9];
sub_rv = rv(3:7)

sub_rv =

     3     4     5     6     7

向量转置

使用'表示向量的转置,如r'表示向量r的转置向量

%.m
r = [ 1 2 3 4 ];
tr = r';
v = [1;2;3;4];
tv = v';
disp(tr); disp(tv);

%运行结果
     1
     2
     3
     4

     1     2     3     4

附加向量

MATLAB允许将多个向量附加在一起来创建新的向量。
假设,如果有两个具有nm个元素的行向量r1r2,通过附加这两个向量来创建nxm个元素的行向量r -

r=[r1;r2]
%要做到这一点,这两个向量应该具有相同数量的元素。

列向量同理

向量的幅值(大小)

具有元素为v1v2v3,…,vn的向量v幅值(大小)由下列公式求出:

|(v)|=(v21+v22+...+v2n) | ( v ) | = ( v 1 2 + v 2 2 + . . . + v n 2 )

采取以下步骤计算向量大小
1. 以向量的乘积为单位,使用数组乘法 .*。产生向量 sv,向量 sv的元素是向量 v的元素的平方。即: sv = v.*v
2. 使用 sum函数得到向量 v的元素的平方和,也称为向量 v的点积。即: dp= sum(sv)
3. 使用 sqrt函数得到和的平方根,也是向量 v的大小。即: mag = sqrt(s)

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值