(19)MATLAB使用Nakagami 分布对象生成Nakagami-m分布

文章目录


前言

MATLAB在R2013a版本中开始引入Nakagami分布对象,可以用来生成Nakagami随机变量。下面给出一个使用实例,用于生成服从Nakagami 分布的随机变量。


一、生成Nakagami分布随机变量的MATLAB代码

1.仿真代码

代码如下:

c 复制代码
clc
close all
clear all
%% 使用MATLAB函数makedist生成Nakagami分布
% Nakagami 分布的参数
m = 1;                                  % 形状参数
Omega = 2;                              % 尺度参数

% 使用 makedist 创建 Nakagami 分布对象
NakagamiDist = makedist('Nakagami', 'm', m, 'Omega', Omega);

% 生成随机变量
N = 10000;                              % 随机变量的数量
X = random(NakagamiDist, N, 1);         % 生成 N 个随机样本
figure(1)
histogram(X,nbins,'Normalization','pdf','DisplayStyle','bar');

%% nakagami分布的概率密度的理论值
% Nakagami分布的参数
m = 1;
Omega = 2;

% nakagami分布的概率密度的理论表达式
x = 0.01:0.01:3;
f = (2*m.^m./(gamma(m).*Omega^m)) .* x.^(2*m-1) .* exp(-m*x.^2./Omega);
figure()
plot(x,f,'LineWidth',1.5)
title('Nakagami分布的概率密度')
legend('概率密度函数的估计值','概率密度函数的理论值')

2.运行结果

二、传输信号经过衰落信道

与瑞利衰落和莱斯衰落一样,得到服从Nakagami分布的随机序列后,与传输信号相乘即可得到原信号的Nakagami衰落版本:

rx = tx .* X;


相关推荐
过期的秋刀鱼!6 小时前
带替换的采样
人工智能·python·算法·决策树·机器学习
过期的秋刀鱼!7 小时前
使用多个决策树
人工智能·算法·决策树·机器学习·数据挖掘
2601_963869957 小时前
【计算机毕业设计】基于Java的潮牌购物网站系统的设计与实现
java·开发语言·课程设计
203号居民7 小时前
LeetCode hot 100 —560. 和为 K 的子数组
java·算法·leetcode
名字还没想好☜8 小时前
Go 的 io.Reader/Writer 组合实战:io.Copy、TeeReader、MultiWriter 优雅处理数据流
开发语言·后端·golang·go·iphone
退休倒计时8 小时前
【每日一题】LeetCode 20. 有效的括号 TypeScript
算法·leetcode·职场和发展·typescript
文心快码BaiduComate8 小时前
光本位联合文心快码打造面向光电芯片研发的全栈AI Agent Lightmate
算法
郝学胜-神的一滴8 小时前
Qt 高级编程 042:进度条从入门到自定义美化
开发语言·c++·qt·软件开发·用户界面
鸿芯微控科技8 小时前
压电纳米定位分辨率怎么测?噪声、带宽、最小可检测位移与Python分析
开发语言·python·噪声分析·压电执行器·纳米定位·位移测量
会编程的土豆8 小时前
从「锁」到「时间」:后端里几个容易混的概念
java·开发语言·数据库·goland