命令
subs(S,OLD,NEW)
subs(S,OLD,NEW) 表示将符号表达式S中的符号变量OLD替换为新的值NEW。
eval
相当于内嵌于代码的一个命令行,可用于重复执行代码
eval(expression)
[output1,…,outputN] = eval(expression)
基本操作
注释
- 快捷键 Ctrl +R Ctrl+T
- 直接在代码前面输入 %
- %{ %}
- if 0 end
- 注释命令按钮
输出
MATLAB输出变量方法很多,主要包括以下几类。
(1)语句后面不加分号“;”,这是直接输出数值的比较简单的方法。
(2)disp(a)直接在命令窗口显示a变量,这种方法输出和第一种差不多。
(3)fprintf(‘a=%f’,a)格式控制输出,输出’a='然后再显示输出的变量。
(4)save(dir+name,‘变量名’)保存输出到某个文件中去,可以将数值保存。
循环
for 循环
简单for循环
>> clear
>> sum = 0;
>> for i = 1:100
sum = sum +i;
end
>> sum
sum =
5050
带有步长的for循环
>> clear
>> sum = 0;
>> for i = 1:2:10
sum = sum + i;
end
>> sum
sum =
25
多层for循环
>> for i = 1:2:6
for j = 1:3
y = i * j
end
end
数据处理
常用数据处理函数
取整:round()
数据类型
数组
一维数组
直接输入向量
直接输入行向量:
>> a=[1,3,2,4]
a=
1 3 2 4
直接输入列向量:
>> a=[1;3;2;4]
a=
1
3
2
4
用:生成等差向量
等差向量
>> a=2:6
a=
2 3 4 5 6
控制步长的的等差向量
>> a=2:3:20
a =
2 5 8 11 14 17 20
- linspace() 函数
x=linspace(X1, X2, n)
>> a=linspace(1,2,15)
a =
1 至 6 列
1.0000 1.0714 1.1429 1.2143 1.2857 1.3571
7 至 12 列
1.4286 1.5000 1.5714 1.6429 1.7143 1.7857
13 至 15 列
1.8571 1.9286 2.0000
二维数组
直接输入
冒号快速建立矩阵
>> A=[1:3; 4:6]
A =
1 2 3
4 5 6
>> B=[2:3:11; 4:2:10]
B =
2 5 8 11
4 6 8 10
使用函数生成矩阵
>> ones(2,4) %产生(2x4)全 1 数组
ans =
1 1 1 1
1 1 1 1
>> randn('state',0) %把正态随机数发生器置 0
>> randn(2,3) %产生正态随机阵
ans =
-0.4326 0.1253 -1.1465
-1.6656 0.2877 1.1909
>> D=eye(3) %产生 3x3 的单位阵
D =
1 0 0
0 1 0
0 0 1
>> diag(D) %取 D 阵的对角元
ans =
1
1
1
>> diag(diag(D)) %外 diag 利用一维数组生成对角阵
ans =
1 0 0
0 1 0
0 0 1
>> randsrc(3,20,[-3,-1,1,3],1) %在 [-3,-1,1,3] 上产生 3x20 均布随机数组,随机发生器的状态设置为 1
ans =
1 至 10 列
-1 -1 -3 1 -3 1 -3 3 3 -3
1 -3 -1 -1 3 -1 -3 -1 3 -3
-3 -3 -1 1 -3 1 3 1 -3 3
11 至 20 列
-3 1 1 3 -1 -1 -1 1 -1 -3
-1 1 3 3 3 3 -3 -3 -3 1
3 -1 -3 1 -3 -1 -3 -1 1 1