
MATLAB技巧整理专栏
文章平均质量分 53
MATLAB技巧整理专栏,包括一些常用的MATLAB使用技巧,matlab工具箱应用。这个专栏不涉及具体案例,只介绍写代码中的一些技术。
fpga和matlab
专业即算法,算法即数学,数学即万物。从事MATLAB算法仿真工作15年,从事FPGA系统开发工作12多年。擅长解决各种算法仿真、建模、通信、图像处理、AI、智能控制等各专业问题。
展开
-
NSCT工具箱的原理和使用
NSCT(Nonsubsampled Contourlet Transform)工具箱是一个用于图像处理的软件包,它实现了非下采样轮廓波变换。NSCT是一种多尺度、多方向的图像分析方法,特别适合于处理边缘和纹理丰富的图像数据。原创 2024-08-06 13:44:12 · 1467 阅读 · 0 评论 -
MATLAB的资源管理器中安装资源时弹出“要访问附加功能资源管理器,您的许可证必须在 MathWorks 软件维护有效期内。”的解决办法
但是,如果你的MATLAB不是正版软件,当您在MATLAB的资源管理器中尝试安装资源时,如果收到“要访问附加功能资源管理器,您的许可证必须在 MathWorks 软件维护有效期内。如果在安装过程中遇到任何问题,例如许可证问题或网络连接问题,您可能需要参考上面提供的解决方案或联系MathWorks的技术支持以获取帮助。:在Add-Ons资源管理器中,您可以使用搜索框输入您想要安装的资源的名称或关键词。然后,确认新安装的资源是否出现在预期的位置,并且可以通过MATLAB正常访问。此时,这个工具箱就可以使用了。原创 2024-01-05 20:59:39 · 16754 阅读 · 7 评论 -
【小技巧】MATLAB中的使用Git的工作流程
Git集成已经成为MATLAB的一部分很长时间了。可以clone, commit, pull, push and fetch files到MATLAB Drive。原创 2022-12-17 04:24:27 · 3785 阅读 · 1 评论 -
【小技巧】Matlab中如何通过指令查看电脑配置和GPU配置?
如果不支持指定的GPU设备,则会发生错误。此语法重置指定的设备并清除其内存,即使设备当前已被选中(相当于重置功能)。D=gpuDevice返回表示当前选定设备的gpuDevice对象。如果当前没有选择的设备,gpuDevice将选择默认设备并返回表示该设备的gpuDevice对象,而不清除它。gpuDevice([])具有空参数(与无参数相反),将取消选择GPU设备并清除其内存中的gpuArray和CUDAKernel变量。如果当前没有选择的设备,gpuDevice将选择默认设备而不清除它。原创 2022-12-11 23:19:06 · 4727 阅读 · 1 评论 -
【小技巧】matlab中进行并行运算仿真加快仿真速度
在前一个小技巧学习中,我们学习了如何统计程序运行的时间。【小技巧】在matlab中如何精确统计一段程序的运行时间_fpga和matlab的博客-优快云博客_matlab执行一条指令的时间我们先执行如下的程序:运行时间如下:我们可以看到,采用parfor之后,系统的运行时间将大大减少。如果完成之后,想关闭并行运算机制,则点击:点击shutdown,就可以关闭并行运行机制了。原创 2022-12-07 23:07:48 · 3111 阅读 · 3 评论 -
【小技巧】matlab运行包含子程序时自动变更路径方法
当一个matlab程序中,包含多个子函数,此时,当我们运行主要函数main的时候,matlab会自动弹出如下的对话框: 此时,我们需要点击第一个按键:更改文件夹,此时matlab会自动将左侧的当前文件夹界面自动变更为当前所要运行程序所在的文件夹。 此时,matlab可以自动识别各个子函数了。如果你点击了第二个按键:添加到路径,往往会出现无法识别某些子函数的报错问题:比如如下:原创 2022-12-06 20:31:00 · 2996 阅读 · 0 评论 -
【小技巧】在matlab中如何精确统计一段程序的运行时间
同情况下,我们需要统计matlab中某个算法或者程序段的运行时间,用于分析程序段的复杂性。此时,我们可以使用tic和toc指令来完成,具体实现过程如下:运行之后,我们可以看到times = 7.9960e-04即运行时间为7.9960e-04s假设将上述程序的循环改为100万次,即:运行之后,我们可以看到times = 0.0025即运行时间为0.0025s更进一步,我们可以通过这个方法统计不同循环次数所对应的程序运行时间,编写如下matlab:运行后,可以看到其时间为:tim原创 2022-12-05 20:32:33 · 8062 阅读 · 0 评论 -
【小技巧】一些matlab中常用的快捷键使用总结
1.Ctrl+r 添加注释,并且对多行有效,注释号在行头;2.Ctrl+t 取消注释,并且对多行有效;3.ctrl+i 让matlab帮你自动对齐程序;4.使用Ctrl+C可以中止正在运行的程序;5.m脚本文件快速执行:按F5;6.ctrl + [ 可进行多行左缩进;7.ctrl + ] 可进行多行右缩进;8.Ctrl+Z 撤消刚才动作(一般只用于文本操作)原创 2022-12-03 21:22:12 · 8726 阅读 · 0 评论 -
在simulink中实现图像的读取和缩放操作
而Simulink没有这个模块可以直接使用,所以我们将通过simulink中的模块化建模,实现这个函数的基本功能。由于读入的图像是UINT8类型的数据,无法直接进行MATLAB的运算,我们需要将数据通过conversion转换为double类型的数据,然后进行处理。这里我之前没注意到,Simulink里面有提供的一个resize模块,但是我们直接使用这个模块,并无法得到比较好的效果。因此,我们还是设计了一组自己构建的Simulink模块,但是需要使用Simulink的内嵌MATLAB模块。原创 2022-10-16 23:46:19 · 4694 阅读 · 0 评论 -
【小技巧】获取matlab中cdfplot函数的x轴,y轴的数值
在matlab中可以通过cdfplot画出数据的累积分布函数曲线,如下程序:运行结果如下: 那么如何从cdfplot中获得对应的数值呢?非常简单,我们将上述程序做如下的调整。运行后,可以看到和直接cdfplot的输出结果一样,这说明x1和y1就是从cdfplot中提取的数据。...原创 2022-07-05 07:48:43 · 2633 阅读 · 0 评论 -
【小技巧】使用matlab GUI以对话框模式读取文件
在MATLAB 界面设计过程中,经常需要通过按键来调用读取文件的对话框,具体可以通过如下的代码来实现:此时,运行GUI界面,可以弹出如下的对话框: 可以看到,对话框中提示jpg格式的文件,如果改为其他的,也可以做相似的文件,如txt文件,如下所示:此时,运行GUI界面,可以弹出如下的对话框: 运行之后,文件的路径将保存到变量FileName_AVI中,然后做读取就可以了。...原创 2022-07-02 02:28:42 · 3947 阅读 · 0 评论 -
【小技巧】使用matlab的深度学习工具箱deepNetworkDesigner快速设计
在matlab中,指令窗口中输入如下: 如下所示:选择一个网络,就可以进行深度学习的设计了,可以避开复杂的编程过程。原创 2022-06-23 21:19:37 · 3084 阅读 · 0 评论 -
【小技巧】Linux安装matlab教程
## 下载1. 下载MATLAB R20XXa for Linux full crack文件## 安装2. 进入下载后的文件夹(假如下载后的文件放在了/home/deeppf中,其中deeppf是用户名)解压破解文件Matlab20XXaLinux64Crack.tar.gz文件,创建一个文件夹Crack来放置解压后的文件```cd ~sudo mkdir Crack```解压文件:```cd ~tar -xvf Matlab20XXaLinux64Crack.tar.gz -C Cra原创 2022-06-21 04:05:02 · 3783 阅读 · 0 评论 -
【小技巧】如何安装下载MATLAB最新的工具箱
小伙伴们,在使用matlab的时候,经常会遇到某些函数无法找到而导致程序报错,通常情况,一般是由于该函数是MATLAB一些工具箱中的函数,而原始版本的MATLAB是没有这个工具箱的,所以导致报错。那么如何查看当前版本MATLAB有哪些工具箱,如何查看当前版本是否有更新内容?首先,我们从网上搜索下载载mingw.mlpkginstall文件,然后将这个文件,拖到MATLAB的指令窗口:此时,MATLAB会弹出窗口:这些是当前MATLAB已经安装的工具箱,点击更新可以看到,当原创 2022-05-30 18:56:46 · 7550 阅读 · 0 评论 -
【小技巧】利用matlab进行批量文件下载并解压
有的时候会需要下载多个压缩包,如果手动一个个下载非常麻烦,我们可以利用matlab来完成:url = "https://github.com/Dahlia-Han/LDPC/archive/refs/heads/master.zip";%指定下载文件网址tempdir = pwd;%获取当前MATLAB路径unzip(url, tempdir);%下载并完成解压到MATLAB当前路径中url为下载链接,实际应用的时候,可以根据链接中的批量文档的技术变量,做一个for循环,实现大批量文件的下载,原创 2022-05-22 02:48:05 · 2823 阅读 · 0 评论 -
【小技巧】通过MATLAB检测工程中是否有文件夹,并创建文件夹
在仿真过程中,我们经常需要将一些结果保存到本地的文件夹中,偶尔一个,二个,可以人工创建,但是当需要分类的文件夹较多的时候,则需要通过自动进行检测是否存在该文件夹,如果没有,则让matlab自动创建该文件夹。那么我们可以在matlab中加入如下语句:if not(isfolder("文件夹名字")) mkdir("文件夹名字")end执行上面的语句,如果本地中没文件夹,则会自动创建。...原创 2022-05-11 03:44:18 · 2746 阅读 · 0 评论 -
【小技巧】将matlab的plot出来的图像自动保存为图片
在matlab中,有的时候需要将plot画出来的图片保存为jpg图片,或者png图片等格式的图片,那么只要在plot之后,加入如下的语句,就可以自动保存为对应格式的图片了:saveas(gca,['name.png']);...原创 2022-05-08 05:35:13 · 7347 阅读 · 0 评论 -
【小技巧】matlab中加载不同路径文件夹方法addpath
在matlab中,经常需要将不同的子函数进行归类,从而使得工程中多了很多文件夹,一般比较常用的方法就是addpath 'func\'即加载func文件夹中的所有子函数,但是当文件夹较多,且文件夹中也包含其他子文件夹,这种直接定位文件夹名称的方法就显得非常繁琐,所以我们通过如下方式,自动加载所有文件夹路径。addpath(genpath(pwd));在matlab主函数中加入上述语句,matlab会自动加载当前工程中所有的文件夹路径中的程序文件或者数据文件。...原创 2022-05-06 02:51:37 · 4312 阅读 · 0 评论 -
【小技巧】使用MATLAB产生一些重复性的verilog语句,加快verilog开发效率
在开发FPGA过程中,经常会遇到重复性的语句需要编写,而这些重复性的语句又不是完全重复的,而是有不同的编号。这个时候直接人工编程非常麻烦,这里分享matlab自动产生verilog的方法。close allfs=10000000;%采样频率%N=length(y);N=1024;%FFT点数size = 10 ;freq=(0:N-1)*fs/N;%频率轴t=linspace(0,2*pi,N);y=sin(t)'%产生单音信号q = quantizer('fixed...原创 2022-05-03 19:28:45 · 3036 阅读 · 0 评论 -
【小技巧】使用MATLAB读取quartusii中signaltapII保存的tbl格式数据文件
有的时候,我们需要将FPGA采集到的数据进行显示,通过MATLAB分析,那么需要读取FPGA的片上数据。我们以quartusii为例子,其片上数据采集到的文件格式为tbl文件,这个时候,我们编写如下程序来读取tbl文件。function data_dec = tbls(name);fid=fopen(name,'r');%文件的路径yy=fscanf(fid,'%s');fclose(fid);aa=find(yy=='='); %找出“=”的下标i=0;for j=1:length原创 2022-05-01 20:03:48 · 1921 阅读 · 0 评论 -
【小技巧】在matlab中如何保存大于2G的数据。
在matlab中,通过save指令默认只能保存小于2G的数据。然后想保存大于2G的数据,需要做如下的设置:点击预设然后选择常规,mat文件,然后选择第一个,这样通过save指令就可以保存大于2G的数据文件了。...原创 2022-05-01 00:05:09 · 4486 阅读 · 0 评论 -
【小技巧】在matlab中应用for和subplot自动产生批量图片
在使用matlab画图时,有的时候,需要使用subplot,产生几十张图片一起看,比如下面程序:clc;clear;close all;warning off;y(:,1) = rand(100,1);y(:,2) = rand(100,1);y(:,3) = rand(100,1);y(:,4) = rand(100,1);y(:,5) = rand(100,1);y(:,6) = rand(100,1);y(:,7) = rand(100,1);y(:,8) = rand原创 2022-04-27 21:40:42 · 6075 阅读 · 1 评论 -
【小技巧】使用MATLAB产生coe文件和mif文件供FPGA调用方法整理
目前主流的FPGA,就是xilinx的FPGA和英特尔(原altera)的FPGA,在使用过程中,经常需要调用一些数据到ROM核中。下面总结下调用方法。1.产生coe,用于xilinx的FPGA:fid = fopen ('dat.coe','w');fprintf( fid, 'memory_initialization_radix=10;\n');%生成索引fprintf( fid, 'memory_initialization_vector =\n' );for i=1:length(原创 2022-04-27 00:50:33 · 5757 阅读 · 0 评论