导航:首页 > 板块资金 > matlab求股票的信息熵

matlab求股票的信息熵

发布时间:2022-05-21 17:42:14

① 如何用matlab计算已知图像的熵

function entr=yentropy(a)
a=uint8(a); %这里a为8位的单色图像或24为的RGB彩色图像
[m n l]=size(a);
entr=0;
for k=1:l
hi=zeros(1,256);
for i=1:m
for j=1:n
hi(a(i,j,k)+1)=hi(a(i,j,k)+1)+1; %求每种值的在图像中出现的次数
end
end
hi=sort(hi,'descend');
hi=hi./m./n; %求概率
en=0.0;
for i=1:256
if hi(i)>0
en=en-hi(i).*log2(hi(i)); %概率不为0 累加求熵
else
i=257; %否则停止
end
end
entr=entr+en;
end
entr=entr/l; %当l=1时a为单色图像;
当l=3时a为彩色图像,三个页面的熵平均.

② matlab中如何计算两组数据的互信息,或者如何计算联合熵,为什么我算出来都是负值 求解!!急

L(i,j)=mm(i)*mm2(j); 这一条意味着两个变量相互独立,最终答案肯定为0,
m=[78.3 13.2 4.32 4.32 72 24.5 33.9 679 143 20 26.7 46.9 230 159.8 128 215.6 139 139 70.2 129.6 ];
m = mapminmax(m,0,1);
m2=[78.61 96.98 81.86 82.91 81.35 83.95 78.76 85.72 83.98 84.47 84.73 76.14 124.69 124.69 124.69 623.47 124.69 124.69 18.75 630.02 ];
m2 = mapminmax(m2,0,1);
Y=hist3([m',m2'])/100;
mm=sum(Y,1);
mm2=sum(Y,2);
mm2=mm2';
%
% mm=hist(m)/10;
% mm
mm(mm==0) = [ ];
% mm
Hm = -sum(mm.*log2(mm));
Hm
mm2(mm2==0) = [ ];
mm2
Hm2 = -sum(mm2.*log2(mm2));
Hm2
Y=reshape(Y,1,100);
Y(Y==0)=[];
Hab=-sum(sum(Y.*log2(Y)));
disp('Hab信源联合熵为:');
Hab
%计算a和b的互信息
mi =( Hm+Hm2)-Hab;
mi

③ 如何编写求图像的熵的Matlab程序

求图像的熵,在许多场合下都有应用,也可以有多种编写程序的方法,下面介绍作者编写的一个图像熵的函数yentropy(),可以直接调用。可以用于求图像的局部熵,也可以求其整体熵。
function entr=yentropy(a)
a=uint8(a); %这里a为8位的单色图像或24为的RGB彩色图像
[m n l]=size(a);
entr=0;
for k=1:l
hi=zeros(1,256);
for i=1:m
for j=1:n
hi(a(i,j,k)+1)=hi(a(i,j,k)+1)+1; %求每种值的在图像中出现的次数
end
end
hi=sort(hi,'descend');
hi=hi./m./n; %求概率
en=0.0;
for i=1:256
if hi(i)>0
en=en-hi(i).*log2(hi(i)); %概率不为0 累加求熵
else
i=257; %否则停止
end
end
entr=entr+en;
end
entr=entr/l; %当l=1时a为单色图像;当l=3时a为彩色图像,三个页面的熵平均

④ 信息熵的问题-MATLAB

有一个明显的问题,
temp+=1+a(i)(j);

在MATLAB中与C语言不同,是没有 '+=' 这个运算符的。
应该改成 temp=temp+1+a(i)(j);

⑤ matlab中使用matlab自带信息熵entropy函数, 出现错误 Undefined command/function 'Entropy' ,版本为7.

你的问题也太简洁了,不懂

⑥ 如何用matlab软件计算一幅图像信息的熵以及两幅图像间的联合熵

%计算一副图像的熵

%随机生成图像
A=floor(rand(8,8).*255);

[M,N]=size(A);
temp=zeros(1,256);

%对图像的灰度值在[0,255]上做统计
for m=1:M;
for n=1:N;

if A(m,n)==0;
i=1;
else
i=A(m,n);
end
temp(i)=temp(i)+1;
end
end
temp=temp./(M*N);

%由熵的定义做计算
result=0;

for i=1:length(temp)
if temp(i)==0;
result=result;
else
result=result-temp(i)*log2(temp(i));
end
end
result

%计算联合熵

%随机生成图像
A=floor(rand(8,8).*255);
B=floor(rand(8,8).*255);

[M,N]=size(A);
temp=zeros(256,256);

%对图像的灰度值成对地做统计
for m=1:M;
for n=1:N;

if A(m,n)==0;
i=1;
else
i=A(m,n);
end

if B(m,n)==0;
j=1;
else
j=B(m,n);
end

temp(i,j)=temp(i,j)+1;
end
end
temp=temp./(M*N);

%由熵的定义做计算
result=0;

for i=1:size(temp,1)
for j=1:size(temp,2)
if temp(i,j)==0;
result=result;
else
result=result-temp(i,j)*log2(temp(i,j));
end
end
end
result

⑦ matlab中的entropy函数是如何实现的

(1)先用Hist函数对x(n)的赋值范围进行分块,比如赋值范围在0~10的对应第
一块,10~20的第二块,以此类推。这之前需要对x(n)做一些归一化处理
(2)统计每一块的数据个数,并求出相应的概率
(3)用信息熵公式求解

以上求解方法获得的虽然是近似的信息熵,但是一般认为,这么做是没有问题的
求一维序列的信息熵的matlab程序代码如下:(已写成调用的函数形式)
测试程序:
fs=12000;
N=12000;
T=1/fs;
t=(0:N-1)*T;
ff=104;
sig=0.5*(1+sin(2*pi*ff*t)).*sin(2*pi*3000*t)+rand(1,length(t));
Hx=yyshang(sig,10)

⑧ 熵函数的matlab编程,函数见图片。

没弄明白 , 你给的输入参数是Pij , Xij ?

是否目的是求这样的一个函数?
function [R]=shang( P , X) % P,X为 i行,j列的数据?

如果是以上目的,那很简单的

另:想知道你什么专业的,数学 还是其他?

⑨ matlab求振动信号信息熵

题主给出的用matlab求振动信号信息熵的代码有下列几个问题:

1、shannon=-sum(x.*log2(x)),该代码不能写在for循环中,因为sum是求和命令,其要求x为数值向量

2、循环语句中 x=b(i)/sum(b) ,该代码最后的得到结果是一个x数值,并没有得到一组数值向量,所以该循环应这样来写

for i=1:3072

x(ⅰ)=b(i)/sum(b);

end

3、为了帮你理解,你可运行下列代码,就可以发现,他们的区别。

A=1:10;

for i=1:10,x=A(i)/sum(A);end,x

for i=1:10,x(i)=A(i)/sum(A);end,x


⑩ 如何matlab求解直方图的偏度 峰值 能量 熵

正态分布的信息熵H=-∫P(x)lnP(x) dx 其中第一个积分部分就是∫P(x)dx=1 , 第二积分部分就是E(x-u)^2=σ2 所以H的结果为

阅读全文

与matlab求股票的信息熵相关的资料

热点内容
为啥有的股票连续涨停不停牌 浏览:675
联美控股股票后期走势 浏览:436
通过香港汇丰银行账号买股票 浏览:261
股票放巨量涨停又打开 浏览:638
对股票修改数据库 浏览:997
东方日出股票K线 浏览:675
只一只股票吗 浏览:511
股票账户无法存款 浏览:893
对股票k线分析指导的平台 浏览:90
光大证券股票2020年目标价 浏览:939
股票质押与证券银行 浏览:842
对士兰微股票的证券分析 浏览:37
股票炒股的软件笔记本使用的 浏览:89
股票期限多长时间 浏览:993
香港股票市场的指数包括什么 浏览:359
发股票信息很准的可信么 浏览:630
股票和证券都属于 浏览:590
钒价影响到的哪些股票 浏览:957
股票净资产加现金流 浏览:858
莱克股票内部员工抛售 浏览:739