MATLAB学习笔记(一)
最近在学MATLAB,特此记录自己的学习笔记,欢迎大家交流。
一. 熟悉MATLAB环境中的相关命令
1.clear 可以删除所有存储的变量
2.clc 是一个清空窗口的命令
3.whos 可以找到前面定义的变量
4.plot 用于绘图,下面的例子可以绘制一条直线
x = [1,2,3,4,5]
y = [10,20,30,40,50]
plot(x,y)
5.变量使用
MATLAB变量必须以字母开始,可以使用字母数字和下划线。
函数 isvarname可以用来核实变量名的有效性,与其他计算机语言类似,1代表true而0代表false。isvarname varname
函数iskeyword查看系统预设关键字 iskeyword
MATLAB允许重新制定内置函数名作为变量名,如sin = 4
,但是这样做很危险,不推荐。可以使用which sin
检查一个变量是否为MATLAB的内置函数。用clear sin
可以将自己设置的变量删除掉。
6.标量运算
注意运算顺序是首先完成括号内运算,其次完成指数运算,最后完成乘除运算和加减运算。建议用括号写明运算顺序可以使自己的程序更加清晰。
7.矩阵运算
创建矩阵最简单的办法是逐行输入,这样可以使得程序更加清晰例如
a = [
1,1,1,1
2,2,2,2
3,3,3,3]
可以用于定义一个矩阵,比起使用a = [1,1,1,1;2,2,2,2;3,3,3,3]
要更加清晰明白。
8.等差数组
b = [1:2:5](注意是冒号)
其中1代表起始数值,2代表步长,5代表结束数值,这样输出为:
b = [1,3,5]
如果需要计算元素间的步长,则使用命令linspace构造等差数组
d = linspace(1,10,3)
其中1表示开始数值,10表示最终数值,3表示步数,即这个数组共有三个元素,输出
d = [1,5.5,10]
9.等比数组
用命令logspace可以创建等比数组,需要输入三个值,前两个值分别为开始和结束的10的指数,最后一个值是数组中元素的个数。
e = logspace(1,3,3)
输出为
e =
10,100,1000
10.矩阵+(加)运算
a = [1,2,3]
b = a + 5
output: b = [6,7,8]
即数组的每一个元素都完成加运算
11.矩阵 .*(点乘)运算
a = [1,2,3]
b = [6,7,8]
a .* b
//output: ans = 6,14,24
即第一个数组的每个元素与第二个数组的每个元素相乘。注意,并非矩阵相乘运算。相应的 ./ 和 .^ 类似。
12.矩阵转置运算
a = [1,2,3,4,5]
b = [10,20,30,40,50]
table = [a',b'] //转置后合并
//output:
table =
1 10
2 20
3 30
4 40
5 50
example:创建一个将磅转化成牛顿的表格
clear,clc
lbf = [0:100:1000];
N = lbf * 4.44822;//命令后带分号避免重复显示
ans = [lbf',N']
//output:
ans =
1.0e+03 *
0 0
0.1000 0.4448
0.2000 0.8896
0.3000 1.3345
0.4000 1.7793
0.5000 2.2241
0.6000 2.6689
0.7000 3.1138
0.8000 3.5586
0.9000 4.0034
1.0000 4.4482
// 1.0e+03成为公共标度因子
13.数值显示
MATLAB与其他编程语言不同,把整数和小数都视为浮点数。MATLAB中矩阵里的整数不用小数点,但十进制小数默认小数点后四位有效数字。
format long //调整小数点后显示15位有效数字
format bank //只显示两位小数
format short //小数点后显示四位有效数字
format short e
format long e //可以指定用科学计数法显示所有数值
format + //显示矩阵时只显示元素的正负号
format rat //显示矩阵时指定用有理数的形式显示数值(分数)
format short g //MATLAB最佳格式
format long g //MATLAB最佳格式
fprintf //单独控制某行的输出
14.日志
diary
diary on
上述命令可以激活日志功能
diary
diary off
上述命令可以取消日志功能