一、MATLAB变量命名规则
- 变量名区分大小写
- 变量名长度不超过63位
- 变量名以字母开头,可以由字母、数字下划线组成,但不能使用标点
1. 变量名区分大小写
a=2
b=3
c=a+b
c=A+b
c=A+b会出现报错
提示未定义变量'A'
2.变量名长度不超过63位
ABDSADASJKLFJSDGFHNRIONFGIORHGIRHGBIROEGJOPRGJOPREOPWREJROPRWEMJRO=3
超过的长度将会被截断
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)
%% 生成10行5列3维的零矩阵
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.注释
%%
% 双百分号加空格,是注释一行
注释是百分号加空格,与其他语言中的"//"等同