MATLAB 变量2024 年 8 月 29 日 | 4 分钟阅读 目标: 学习数据类型、常量和变量、字符、运算符、赋值语句。 考虑向量和矩阵命令,对向量和矩阵进行运算,以及矩阵操作。 变量: MATLAB 变量是包含一个区域的内存区域,该区域由用户指定的名称已知。 这些变量有两种类型 - double: - 64 位 (10^-308 到 10^308,具有 15 到 16 位有效十进制数字)。
e.g:
var=10.5 //Real value
var=10i , var=-4j //Imaginary value
var=10+10i - char: - 16 位 (-32768-32767)
e.g:
var='This is a character string';
变量的初始化- 赋值语句: 这是最简单的,用于小型数组。
变量=表达式; 其中变量是名称,表达式是标量常量、数组或约束、其他变量和数学运算的组合。 每行中的元素数量必须相同。 此外,每列中的元素数量也必须相同。
>> var= [3.4] //creates a 1x1 array with value 3.4
var = 3.4000
>> var= [1.0 2.0 3.0] // creates a 1x3 array with value [1 2 3]
var=1 2 3
>> var= [1.0;2.0;3.0] // creates a 3x1 array
var = 1
2
3
>> var= [1,2,3;4,5,6] //creates a 2x3 array
var = 1 2 3
4 5 6
>> var= [1,2,3
4,5,6] //creates a 2x3 array
var = 1 2 3
4 5 6
>> var= [] //creates an empty array
var = []
>> var1= [0 1+7]
var1 = 0 8
>> var2=[var1(2) 7 var1]
var2 = 8 7 0 8
>> var3(2,3) =5
var3 = 0 0 0
0 0 5
>> var3(3,3) =6
var3 =0 0 0
0 0 5
0 0 6
>> x= [1:2:10]
x = 1 3 5 7 9 快捷方式可以与转置运算符 (') 组合使用,以初始化列向量。 >> f= [1:4]'
f =1
2
3
4
>> g=[1:4]
g =1 2 3 4
>> h=[g',g']
h =1 1
2 2
3 3
4 4 >> a=zeros (2)
a =0 0
0 0
>> b=zeros (2,3)
b = 0 0 0
0 0 0
>> c= [1,2;3,4]
c =1 2
3 4
>> d=zeros(size(c))
d = 0 0
0 0 Ones: 0 替换为 1 >> f=ones (4)
f = 1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1 Eyes: 生成包含单位矩阵的数组,其中所有对角线元素为 1,而所有非对角线元素为 0。 >> e=eye(4)
e = 1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1 - 键盘输入:input 函数
- 变量=input ('输入一个输入值')
- 输入一个输入值
- 变量=input ('输入数据','s')
- 输入数据 3
变量 =3
- 多维数组
- c(:,:,1) =[1 2 3;4 5 6]
- c = 1 2 3
4 5 6 - c(:,:,2) = 7 8 9
10 11 12
- 将多维数组存储在内存中
• Eg: a= [1 2 3;4 5 6;7 8 9;10 11 12]
a =
1 2 3
4 5 6
7 8 9
10 11 12 - 子数组
• arr= [1 2 3;-2 -3 -4;3 4 5]
arr = 1 2 3
-2 -3 -4
3 4 5
arr1(1,:)=[1 2 3]
• arr1 = 1 2 3 - End 函数
• arr=[1 2 3 4 5 6 7 8];
• >> arr(5:end)
ans = 5 6 7 8
• >> arr(1:2,[1,4])=[20 21 ;22 23]
arr =
20 2 3 21 5 6 7 8
22 0 0 23 0 0 0 0
• >> arr=[1 2 3 4 ;5 6 7 8;9 10 11 12];
• >> arr(1:2,1:2)=1
arr =
1 1 3 4
1 1 7 8
9 10 11 12 - 预定义特定值
- pi:它包含最多 15 位有效数字的值
- inf:无穷大
- nan:非数字
- clock:当前日期和时间,格式为 6 个元素向量,包含
年、月、日和秒 - date:当前日期,以字符串格式表示,例如:2019 年 1 月 24 日
- eps:Esiton 即两个数字之间的最小差值
- ans:用于存储表达式的结果
- 显示输出数据
- 使用 fprintf 函数的格式化输出函数
- 一起显示一个或多个值以及相关文本,并让程序员控制显示值的显示方式
- 语法:fprintf(格式,数据);
- 例如:fprintf('pi 的值为 %f\n',pi);
fprintf('pi 的值为 %d\n',pi); fprintf('pi 的值为 %e\n',pi);
- 标量运算
• E.g.: =2^ ((8+2)/5)
=26(10/5)
=2^2
=4 - 数组操作
z=1
>> z
z =1 2
3 4
>> y=-1
y = -1
>> y
y =-1 3
-2 0
>> y+z
ans =
0 5
1 4 - 基于线性代数的矩阵运算
操作 | Matlab 形式 | 注释 |
---|
Array 加法 | a+b | 数组和矩阵加法相同 | 数组减法 | a-b | 数组和矩阵减法相同 | 数组乘法 | a.*b | 数组乘法,a 和 b 的逐元素乘法 | 矩阵乘法 | a*b | 对于矩阵乘法,矩阵 a 中的列数 = 矩阵 b 的列数 | 数组右除法 | a./b | a 和 b 的逐元素除法 | 数组左除法 | a.\b | a 和 b 的逐元素除法,在编号中 | 矩阵右除法 | a/b | a* inv(b),其中 inv 代表逆 | 矩阵左除法 | a\b | inv(a)*b | 数组指数 | a.^b | a 和 b 的逐元素指数,即 a( i , j) ^ b( i , j) |
|