2.1 MATLAB编码技巧总结

文章总结了MATLAB中的几个关键编码技巧,包括Eb/No与SNR的转换方法,从.fig文件中提取曲线数据的步骤,如何将for循环改写为parfor实现并行运算以提高速度,以及在遇到调试时不能设置断点问题的解决办法。此外,还介绍了如何利用GPU加速矩阵运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.1 MATLAB编码技巧总结

总目录链接:https://blog.youkuaiyun.com/m0_37660088/article/details/122646925

一、Eb/No与SNR转换

M = 64;               
k = log2(M);           
EbNoVec = (4:10)';
rate = 1/2;
snrdB = EbNoVec(n) + 10*log10(k*rate); % 转换过程

二、从MATLAB仿真得到的.fig曲线图中提取数据

1、打开已经仿真得到的.fig图;
2、在命令行运行obj = get(gca,'children');
3、如果图中有一条曲线,直接运行x=get(obj, 'xdata')得到x坐标值,运行y=get(obj, 'ydata')得到y坐标值,
   运行z=get(obj,'zdata')得到z坐标值;
4、如果图中有n条曲线,运行x=get(obj(i), 'xdata')得到x坐标值,运行y=get(obj(i), 'ydata')得到y坐标值,
   运行z=get(obj(i),'zdata')得到z坐标值,其中i为需要得到的第i条线的值,0<i<=n;

三、MATLAB中for循环并行运行程序

for改为parfor即可启动并行运算,加快运行速度。
注意:有些for循环内的应用是不能启动并行运算的,无需修改parfor循环会自动退出并行运算。

四、MATLAB中实时编辑器出现不能打断点的问题

for循环改为parfor并行运算时,会出现调试过程中不能打断点的情况,改为for循环即可。

五、MATLAB怎么调用GPU进行运算

MATLAB中的程序是可以调用GPU进行运算的,对于矩阵运算会加快运行速度。
Igpu = gpuArray(I);  % gpuArray即为CPU转到GPU的过程
I_gpuresult = gather(Igray_gpu); % gather即为GPU转到CPU的过程
只需要一个变量转换到GPU上运行后,后面会自动跟着在GPU上运行,转到CPU同理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值