MATLAB

354 阅读3分钟

一、MATLAB变量命名规则

  • 变量名区分大小写
  • 变量名长度不超过63位
  • 变量名以字母开头,可以由字母、数字下划线组成,但不能使用标点

1. 变量名区分大小写

a=2
b=3
c=a+b
c=A+b

c=A+b会出现报错

提示未定义变量'A'

2.变量名长度不超过63位

ABDSADASJKLFJSDGFHNRIONFGIORHGIRHGBIROEGJOPRGJOPREOPWREJROPRWEMJRO=3

超过的长度将会被截断

image.png

3.变量名以字母开头,可以由字母、数字下划线组成,但不能使用标点

与其他语言上命名规则有区别

java命名

  • 可以以字母、下划线、或者美元符$开头
  • 除开头外后面的部分可以有字母、下划线、美元符$以及数字组成

二、MATLAB数据类型

  • 数字
  • 字符和字符串
  • 矩阵
  • 元胞数组
  • 结构体

1.数字、字符、字符串

与其他语言等同,输出语法有所区别

s='a'

abs(s) 输出ASCII码值 char(97) 输出字符 num2str(65) 输出数字

str ='hello'
length(str)

输出字符串长度

2.矩阵

(一)、矩阵定义与运算

1.定义

赋值矩阵框框数直接间用空格或逗号隔开,用分号换行

A=[1 2 3;4 5 2;3 2 7]

2.运算

B=A' 转置 c=A(:) 竖着拉长矩阵 D =inv(A) 求逆

注:inv求逆,矩阵必须是方阵,非方阵无法求逆

(二)、rand、randi和randn的区别

1.rand生成均匀分布的伪随机数。分布在(0-1)之间

rand(m,n)生成m行n列的均匀分布的伪随机数

rand(m,n,'double')生成指定精度的均匀分布的伪随机数,参数还可以是'single'

rand(RandStream,m,n)利用指定的RandStream(理解为随机种子)生成伪随机数

2.radnn生成标准正态分布的伪随机数(均值为0,方差为1)

语法同上

3.randi生成均匀分布的伪随机整数

主要语法:

randi(iMax)在开区间(0,iMax)生成均匀分布的伪随机整数

randi(iMax,m,n)在开区间(0,iMax)生成 mXn型随机矩阵

r=randi([iMin,iMax],m,n)在开区间(iMin,iMax)生成mXn型随机矩阵

E = zeros(10,5,3)
%% 生成1053维的零矩阵
E(;,;,1)=rand(10,5)
E(;,;,1)=randi(5,10,5)
E(;,;,1)=randn(10,5)

3.元胞数组

是MATLAB中特有的一种数据类型,是数组的一种,其内部元素可以是属于不同的数据类型。它特有的存取数据方法决定了它的特点,它有给人一种查询信息的感觉,可以逐渐追踪一直到所有的变量全部翻译成基本的数据信息。它的class函数输出就是cell(细胞之意)。

类似收纳盒中的小盒子分类装不同的东西。

cell定义

A=cell(1,6)% 定义一个元胞数组,(1,6)行和列
A{2}=eye(3)% 生成3*3对角线数值为1的单位矩阵
A{5}=magic(5)% 生成n阶幻方,每行、每列、以及主、副对角线上面n个数之和都相等。
B=A{5}

matlab数组是从1开始的

4.结构体

使用sturct定义出来

books = struct('name',{{'Machine Learning','Data Mining'}},'price,[30 40])
books.name % 属性
books.name(1)% 取出来的是struct
books.name{1}% 取出字符串

三、使用命令

1.清空变量及命令

claer all 清除工作区Workspace中的所有变量 clc 清除命令行窗口Command Window中的所有命令

2.注释

%%

% 双百分号加空格,是注释一行

注释是百分号加空格,与其他语言中的"//"等同