當前位置:首頁 » 分析預測 » 用matlab小波變換做股票分析
擴展閱讀
股票今天買今天能賣嗎 2025-09-13 20:34:22
2000塊買股票嗎 2025-09-13 19:07:31

用matlab小波變換做股票分析

發布時間: 2021-09-25 20:32:36

⑴ matlab 小波變換 股票

你的函數是是什麼,你把股票的 時間和價格對應起來,這樣的話,就可以用小波函數進行代入進行小波變換,看信號的分解的各部分了。

⑵ 關於小波變換的Matlab編程

這是一個帶參數的函數
根據下面的參數校驗可以看出你應該是直接點運行了吧
所以報錯了
你至少應該產生一個輸入信號,比如一個正弦信號來做輸入進行變換
。。。誰給你的程序啊
這bug也太多了
很多低級bug
我只是改的能運行了
function
[WT,FreqBins,Scales]=CWT_Morlet(Sig,WinLen,nLevel)
%continuous
Wavelet
Transform
using
Morlet
function
%Sig:信號
%WinLen:小波函數在尺度參數a=1時的長度(默認為10)
%nLevel:頻率軸劃分區間段(默認為1024)
%
%WT:返回的小波變換計算結果
%FreqBins:返回頻率軸劃分結果(歸一化頻率,最高頻率為0.5)
%Scales:返回與頻率軸劃分值相對應的尺度劃分(頻率0.5對應的尺度為1)
if
(nargin==0),
error('At
least
1
parameter
required!');
end;
if
(nargin<3),
nLevel=1024;
end
if
(nargin<2),
WinLen=10;
end
Sig=hilbert(real(Sig));%計算信號的解析信號
SigLen=length(Sig);%獲取信號的長度
fmax=0.5;%設置最高分析頻率
fmin=0.005;%設置最低分析頻率
FreqBins=logspace(log10(fmin),log10(0.5),nLevel);%將頻率軸在分析范圍內等
%對數坐標劃分
Scales=fmax*ones(size(FreqBins))./FreqBins;%計算響應的尺度參數
omg0=WinLen/6;
WT=zeros(nLevel,SigLen);%分配計算結果的存儲單元
wait=waitbar(0,'Under
calculation,please
wait');
for
m=1:nLevel,
waitbar(m/nLevel,wait);
a=Scales(m);%提取尺度參數
t=-round(a*WinLen):1:round(a*WinLen);
Mor1=pi^(-1/4)*exp(1i*2*pi*0.5*t/a).*exp(-t.^2/2/(2*omg0*a)^2);
%計算當前尺度下的小波函數
temp=conv(Sig,Mor1)/sqrt(a);
%計算信號與小波函數的卷積
WT(m,:)=temp(round(a*WinLen)+1:length(temp)-round(a*WinLen));
end;
close(wait);
WT=WT/WinLen;
%%%%%%運行示例%%%%%%%%%
Fs=100;
t=0:1/Fs:2*pi;
sig=sin(t);
[WT,FreqBins,Scales]=CWT_Morlet(sig);

⑶ 怎樣用matlab製作小波分析圖

小波圖是什麼圖?難道是餘波

⑷ 求助,怎麼用matlab做小波分析

依次點開菜單: 「File」-->「import data" --> 選擇你的excel文件 -->「Next」-->「Finish」。 然後在「Workspace」中會出現新的data變數,右鍵單擊data --> Save as 。

⑸ 如圖,使用matlab編程實現小波變換對一幅圖像進行處理,從而得出4個座標圖。

A = imread('‪image.bmp');
subplot(2,2,1);
imshow (A);
hold on;
[C, S]=wavedec2(A, 5, 'db3' );
subplot(2,2,2);
plot (C);
title('wavelet coeffs' );
hold on;
zoom on;
zoom off;
B=sort(C, 2, 'descend' );
subplot(2,2,3);
plot (B);
title('(sorted)');
hold on;
D=log10(B);
subplot(2,2,4);
plot (D);
title('(log10(sorted))');
hold on;

⑹ 基於MATLAB的小波分析在股市技術分析中的代碼 誠求,非常感謝!

你去matlab中文論壇,有個小波板塊,網址主體ilovematlab

⑺ 小波分析在matlab中實現的具體步驟

%含雜訊的三角波與正弦波的組合
%利用db5小波對信號進行7層分解
%生產正弦信號
clc;close all;clear all;
N=1000;
t=1:N;
sig1=sin(0.3*t);
%生成三角形波形
sig2(1:500)=((1:500)-1)/500;
sig2(501:N)=(1000-(501:1000))/500;
figure(1);
subplot(211);
plot(t,sig1,'linewidth',2);
xlabel('樣本序號 N');
ylabel('幅值A');
subplot(212);
plot(t,sig2,'linewidth',2);
xlabel('樣本序號 N');
ylabel('幅值A');
%疊加信號
x=sig1+sig2+randn(1,N);
figure(2);
plot(t,x,'linewidth',2);
xlabel('樣本序號 N');
ylabel('幅值A');%一維小波分解
[c,l]=wavedec(x,7,'db5');%重構第1-7層逼近系數
a7=wrcoef('a',c,l,'db5',7);
a6=wrcoef('a',c,l,'db5',6);
a5=wrcoef('a',c,l,'db5',5);
a4=wrcoef('a',c,l,'db5',4);
a3=wrcoef('a',c,l,'db5',3);
a2=wrcoef('a',c,l,'db5',2);
a1=wrcoef('a',c,l,'db5',1);%顯示逼近系數
figure(3)
subplot(711)
plot(a7,'linewidth',2);
ylabel('a7');
subplot(712)
plot(a6,'linewidth',2);
ylabel('a6');
subplot(713)
plot(a5,'linewidth',2);
ylabel('a5');
subplot(714)
plot(a4,'linewidth',2);
ylabel('a4');
subplot(715)
plot(a3,'linewidth',2);
ylabel('a3');
subplot(716)
plot(a2,'linewidth',2);
ylabel('a2');
subplot(717)
plot(a1,'linewidth',2);
ylabel('a1');
xlabel('樣本序號 N');%重構第1-7層細節系數
d7=wrcoef('d',c,l,'db5',7);
d6=wrcoef('d',c,l,'db5',6);
d5=wrcoef('d',c,l,'db5',5);
d4=wrcoef('d',c,l,'db5',4);
d3=wrcoef('d',c,l,'db5',3);
d2=wrcoef('d',c,l,'db5',2);
d1=wrcoef('d',c,l,'db5',1);
%顯示細節系數
figure(4)
subplot(711)
plot(d7,'linewidth',2);
ylabel('d7');
subplot(712)
plot(d6,'linewidth',2);
ylabel('d6');
subplot(713)
plot(d5,'linewidth',2);
ylabel('d5');
subplot(714)
plot(d4,'linewidth',2);
ylabel('d4');
subplot(715)
plot(d3,'linewidth',2);
ylabel('d3');
subplot(716)
plot(d2,'linewidth',2);
ylabel('d2');
subplot(717)
plot(d1,'linewidth',2);
ylabel('d1');
xlabel('樣本序號 N');

⑻ 用matlab小波分析的實例

你確定程序一直從頭到尾都在執行嗎?在執行前清空了workspace?如果在workspace中沒有其它變數,那麼你的程序在開頭讀入圖片和文件時可能就有誤了。
X=imread('D:/AB.jpg');讀入的圖片將轉為數組X,不知道你的X將是幾維的

imshow(I);沒有定義I

load AB;AB是什麼,通常如果你的圖片是AB.jpg,載入後圖像數組將以AB為變數名,所以有了X,你還load個啥?

subplot(2,2,1);
image(X);X如果是m×n×3的rgb表示的jpg圖,則維數過高,可以用image顯示,但之後的小波變換就沒法進行了。如果是rgb圖像最好將圖像轉為索引圖(及其相應的colormap)或灰度圖,然後在進行小波分析。

⑼ 用matlab做小波分析

你要做DWT還是WP?不管哪一種你都需要將得到的小波系數進行重構(wprec和waverec),這樣就滿足你的量綱要求了,橫坐標就可以有時間值了。

⑽ 用matlab軟體怎麼進行小波分析

它自己有小波工具箱,wav開頭的,裡面有很多相關函數,一般直接用就是了。初學建議看幫助裡面小波工具箱的demo,可能更好理解。