来源:https://maiya.fan/blog?id=6566174c6aa58e39d930193b
1 fft、ifft、fftshift相关
1.1 fft
fft的第二个参数N,代表了频域的采样点数。默认情况下,采样点数和时间相同,这里的采样点数不影响是否会产生频谱混叠,只有时域采样的点数才会影响频谱混叠。
1.2 fftshift
将序列分为两半,交换两部分的顺序。ifftshift是fftshift的逆变换。
1.3 ifft
ifft的输入不需要经过fftshift
2 clear、clear all、clc的区别
clc:清除命令窗口的内容,对工作环境中的全部变量无任何影响
close:关闭当前的Figure窗口
close all:关闭所有的Figure窗口
clear:清除工作空间的所有变量
clear all:清除工作空间的所有变量,函数,和MEX文件
3 文件路径
3.1 添加函数路径
matlab添加路径函数addpath用法,临时添加,重新打开matlab后需要重新添加
3.2 获得所有当前路径
pwd是获得当前路径,当前路径是左边当前工作空间路径,而不是执行文件路径。
3.3 获得根路径
matlabroot是得到matlab根路径
3.4 得到路径下所有文件夹路径
genpath()是得到路径下所有文件夹路径
4 连接字符串
fullfile()是连接多个文件字符串
5 Matlab代码编辑器的智能提示功能是通过Tab键来实现。
6 Matlab根文件夹MCount类
使用方法:
MCount.lines(directory_path) 统计目录下m文件总代码行数。
MCount.reallines(directory_path)统计目录下代码行数(不计空行和注释行)。
MCount.size(directory_path) 统计目录下代码总文件大小。
7 捕获警告
% 清空警告,置于程序开头
lastwarn(‘’)
% 置于需要检测的代码后面
warn_temp=char(‘’);
try
if warn_temp==lastwarn
end
catch
disp(‘warn’)
end
8 format使用
format short:默认格式,小数点后保留4位
format long:有效数字16位
format long e:有效数字16位加3位指数
format short e:有效数字5位加3位指数
format bank:保留两位小数位
format +:只给出正负
format rational:以分数的形式表示
format hex:以16进制数表示
format long g:15位有效数
format short g:5位有效数
9 变量作用域
MATLAB的变量作用域通过高亮来标记,当选中某一变量时,与该变量处于同一的变量会同时高亮显示
10 文件在搜索路径中却说找不到
由于Matlab为了提高启动和运行速度所采取的一个优化措施有关。Matlab把toolbox下的函数都cache了一下,只需要更新一下toolboxcache就可以了。
使用命令的方式:
rehash toolboxcache
11 打开时闪一下黑框退出无反应的问题
https://blog.csdn.net/weixin_43695585/article/details/106040511
12 元胞与结构体的使用选择
优先使用元胞。因为元胞与矩阵类似,便于整体的取出,而结构体不能跨字段取出某一范围内的量。同时以为是通过数字进行索引,也便于进行循环操作。
结构体的优点在于可以对某个值进行命名,便于使用时的理解,但是不便于矩阵化操作。
根据网络资料, 在运算速度方面, 两者无区别.
13 图的绘制方法
% 图编号
figure(1)
% 图例元胞
line_name1={};
% 循环画图
for cou = 1:num
% 存储数组去零
record{1,cou} = record{1,cou}(:,any(record{1,cou},1));
% 画图
plot(record{1,cou }(1,:),record{1,cou}(3,:),‘LineWidth’,2);hold on
% 添加图例
line_name1(size(line_name1,2)+1)=cellstr(sprintf(…
‘name%d’,cou)); %#ok
end
% 轴名及单位
xlabel(‘x轴(unit)’)
ylabel(‘y轴(unit)’)
% 图名
title(‘轨迹图’)
% 向图中添加全部图例
legend(line_name1);
% 网格图
grid on
14 更改代码后不变化的BUG
在切换git分支或通过复制等操作覆盖原文件后, 直接运行程序会导致运行的程序仍是在切换分支前的程序. 只有在更改的程序中进行修改, 才可以使用更改后的程序. 更改只对更改的文件有效, 若调用其他函数(该函数在切换分支后有变动), 还需要对其他函数进行更改.
15 判断矩阵为全零
any(): 如果为全零则输出false, 否则是true
16 直方图
histogram(input)