導航:首頁 > 板塊資金 > 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求股票的信息熵相關的資料

熱點內容
roic那個股票軟體有 瀏覽:748
股票走勢上下影線頻繁 瀏覽:896
如何獲取股票相關統計數據 瀏覽:858
公司賣資產股票的影響因素 瀏覽:128
怎樣取消股票賬號綁定銀行卡 瀏覽:114
退市整理的股票怎麼買 瀏覽:202
2017股票投資視頻 瀏覽:375
中國影視文化股票有哪些 瀏覽:679
公告迅游科技股票 瀏覽:993
a股票長期收益率 瀏覽:882
責任etf股票走勢分析 瀏覽:436
多倫科技股票預測 瀏覽:206
90年代買股票賺錢 瀏覽:36
股票退市期是多長 瀏覽:879
股票怎麼選擇證券公司 瀏覽:959
用爬蟲爬股票歷史數據 瀏覽:554
德聯集團股票資金流入 瀏覽:322
股票賬戶裡面資金常凍是什麼意思 瀏覽:359
牛市中突然被st的股票 瀏覽:40
農業銀行歷史股票價格 瀏覽:452