![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MATLAB
每次遇到问题时便去网上找资料,但是资料过于庞大,而且查过一次不记录,时间久了之后便忘记。以防忘记,于是记录一下,需要用的时候,来找也很方便,不用再去网上海选了,可以节省时间,也希望个人笔记能够帮助到大家,当然方法千万种,此处仅仅记录平时的笔记
Zoe Din
路漫漫其修远兮,吾将上下而求索
展开
-
MATLAB 循环移位矩阵生成
如给定行向量【1,2,3,4,5,6,7,8】,通过此行向量生成一个循环矩阵如下图,代码如下:B = [1,2,3,4,5,6,7,8];BC = zeros(N);for j = 1:N BC(j,:) = circshift(B,[0,j-1]);end原创 2022-04-21 10:45:37 · 3153 阅读 · 1 评论 -
找出最接近的数据-MATLAB
比如要找出一组数A中最接近0.001的数[~, index]=min(abs(A(:)-0.001))index是最接近0.001的索引则最近的值为:Y=A(index);原创 2021-10-25 16:51:50 · 5143 阅读 · 0 评论 -
VLS系统-16QAM-OFDM系统仿真实现(MATLAB)
参考:基于16QAM调制的OFDM系统仿真实现(MATLAB)_hyl1181的博客-CSDN博客参考的文章代码缺少QAM调制解调函数,不可以运行,经调试可成功运行。代码请见下文系统图如下:%% https://blog.csdn.net/hyl1181/article/details/110942407%% 已调试 可成功运行clcclear all;close all;Nt_carr=256; %子载波数=FFT点数---256Np_carr=...原创 2021-09-25 16:50:27 · 1286 阅读 · 0 评论 -
step函数在MATLAB通信工具箱comm.ErrorRate中的用法
ErrorRate:计算输入数据的比特/符号错误率H = comm.ErrorRate:创建一个计算错误率的目标,H。H通过将接收数据与发射数据比较的方式得到错误率。H = comm.ErrorRate(Name, Value):创建一个计算错误率的目标H,属性名为Name,属性值为Value。您可以以任意顺序和数量设置“名-值”对参数(Name1, Value1, ... ,NameN, ValueN)。错误率是一种running statistic。您可以使用H来计算误码率/误比特率,因为它不考原创 2021-09-17 19:17:31 · 1774 阅读 · 0 评论 -
MATLAB-画图技巧收藏
1、MATLAB如何绘制多个(两个以上)的legend,且自定义不同曲线的标记markhttps://blog.csdn.net/Ervin_yi/article/details/95043379原创 2021-09-08 19:17:46 · 178 阅读 · 0 评论 -
OFDM-PSD(功率谱密度)绘制
以下代码是16QAM OFDM信号的PSD代码参考:https://www.mathworks.com/matlabcentral/fileexchange/36309-simulation-of-an-ofdm-system-with-the-psdclc;clear;close all;NsubCar=256; %子载波个数N_sample = 4; %过采样系数NFFT =NsubCar *N_sample;nOFDM=1;M=16; k=log2(M);cpLength= 7原创 2021-08-24 10:29:01 · 2826 阅读 · 4 评论 -
matlab 画图---添加注释如何确定注释位置及大小(Intelligent Reflecting Surface Enhanced Wireless Network via Joint Act)
1 创建注释函数:annotation()函数详细介绍:https://ww2.mathworks.cn/help/matlab/ref/annotation.html?searchHighlight=ann&s_tid=gn_loc_drop2 如何确定函数值注释位置参数2.1 点击编辑--》进入图窗属性2.2 点击插入,选择你要注释的符号,此处以椭圆为例选择椭圆后,在曲线上意向位置画椭圆注释,在右侧属性检查器可看到注释的参数根据右侧注释的参数值,填写到函数原创 2021-04-13 14:38:24 · 4717 阅读 · 10 评论 -
MATLAB 如何生产随机复序列
M = 4;K = 1;W= rand(M,K)+1i*rand(M,K);原创 2021-04-07 20:58:01 · 1849 阅读 · 0 评论 -
matlab 优化工具 manopt 安装
参考链接https://blog.csdn.net/sinat_20177327/article/details/77064177上述链接步骤详细安装成功测试案例结果:转载 2021-03-13 14:51:45 · 1490 阅读 · 0 评论 -
matlab 如何保存所有运行后的数据
方法一:参考https://blog.csdn.net/Robot_Starscream/article/details/105514376方法二 :参考https://zhuanlan.zhihu.com/p/27788672save('文件名’);如·:save('fig3_data')在当前文件窗口 可看见有 :fig3_data.mat 文件生成加载数据如:运行 load fig3_data.mat 可发现在工作区有保存的变量数据...原创 2021-03-10 20:43:53 · 8789 阅读 · 3 评论 -
4PAM在高斯信道与瑞利信道下的基带仿真系统实验
1、系统框图2、代码clear allclose allclcN = 10000; %比特数SNR=0:10; %SNR的范围EbN0 = 10.^(SNR/10);err_num=zeros(1,length(SNR)); % 错误bit个数simu_ber = zeros(1,length(SNR)); % 仿真误误码率theory_berAWGN = zeros(1,length(SNR)); % 理论误码率theroy_berRaliy = zer原创 2020-12-15 17:30:52 · 3279 阅读 · 1 评论 -
matlab--CVX优化工具包安装
参考:https://www.jianshu.com/p/61175fd367e11、官网下载安装包http://cvxr.com/cvx/download/ 按需下载对应版本(下载路径最好不要有中文,以免后续配置错误)2、解压并配置解压之后,打开matlab,并在matlab选择cvx-w64的文件夹,最后在matlab命令行窗口运行cvx_setup配置显示:没有安装许可证,故接下来申请许可证3、申请许可证进入:http://cvxr.com/...原创 2020-12-14 10:21:03 · 4075 阅读 · 1 评论 -
WiDarProject文件中程序分析---相关matlab中函数笔记
由于最近在学习无线感知相关内容,分析了WiDarProject中的MATLAB程序,程序里用到的一些信号处理函数不是很懂,所以各种查找资料,最后汇总在这篇文章里,若有错误,欢迎指正!1、butter(n, Wn, varargin)butter函数是求Butterworth数字滤波器的系数,在求出系数后对信号进行滤波时用filter函数。设计滤波器就是设计滤波器系数[B,A]。[B,A] = BUTTER(N,Wn,'high') ---用来设计高通滤波器[B,A] = BUTTER(N,.原创 2020-06-30 16:18:23 · 570 阅读 · 1 评论 -
matlab---错误使用 var 数据类型无效。第一个输入参数必须为单精度值或双精度值
问题:对灰度矩阵求方差报错报错结果如下解决把灰度值数据类型由uint8改为double先查看报错之前图片灰度值数据类型,见下图,求标准差的参数是uint8类型修改报错解决...原创 2020-10-30 15:43:53 · 13814 阅读 · 0 评论 -
MATLAB读取显示图像时数据格式转换原因
1、MATLAB在读取图像时要将图片数据转换为doubleimread() 把灰度图存入一个8位矩阵或彩图存入8位RGB矩阵中因为MATLAB读入图像的数据是uint8格式,但是MATLAB中一般采用double型(64)位进行和运算,所以要把图像转为double型。2、MATLAB图像显示时要用uint8格式imshow()显示图像时,需要用uint8格式,即要把double格式转为uint83、总结MATLAB为了节省存储空间,所以在一开始读入图像是...原创 2020-10-21 15:59:21 · 1512 阅读 · 0 评论 -
BPSK调制系统MATLAB仿真实现(1)
1. 写在前面首先题目强调的是“基带”,不是“频带”,即不需要加载波进行调制。(导师给我第一个实验就是实现BPSK的基带调制系统的抗噪声性能分析。我开始就是打开通信原理,根据本科所学进行加载波调制解调,当我完成时发现不对劲,是基带,基带,不是频带。于是又重新改code(思维固化很严重))2. 数字基带传输系统框图2.1 基带脉冲的产生基带脉冲即二进制01随机序列,可用randn函数产生%%基带信号产生data_source = round(rand(1,data_len)); % 二进制.原创 2020-10-13 15:44:37 · 35148 阅读 · 12 评论 -
MATLAB如何更换编辑器界面颜色
参考链接:https://blog.csdn.net/u010917150/article/details/99874738?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.c转载 2020-10-07 10:33:56 · 1292 阅读 · 0 评论 -
MATLAB--将每次循环的图绘制在一张图纸上
要实现每次循环的图绘制在一张图纸上,而不是循环几次就几张图,关键就是将程序里的语句“figure”去掉。例:1、实例程序n = 5;t = 0:0.05:2*pi;for k = 1:n %figure x = k*sin(t); y = k*cos(t).*x; plot(x,y); hold on % 保持同一绘画框end1)没有figure画出的图在一张图纸上2)有figure循环n次就有n张图...原创 2020-08-02 11:51:04 · 31578 阅读 · 8 评论 -
MATLAB --函数编写与调用
之前写code都是将所有的实现放在同一个.m文件,导致程序很混乱冗长,过了几天容易忘记,不便于后期修改维护,于是开始学习将程序封装。即将程序封装成函数,再调用,就比较清晰。1、函数编写语法:function [输出参数列表] = 函数名(输入参数列表) (注:此语句结尾没有分号)注释部分函数体如:将整个函数编写完后,接下来就保存.m文件,文件名为函数名.m 即上例中应保存为Iterative.m2、调用函数注:1. 函数调用的时候,参数顺序...原创 2020-08-02 11:43:24 · 47063 阅读 · 5 评论 -
MATLAB--对一组复数数据画图
例:Xcoa Xcib 为一组复数对两组数据画图:figuretheta=angle(Xcib);rho=abs(Xcib);polarplot(theta,rho,'o');hold onfiguretheta1=angle(Xc0a);rho1=abs(Xc0a);polarplot(theta1,rho1,'k')原创 2020-07-26 20:23:47 · 6005 阅读 · 1 评论 -
MATLAB--曲线拟合的SSE、RMSE等含义
SSE,和方差,该值越趋向0时拟合效果越好; RMSE,该值越趋向0时拟合效果越好。 MSE ,该值越趋向0时拟合效果越好。 R-square,确定系数,该值越趋向1时拟合效果越好; Adjusted R-square,该值越趋向1时拟合效果越好; ...原创 2020-07-23 11:20:29 · 21538 阅读 · 2 评论 -
MATLAB--对离散数据进行拟合画图
1、在.m文件输入离散的数据如图:在.m文件将两组数据放入数组2、运行此.m文件运行.m文件后,在工作区可看此数组3、点击APP--》Curve Fitting 拟合工具4、拟合选择要拟合的数据,即本例中的x1,theta,x1为x轴,theta为y轴选择要拟合的方式,我选择Power,即幂函数逼近拟合阶数选择:查看结果:拟合图像:拟合表达式:...原创 2020-07-23 11:07:53 · 7186 阅读 · 0 评论 -
MATLAB-----对数与指数的表示
参考 链接:https://blog.csdn.net/qq_41181771/article/details/99713812lg(x) ==> log10(x);ln(x) ==> log(x);e ==>exp(1);e^5 ==> exp(5);原创 2020-07-22 08:27:13 · 2405 阅读 · 0 评论 -
MATLAB-拟合工具箱
参考:https://www.jianshu.com/p/fb4b04e1b1e3拟合工具下去在APP里下图箭头所指处可在x data , Y data 选择自己要拟合的数据 右边选择逼近的方式Custom Equations:用户自定义的函数类型 Exponential:指数逼近,有2种类型, aexp(bx) 、 aexp(bx) + cexp(dx) Fourier:傅立叶逼近,有7种类型,基础型是 a0 + a1cos(xw) + b1sin(xw) Gaussian...原创 2020-07-21 10:45:07 · 3266 阅读 · 0 评论 -
MATLAB求反函数 与 mathematica 求反函数
原文出处参考:https://wenwen.sogou.com/z/q780316310.htm1、g=finverse(f):返回符号函数f的反函数g。其中,f是一个符号函数表达式,其变量为x。求得的反函数g是一个满足g(f(x))=x的符号函数。>> syms x;>> f=sym(2/sin(x));>> finverse(f)ans =asin(2/x)2、g=finverse(f,v):返回自变量v的符号函数f的反函数。求得的反函数g是一.原创 2020-07-21 08:46:10 · 13256 阅读 · 0 评论 -
matlab 中如何对.mat文件中的数据画图
1、先打开.mat文件直接双击你要打开的.mat文件,如下我打开.mat文件会发现做下脚有S.mat文件窗口,同时命令行窗口出现load(,,,,,,,,,)2、查看.mat文件中的数据可在命令行窗口输入:whos命令会发现,这里的数据其实就在工作区显示着3、对.mat文件中的数据画图(1)可直接在命令行窗口输入命令画图直接输入 plot()画图函数如:(2)或者新建.m文件用来画图如:...原创 2020-06-30 19:20:47 · 32678 阅读 · 4 评论 -
MATLAB---时频分析工具TFTB安装及错误使用mex -setup问题解决
1、下载tftb工具箱官网链接(免费下载)http://mirror.yongbok.net/nongnu/tftb/下载箭头所指的0.2 版本就可以,也是目前最新版本。2、安装步骤:2.1、下载后解压放在matlab的toolbox工作路径下TFTB文件夹,如果该目录下没有tftb文件夹,自己新建一个即可。2.2、打开matlab,选择File- Set Path- Add with Subfolders-你刚才下载的工具箱(package_tftb)点进去- Save- C.原创 2020-06-26 16:26:40 · 2952 阅读 · 2 评论 -
Matlab中的&&和&
1、&&针对标量运算,&可以用于向量或数组。A = [0,0,1,1];B = [0,1,01,];C = A && B ;%错误使用 &&的操作数必须为标量值C = A & B ; C=[0,0,0,1]2,&&运算具有短路功能,即 A && B , 如果A为0, 则不计算B,直接返回0。&运算没有短路功能,会计算全部的A、B值后求逻辑与。3,&适用于符号运算,&am..原创 2020-06-26 10:02:34 · 10433 阅读 · 0 评论 -
MATLAB--cell用法整理
1、cell - 元胞数组定义: 元胞数组是一种包含名为元胞的索引数据容器的数据类型,其中的每个元胞都可以包含任意类型的数据。元胞数组通常包含文本列表、文本和数字的组合或者不同大小的数值数组。通过将索引括在圆括号() 中可以引用元胞集。使用花括号 {} 进行索引来访问元胞的内容。2、cell的理解1.cell就像很多个抽屉,每个里面可以放不同类型的东西。cell函数是造元素为cell类型的矩阵我们都熟悉阵列或矩阵的构成,比如一个mn大小的矩阵,那么它有m行、n列,共有mn个元素。如果我们只在实数范原创 2020-06-26 09:28:16 · 3495 阅读 · 0 评论 -
matlab报错解决---当前文件夹或MATLAB路径中未发现xxxx.m,但它位于xx\xxx\xxx\路径下
解决:选定为找到的文件,右键,找到”选择文件夹和子文件夹”选项,添加到路径即可,之后文件会变亮色,不是灰色。最后解决,跑出数据原创 2020-06-25 13:45:01 · 12270 阅读 · 2 评论 -
matlab报错:未定义与double类型的输入参数相对应的函数
https://blog.csdn.net/weixin_43604867/article/details/102607179 https://www.ilovematlab.cn/forum.php?mod=viewthread&tid=456208解决:在命令窗口输入 help finverse (你是什么函数就输对应的函数名) 若MATLAB显示有这函数,接下来就输入 open finverse 将此函数的,m文件另存为你正在报错文件下的目录下,就是你调用的函数要和你...原创 2020-06-17 21:55:16 · 97993 阅读 · 5 评论 -
初学 Matlab 编写上位机(1)
一1、运行MATLAB ,并在命令行中输入guide2、输入guide后出现如下界面,3、可对其进行另存为,再点击确定,出现如下界面4、在组件选项板中显示组件的名称:选择文件 > 预设 > GUIDE。选择在组件选项板中显示名称。点击确定。二、1、选择“坐标区”,画区域2、再添加三个普通按钮、两个弹出式菜单、两个静态文本(根据自己所需进行添加)3、 开始...原创 2020-01-20 19:33:19 · 11387 阅读 · 1 评论 -
MATLAB----程序控制结构(5)
一、顺序结构1、数据的输入A = input(提示信息,选项 ) 从键盘输入数据 提示信息为一个字符串,选项若为s 则允许用户输入字符串2、数据的输出disp(输出选项) 输出选项可以是字符串也可以是矩阵disp函数显示矩阵时将不显示矩阵名字例:求一元二次方程的根 二、选择结构1) if语句1、单分支if语句if条件语句组end2、双...原创 2018-09-26 00:11:57 · 923 阅读 · 0 评论 -
MATLAB学习笔记--- 特殊矩阵(2)
1. 通用的特殊矩阵zeros:产生全0矩阵ones:全1矩阵eye: 单位矩阵rand : 0~1之间均匀分布的随机矩阵randn: 均值为0,方差为1的标准正态分布随机矩阵调用格式zeros(m):产生 m x m 零矩阵zeros(m,n): 产生m x n 零矩阵zeros(size(A)): 产生与矩阵A同样大小的矩阵 2.(1)若想得到在...原创 2018-09-20 00:13:37 · 1533 阅读 · 0 评论 -
MATLAB ----中M文件的建立与打开(4)
1、M文件的建立与打开1)建立新的M文件在命令框输入edit ,启动文本编辑器在工作空间编辑内容,最后保存save --> 并命名 xxx.m 2)命令形式打开文件在工作区输入edit 文件名 如我的是edit first.m打开文件形式如下 ...原创 2018-09-24 11:05:29 · 3060 阅读 · 0 评论 -
MATLAB中常用函数(3)
1、 sin( ) 三角函数2、 abs( ) 求实数的绝对值、负数的模、字符串的ASCII的值3、round( ) 按四舍五入的规则取整4、ceil( ) 向上取整5、floor( ) 向下取整6、fix( ) 固定取靠近0的那个整数,即设区小数取整7、isprime (n) 判断n是否是素数,n是素数时返回1,否则返回08、sub2ind ( S , I, J ) ...原创 2018-09-23 23:19:35 · 1300 阅读 · 0 评论 -
MATLAB学习笔记---MATLAB数据及其运算(1)
一、变量与赋值1、变量名:以字母开头,后接字母、数字或下划线,最多63个字符2、赋值语句(1)变量 = 表达式(2)表达式 (此表达式赋给预定义变量ans)3、预定义变量: 系统驻留的系统本身定义的变量二、变量的管理1、内存变量的显示于删除who:用于显示在MATLAB工作空间中驻留的变量名清单whos: 用于显示在MATLAB工作空间中驻留的变量名清单,同时也...原创 2018-09-18 23:51:59 · 587 阅读 · 0 评论