目的:研究数据类型, 常量和变量, 字符, 运算符, 赋值语句。要考虑对向量和矩阵进行操作的向量和矩阵命令, 需要对矩阵进行操作。
变量: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
字符:-16位(-32768-32767)
e.g:
var='This is a character string';
变量的初始化:
- 赋值语句:最简单, 用于小型数组。
每=表达;
其中var是名称, 而expression是缩放器常数, 数组或约束, 其他变量和数学运算的组合。
每行中的元素数必须相同。同样, 每列中的元素数必须相同。
>> 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
一个:0替换为1
>> f=ones (4)
f = 1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
眼图:生成包含恒等矩阵的数组, 其中所有对角元素为1, 而所有非对角元素为0。
>> e=eye(4)
e = 1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
键盘输入:input funcn
- var = input(“输入输入值”)
- 输入输入值
- var = input(‘输入数据’, ‘s’)
- 输入数据3
var = 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
结束功能:
• 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:不是数字
- 时钟:当前日期和时间, 形式为6元素向量, 包含
年, 月, 日和秒 - 日期:字符串格式的当前日期, 例如:2019年1月24日
- eps:Esiton, 即最小差异黑白两无
- ans:用于存储表达式的结果
显示输出数据:
Disp fn:它接受一个参数数组并在命令中显示该数组的值
window
str=['the value of pi='num2str(pi)];
disp(str);
带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
基于线性代数的矩阵运算:
Operations | Matlab Form | Comments |
---|---|---|
Array Addition |
a + b | 数组和矩阵加法相同 |
数组减法 | a-b | 数组与矩阵相减相同 |
Array Multiplication | a.*b | 数组乘以元素a和b的元素相乘 |
矩阵乘法 | a*b | 对于矩阵乘法, 矩阵a的列数=矩阵b的列数 |
阵列右划分 | a./b | a和b的逐元素除法 |
阵列左分割 | a.\b | 在Nr中按a和b进行元素除法。 |
矩阵右分区 | a/b | a * inv(b)其中inv表示逆 |
矩阵左除法 | a\b | inv(a)*b |
Array Exponential | a。^ b | a和b的逐元素指数, 即a(i, j)^ b(i, j) |
评论前必须登录!
注册