matlab官方教程
clear:清空工作区
clc:清空命令行
save datafile.mat data
将数据保存到文件datafile.mat中
load myData.mat m
将从文件myData.mat中提取数据m
format long/short:控制显示数据的精度位数
实时编辑器
可备注、可将按顺序执行命令行代码,并将每一步输出实时显示在右侧窗格中,可以看到代码与数据的联系。
运行符、分节符
文本与代码转换: ctrl+e
数组运算
x = 1:0.1:2
x= linspace(1,10,5) %(起始,终止,个数)
创建等距变量
x= x' %转置
x= rand(7,8) %0-1的随机数
x= zeros(3,4)
矩阵运算 .*
x = [1 2;3 4;5 6; 7 8].*[1;2;3;4]
x = [1 2;3 4;5 6; 7 8].^2
您可以使用关系运算符将某个向量或矩阵与单个标量值进行比较。结果是与原始数组相同大小的逻辑数组。
[5 10 15] > 12
ans =
0 0 1
可以使用逻辑数组作为数组索引,在这种情况下,MATLAB 会提取索引为 true 的数组元素。以下示例将会提取 v1 中大于 6 的所有元素。也可以对两个不同向量使用逻辑索引
v = v1(v1 > 6)
v = sample(v1 > 6)
索引
下标从1开始
data(row,col)
data(:,col)
data(end,col)
如果只对一个矩阵使用一种索引,它将按顺序从上到下遍历每列
y = density([1,3,6])
索引可以是非连续数字。试着提取 density 的第一个、第三个和第六个元素。
基本函数
round:():四舍五入,<0.5的值为0,>0.5的值为1
函数可以应用于矩阵,以生成单个输出变量或两个输出变量。使用方括号 ([ ]) 获得多个输出。
如:使用 max 函数确定向量的最大值及其对应的索引值。max 函数的第一个输出为输入向量的最大值。执行带两个输出的调用时,第二个输出为索引值。
如果只需函数的第二个输出,可以使用波浪号字符 (~) 忽略特定输出。
绘图
每个绘图命令都创建了一个单独的绘图。要在一张图上先后绘制两条线,请使用 hold on 命令保留之前的绘图,然后添加另一条线。启用保留状态时,将继续在同一坐标区上绘图。要恢复默认绘图行为,即其中每个绘图都有自己的坐标区,请输入 hold off。
当您单独绘制一个向量时,MATLAB 会使用向量值作为 y 轴数据,并将 x 轴数据的范围设置为从 1 到 n(向量中的元素数目)。
plot 函数接受可选的附加输入,这些输入由一个属性名称和一个关联的值组成。
plot(y,"LineWidth",5)
您注意到绘图的动画效果了吗?代码 pause(0.2) 在 0.2 秒处停止循环,以便绘图进行更新。请尝试通过增大值 0.2 来增加动画时间。
可以将字符串数组直接传递给 legend 函数。
默认轴范围会使字母的纵横比失真。您可以使用 axis 命令强制轴保持数据的纵横比。
任务
使用命令 axis equal 修正绘图的纵横比。
导入表格
要提取表变量,可以使用圆点表示法:
data.VariableName
如果您正在使用表,您可能希望将相关数据放在一起。您可以将计算结果赋给表,而不是创建单独的变量。
data.HeightMeters = data.HeightYards*0.9144
如果变量 data.HeightMeters 不存在,MATLAB 将在表中创建名为 HeightMeters 的新变量。
可以通过在实时脚本的输出窗格中点击表来与表进行交互。例如,您可以使用表的一个变量对表进行排序。