在许多领域,我发现在添加噪声的同时,我们提到了一些规范,如零均值和方差.我需要在Db中添加AWGN,有色噪声,不同SNR的均匀噪声.以下代码显示了我生成和添加噪声的方式.我知道这个功能,awgn()但它是一种黑盒子的东西,不知道如何添加噪音.那么,有人可以解释生成和添加噪声的正确方法.谢谢
SNR = [-10:5:30]; %in Db
snr = 10 .^ (0.1 .* SNR);
for I = 1:length(snr)
noise = 1 / sqrt(2) * (randn(1, N) + 1i * randn(1, N));
u = y + noise .* snr(I);
end
Run Code Online (Sandbox Code Playgroud) 有一个非线性动态系统,x_n = f(x_n,eta)其功能形式是x[n+1] = 2*x[n] mod 1.这是一个混乱的动力系统,称为锯齿图或伯努利图.我在实现Eq(4)和Eq(5)给出的逆映射的两个表示时面临困难.以下是该问题的简要说明.

其中序列(s[n+k])_k=1 to N-1是状态的符号描述x[n].该描述源于下面描述的单位间隔的划分.
设分区数M = 2,符号空间= {0,1},分配符号的规则是
s[n+1] = 1 if x[n] >= 0.5, otherwise s[n+1] = 0
Run Code Online (Sandbox Code Playgroud)
本文作者:
Linear, Random Representations of Chaos
Run Code Online (Sandbox Code Playgroud)
对于方程(5),我在反向之后没有获得相同的时间序列,在进行二进制到实数转换之后几个值不同.有人可以让我正确的程序吗?
我试图为Eqs(4)和(5)实现Bijective图,但它不起作用.
公式(5)的代码 - 我将二进制二进制化.x包含实数; s是每个真实的0/1二进制等价物; y是转换s成真实后的答案.s1是x的+ 1/-1二进制等价物; b是转换为真实后的答案.在+ 1/-1的情况下,当我从符号表示转换为实数时,我将-1切换为0然后在公式(5)中应用公式.从答案,但可以看出,y和b不一样的x做转换后.当原始的实数都是无符号的理性时,我也得到了负的实数!我怎样才能正确实施以使它们相同?
N =10;
x(1) = 0.1;
for i =1 : N
x(i+1) = mod(x(i)*2, 1);
end
y = x;
s …Run Code Online (Sandbox Code Playgroud) 我发现很难将理论与实施联系起来.我很感激帮助知道我的理解错误.
符号 - 粗体大写的矩阵和粗体字母小写字母的向量
是一个数据集
观察,每个
变量.所以,鉴于这些观察
- 维数据向量,
- 维主轴是
,为
在
哪里
是目标维度.
列
形成一个正交的基础
功能和输出
是最小化平方重建误差的主成分投影:
数据模型是
X(i,j) = A(i,:)*S(:,j) + noise
Run Code Online (Sandbox Code Playgroud)
其中PCA应在X上完成以获得输出S. S必须等于Y.
问题1:减少的数据Y不等于模型中使用的S. 我的理解在哪里错了? …
我有一个4输入和3输出神经网络,通过粒子群优化(PSO)训练,均方误差(MSE)作为适应度函数,使用MATLAB提供的IRIS数据库.适应度函数评估50次.该实验是对特征进行分类.我有些疑惑
(1)PSO迭代/世代是否评估适应度函数的次数?
(2)在很多论文中
我已经看到MSE与世代的训练曲线是情节.在图中,左侧的图(a)是与NN类似的模型.它是一个4输入0隐藏的第3层输出认知图.并且图(b)是由相同PSO训练的NN.本文的目的是展示新模型在(a)中对NN的有效性.
但他们提到实验进行说Cycles = 100次,Generations = 300.在这种情况下,(a)和(b)的训练曲线应该是MSE vs Cycles而不是MSE vs PSO世代?例如,Cycle1:PSO迭代1-50 - >结果(Weights_1,Bias_1,MSE_1,Classification Rate_1).Cycle2:PSO迭代1-50 - >结果(Weights_2,Bias_2,MSE_2,Classification Rate_2),依此类推100个周期.为什么(a),(b)中的X轴不同,它们是什么意思?
(3)最后,对于程序的每次独立运行(通过控制台独立运行m文件几次),我从未获得相同的分类率(CR)或相同的权重集.具体地说,当我第一次运行程序时,我得到W(权重)值,CR = 100%.当我再次运行Matlab代码程序时,我可能得到CR = 50%和另一组权重!如下例所示,
%Run1 (PSO generaions 1-50)
>>PSO_NN.m
Correlation =
0
Classification rate = 25
FinalWeightsBias =
-0.1156 0.2487 2.2868 0.4460 0.3013 2.5761
%Run2 (PSO generaions 1-50)
>>PSO_NN.m
Correlation =
1
Classification rate = 100
%Run3 (PSO generaions 1-50)
>>PSO_NN.m
Correlation =
-0.1260
Classification rate = 37.5
FinalWeightsBias =
-0.1726 0.3468 0.6298 -0.0373 0.2954 -0.3254
Run Code Online (Sandbox Code Playgroud)
什么应该是正确的方法?那么,我最终应该采用哪个权重集,以及如何说网络已经过培训?我知道由于它们的随机性而导致的进化算法永远不会给出相同的答案,但是我如何确保网络已经过训练?应该有义务澄清.
问题:如何使用连续图 - Link1:伯努利移位图来模拟二进制序列?
概念:
Dyadic地图也称为伯努利移位地图,表示为x(k+1) = 2x(k) mod 1.在Link2:Symbolic Dynamics中,解释了伯努利图是一个连续的地图,并用作移位图.这将在下面进一步解释.
可以通过划分到适当的区域并用符号分配数字轨迹来表示数字轨迹.通过写下与其轨道上的点所访问的连续分区元素相对应的符号序列来获得符号轨道.人们可以通过研究它的符号轨道来了解系统的动力学.该链接还表示伯努利位移图用于表示符号动力学.
题 :
伯努利移位图如何用于生成二进制序列?我尝试过这样,但这不是Link2中的文档所解释的.所以,我采用了Map的数字输出,并通过以下方式通过阈值转换为符号:
x = rand();
y = mod(2* x,1) % generate the next value after one iteration
y =
0.3295
if y >= 0.5 then s = 1
else s = 0
Run Code Online (Sandbox Code Playgroud)
其中0.5是阈值,称为伯努利图的临界值.
我需要将实数表示为分数,如Link2第2页所述.
有人可以展示我如何应用伯努利移位图来生成符号轨迹(也称为时间序列)?
如果我的理解是错误的,请纠正我.
如何将实值数值时间序列转换为符号化,即如何使用伯努利映射模拟二进制轨道/时间序列?
问题陈述: - 我想创建50个矢量实例(1维),其中包含随机实数(浮点数).数组大小(1维)将说3万.我如何进行以便开销最小或复杂性最小?
我需要使用模糊逻辑对对象进行分类。每个对象都有 4 个特征 - {大小、形状、颜色、纹理}。每个特征都通过语言术语和一些隶属函数进行模糊化。问题是我无法理解如何去模糊化,以便我可以知道未知对象属于哪个类。使用 Mamdani Max-Min 推理,有人可以帮助解决这个问题吗?
Objects = {Dustbin, Can, Bottle, Cup} 或分别表示为 {1,2,3,4}。每个特征的模糊集是:
特点:尺寸
$\tilde{Size_{Large}}$ = {1//1,1/2,0/3,0.6/4} for crisp values in range 10cm - 20 cm
$\tilde{Size_{Small}}$ = {0/1,0/2,1/3,0.4/4} (4cm - 10cm)
Run Code Online (Sandbox Code Playgroud)
形状:
$\tilde{Shape_{Square}}$ = {0.9/1, 0/2,0/3,0/4} for crisp values in range 50-100
$\tilde{Shape_{Cylindrical}}$ = {0.1/1, 1/2,1/3,1/4} (10-40)
Run Code Online (Sandbox Code Playgroud)
特点 : 颜色
$\tilde{Color_{Reddish}}$ = {0/1, 0.8/2, 0.6/3,0.3/4} say red values in between 10-50 (not sure, assuming)
$\tilde{Color_{Greenish}}$ = {1/1, 0.2/2, 0.4/3, 0.7/4} say color values in 100-200
Run Code Online (Sandbox Code Playgroud)
特点:纹理 …
我发现有两个公式很难在MATLAB中表示.要有两个RGB图像,A并且B,具有相同的尺寸与m,n代表行和列和所述第三尺寸d = 3.Formula1如果A是原始图像并且B是失真版本,则基本上计算像素的变化率.Formula2计算像素的平均变化率.
1.
Formula1= { sum(C(m,n,d)) / (m * n)} * 100
where `C(m,n) = 0`, if `A(m,n) = B(m,n)`
`=1`, if `A(m,n) != B(m,n)`
Run Code Online (Sandbox Code Playgroud)
对包括第三维在内的所有行和列求和.
我尝试过这样的事情:
Formula1 = sum(sum(abs(double(A)-double(B))./(m*n), 1), 2);
Run Code Online (Sandbox Code Playgroud)
但这不会给出任何错误.但是,这不是表示它的正确方法,因为if条件没有合并.问题的区域是如何通过检查是否A == B以及是否合并条件A != B.
2.
Formula2 ={ 1/ (m*n)} * sum { norm (A - B) / 255} * 100
同样,这里也将是求和所有尺寸.我不知道如何形成矩阵的规范.
Formula3 …
我知道使用以下方法生成QPSK信号的方法
TxS=round(rand(1,N))*2-1; % QPSK symbols are transmitted symbols
TxS=TxS+sqrt(-1)*(round(rand(1,N))*2-1);
Run Code Online (Sandbox Code Playgroud)
在上文中,符号是2个字母+ 1/-1.但我无法理解如何为相同的字母空间生成16-正交幅度调制信号?可能吗?或者通常的生成方式是什么?
此外,处理复杂信号而不是真实的是一种做法吗?
我正在尝试运行链接中给出的代码
https://github.com/bd622/DiscretHashing
离散散列是一种用于近似最近邻搜索的降维方法。我想在http://yann.lecun.com/exdb/mnist/ 中提供的 MNIST 数据库上加载实现。我已经从压缩的 gz 格式中提取了文件。
问题 1:
使用Reading MNIST Image Database binary file in MATLAB中提供的读取MNIST数据库的方案
我收到以下错误:
Error using fread
Invalid file identifier. Use fopen to generate a valid file identifier.
Error in Reading (line 7)
A = fread(fid, 1, 'uint32');
Run Code Online (Sandbox Code Playgroud)
这是代码:
clear all;
close all;
%//Open file
fid = fopen('t10k-images-idx3-ubyte', 'r');
A = fread(fid, 1, 'uint32');
magicNumber = swapbytes(uint32(A));
%//For each image, store into an individual cell
imageCellArray = cell(1, totalImages);
for k …Run Code Online (Sandbox Code Playgroud) 我正在寻找人体运动跟踪的实现,还讨论了使用差分分析和lukas kanade光学方法从多个视频帧中提取的多个运动物体检测.
我找到了科学论文,发现我们必须使用连通组件过滤连通组件进行连续运动跟踪,但我不明白如何进行这个过程.我所需要的只是骨架化轨迹和人体步态运动的坐标.
我在Opencv和C++工作,但opencv中用于对象检测的文档在我的情况下是不够的.我来自医学背景,需要这是儿科医生项目的一部分.
我发现这个代码运动检测并试图执行它(不知道它是否检测并跟踪运动).但是,它返回这些错误,我很困惑,错误是微不足道的,其他评论提到他们能够运行此代码.但我无法减轻这些错误,也无法理解它们发生的原因.我正在使用OpenCv2.3,以下是错误
码 …
c++ opencv machine-learning visual-studio-2010 computer-vision
A并且B是由二元元素组成的矩阵.A被表示为基础数据矩阵并且B是查询矩阵.A由长度为10的75个数据点组成,每个数据点由长度为10 B的50个数据点组成.我想计算所有数据点A和每个查询数据点之间的距离B,以便应用最近邻搜索.所以我没有使用欧几里德或汉明距离,而是使用了另一个指标:
N = 2,k = length of data samples,s = A(1,:)和t = B(1,:).该代码适用于一个数据样本A和另一个数据样本B.如何缩放以使其适用于所有基础数据点和所有查询数据点?
设A(1,:) = [1,0,1,1,0,0,0,1,1,0]是A矩阵中的第一个样本.让我们B(1,:) = [1,1,0,0,1,1,1,1,0,0]是第一个查询点.
如果取自A和B的样本中的元素相同,则为每个相似元素记录0,否则1.最终距离是1的总和.因此,程序检查两个序列是否相同,如果是,则设置b为1,否则设置为零.有人可以告诉我如何将其应用于矩阵吗?
l = length(A);
D=zeros(1,l);
for i=1:l,
if A(1,i)==B(1,i),
D(1,i)=0;
else
D(1,i)=1;
end
end
sum=0;
for j=1:l,
sum=sum+D(1,j);
end
if sum==0,
b = 1;
else
b …Run Code Online (Sandbox Code Playgroud) 一个例子:考虑单峰逻辑映射:x[n+1] = 4*x[n](1-x[n]).该映射可用于使用该技术生成+ 1/-1符号
我想使用f(x)3个级别的地图扩展上述概念,每个级别对应一个符号,但我不确定如何做到这一点.
matlab ×12
matrix ×2
quantization ×2
binary-data ×1
c++ ×1
distance ×1
encoding ×1
fuzzy-logic ×1
image ×1
mnist ×1
noise ×1
opencv ×1
pca ×1