Fourier hakkında yardım - sayfa 9

 
ANG3110 писал (а):

Fourier açılımı için bir destek yaparsak iyi bir sonuç verir. Özellikle, ileri doğru regresyon kolayca tahmin edilebilir ve buna göre Fourier inşa edilebilir. Hareketli bir ortalamayı destek olarak koymak ve harmoniklerin toplamını hareket lineer olarak devam ediyormuş gibi ayrı bir pencerede oluşturmak mümkündür. Verilerle tam olarak hizalanacak şekilde yarım dönem geriye kaydırılmış, sorunsuz değişen ortalama T3 tipi bazında ve minimum RMS'ye göre ayarlanmış bir parabol ile ucu tahmin etmek mümkündür ve Fourier'i bu ekstrapolasyona göre oluşturun. Ancak her durumda, farklı periyotlarla Fourier ekstrapolasyonu için birkaç seçenek oluşturursak ve her seçeneği minimum standart sapmaya göre optimize edersek, döngüleri tekrarlama olasılığı yüksek olacaktır. Birkaç seçeneğin tanıklığının bir tesadüfü varsa, o zaman muhtemel olarak kabul edilebilirler. Daha sonra bir faz farkı veya gecikmesi meydana gelirse, bu, otomatik ayarlama veya yeniden hesaplama için kullanılabilecek düzeltici bir fark sinyali üretecektir. Bu, radyo alıcılarındaki en verimli ve gürültüye dayanıklı olan PLL (Faz Kilitli Döngü) dedektörünü andırıyor.
Aslında Fourier serisini zaman içinde ileriye bakmadan göstermek, böylece serinin sonunun yakın olması o kadar da büyük bir sorun değil. Gelecekteki alıntıların Fourier'ini göstermek ilginçtir. Gelecek zaman için Fourier çizim göstergenizin, gerçeklikle iyi bir uyum içinde olan ekran görüntülerini yayınladınız. Hangi ilkelere göre çalışır?
 
shobvas писал (а):

Aslında Fourier serisini zaman içinde ileriye bakmadan göstermek, böylece serinin sonunun yakın olması o kadar da büyük bir sorun değil. Gelecekteki alıntıların Fourier'ini göstermek ilginçtir. Gelecek zaman için Fourier çizim göstergenizin, gerçeklikle iyi bir uyum içinde olan ekran görüntülerini yayınladınız. Hangi ilkelere göre çalışır?
LinearRegressin'e göre ayrıştırma yapılır. Kuyruk bir radyo alıcısındaki gibidir, böylece işitilebilirlik en iyi seviyededir, minimum gürültüye ve maksimum sinyale ayarlanması tavsiye edilir, yani ayar minimum RMS'ye göre yapılır. Dönemi kolayca değiştirmek için düz bir çizgi veya bir regresyon kanalı komut dosyası kullanılır. Bitiş verileri alınır ve göstergeye aktarılır. Böylece çizgileri hareket ettirerek periyodu anında değiştiriyor ve tüm resmi yeniden hesaplıyoruz. RMS, yorumlarda görüntülenir ve ayar, minimum RMS artı gözle küçük bir kaydırmaya göre yapılır, böylece yüksek ve alçaklar mümkün olduğunca iyi eşleşir. GetAsyncKeyState (int nVirtKey) işlevi aracılığıyla harmonik sayısını değiştirme yeteneği de eklendi, ardından klavyedeki ilgili oklara basarak harmonik sayısını hızlı bir şekilde ekleyebilir veya çıkarabiliriz. Aynısı, hepsini çizen bir komut dosyası aracılığıyla yapılır. Ayarlar ve seçenekler hakkında biraz daha önce yazdım. Farklı periyotlar ve farklı güvenilirlik için harmonik sayısı farklı alınır.
Ancak zaten az çok tatmin edici sonuçlar elde edilmiştir, böylece minimum harmonik 12 ila 24 saat arasındadır ve minimum süre 2-3 gün veya daha fazladır. Bu günlük tahmin içindir. Global teknik için aynı, ancak dönemler elbette büyük. Ölçeğe bağlı olarak. Uzun süreler boyunca - aylar-yıllar boyunca, tahminin sonucu, özellikle periyodik olarak çok yüksek bir olasılıkla tekrarlanan bazı frekanslarda, genellikle gerçek verilerle çok iyi uyum sağlar. Bu frekanslar hakkında istatistik elde etmek için, tüm zaman aralığında da sürüklenebilen kurnaz bir spektrum analizörü yapılmıştır.
 
ANG3110 писал (а):
LinearRegressin'e göre ayrıştırma yapılır. Kuyruk bir radyo alıcısındaki gibidir, böylece işitilebilirlik en iyi seviyededir, minimum gürültüye ve maksimum sinyale ayarlanması tavsiye edilir, yani ayar minimum RMS'ye göre yapılır. Dönemi kolayca değiştirmek için düz bir çizgi veya bir regresyon kanalı komut dosyası kullanılır. Bitiş verileri alınır ve göstergeye aktarılır. Böylece çizgileri hareket ettirerek periyodu anında değiştiriyor ve tüm resmi yeniden hesaplıyoruz. RMS, yorumlarda görüntülenir ve ayar, minimum RMS artı gözle küçük bir kaydırmaya göre yapılır, böylece yüksek ve alçaklar mümkün olduğunca iyi eşleşir. GetAsyncKeyState (int nVirtKey) işlevi aracılığıyla harmonik sayısını değiştirme yeteneği de eklendi, ardından klavyedeki ilgili oklara basarak harmonik sayısını hızlı bir şekilde ekleyebilir veya çıkarabiliriz. Aynısı, hepsini çizen bir komut dosyası aracılığıyla yapılır. Ayarlar ve seçenekler hakkında biraz daha önce yazdım. Farklı periyotlar ve farklı güvenilirlik için harmonik sayısı farklı alınır.
Ancak zaten az çok tatmin edici sonuçlar elde edilmiştir, böylece minimum harmonik 12 ila 24 saat arasındadır ve minimum süre 2-3 gün veya daha fazladır. Bu günlük tahmin içindir. Global teknik için aynı, ancak dönemler elbette büyük. Ölçeğe bağlı olarak. Uzun süreler boyunca - aylar-yıllar boyunca, tahminin sonucu, özellikle periyodik olarak çok yüksek bir olasılıkla tekrarlanan bazı frekanslarda, genellikle gerçek verilerle çok iyi uyum sağlar. Bu frekanslar hakkında istatistik elde etmek için, tüm zaman aralığında da sürüklenebilen kurnaz bir spektrum analizörü yapılmıştır.

bir şey anlamıyorum...
Fourier serisi, fiyat ve regresyon çizgisinin değeri arasındaki farktan oluşturulmuştur, değil mi?

Ama kuyruk hakkında çok net değil .... Minimum standart sapma için yapılandırılan nedir?
Cevaplarınız için şimdiden teşekkürler =)
 
shobvas писал (а):
bir şey anlamıyorum...
Fourier serisi, fiyat ve regresyon çizgisinin değeri arasındaki farktan oluşturulmuştur, değil mi?

Ama kuyruk hakkında çok net değil .... Minimum standart sapma için yapılandırılan nedir?
Cevaplarınız için şimdiden teşekkürler =)

Evet. İlk olarak, LR[i] koordinatlarını hesaplıyoruz. Ardından dc[i]=Close[i]-LR[i]; dc[i] dizisinden Fourier fx[i]'yi oluşturuyoruz. Ve LR[i] koordinatlarını ekleyin. Yani, fx[i]=fx[i]+LR[i] veya fx[i]+=LR[i]; Ekstrapolasyon yaparsak, i=0'dan önce ve sonra LR[i] ve fx[i]'yi hesaplarız (beyininizi kendiniz nasıl kullanabilirsiniz).
"Kuyruk", i=T'den i=0'a kadar bilinen şeydir; Script yardımıyla hesaplama periyodunu (T) kaydırabildiğimiz, sıkıştırabildiğimiz veya uzatabildiğimiz için, her kaydırma ile "kuyruğun" RMS'sini otomatik olarak yeniden hesaplıyoruz.
Yani, sq=0.0; for (int n=0; n<T; n++) sq+=(Kapat[i0+n]-fx[n])*(Kapat[i0+n]-fx[n]); sq= MathSqrt (sq/T); Ve minimum RMS'ye (sq) ayarlıyoruz.
Ekran görüntülerimde "kuyruk" sarı ve yeşil olarak gösteriliyor ve ekstrapolasyon kırmızı ve mavi olarak gösteriliyor.
Genel olarak, tüm bu yapılar başlangıçta çok fazla zaman ve zihinsel güç gerektirir ve henüz hazır olmadığınızı düşünüyorsanız, olgunlaşmayı bekleyin. Aksi takdirde, tüm bunlarla eziyet çekebilirsiniz ve sonuçlardan artık mutlu olmayacaksınız.
 
ANG3110 писал (а):
Evet. İlk olarak, LR[i] koordinatlarını hesaplıyoruz. Ardından dc[i]=Close[i]-LR[i]; dc[i] dizisinden Fourier fx[i]'yi oluşturuyoruz. Ve LR[i] koordinatlarını ekleyin. Yani, fx[i]=fx[i]+LR[i] veya fx[i]+=LR[i]; Ekstrapolasyon yaparsak, i=0'dan önce ve sonra LR[i] ve fx[i]'yi hesaplarız (beyininizi kendiniz nasıl kullanabilirsiniz).
"Kuyruk", i=T'den i=0'a kadar bilinen şeydir; Script yardımıyla hesaplama periyodunu (T) kaydırabildiğimiz, sıkıştırabildiğimiz veya uzatabildiğimiz için, her kaydırma ile "kuyruğun" RMS'sini otomatik olarak yeniden hesaplıyoruz.
Yani, sq=0.0; for (int n=0; n<T; n++) sq+=(Kapat[i0+n]-fx[n])*(Kapat[i0+n]-fx[n]); sq= MathSqrt (sq/T); Ve minimum RMS'ye (sq) ayarlıyoruz.
Ekran görüntülerimde "kuyruk" sarı ve yeşil olarak gösteriliyor ve ekstrapolasyon kırmızı ve mavi olarak gösteriliyor.
Genel olarak, tüm bu yapılar ilk başta çok zaman alır ve henüz hazır olmadığınızı düşünüyorsanız, olgunlaşmayı bekleyin. Aksi takdirde, tüm bunlarla eziyet çekebilirsiniz ve sonuçlardan artık mutlu olmayacaksınız.

Yani minimum standart sapmaya göre T ayarlanmış, doğru mu anladım?
Yoksa Fourier genişlemesindeki harmonik frekansların sayısı minimum RMS'ye mi ayarlanmış?

Ancak, en ilginç şey, yani Fourier fonksiyonunun ekstrapolasyonunun nasıl yapıldığını söylemediniz =)
 
shobvas писал (а):
Yani minimum standart sapmaya göre T ayarlanmış, doğru mu anladım?
Yoksa Fourier genişlemesindeki harmonik frekansların sayısı minimum RMS'ye mi ayarlanmış?

Ancak, en ilginç şey, yani Fourier fonksiyonunun ekstrapolasyonunun nasıl yapıldığını söylemediniz =)
Doğrusal regresyon hesaplamasının bir sonucu olarak, LR[i]=b+a*i;
Fourier hesaplamasının bir sonucu olarak, N harmoniklerinin sayısına, ak[k],bk[k] katsayılarına sahip olacağız, burada k-harmonik sayıya (k=0. ...N) karşılık gelir; ve Fourier hesaplama formülü toplamı=0.0; for(k=0; k<=N; k++) sum+=ak[k]* MathCos (w*k*i)+bk[k]*MathSin(w*k*i); fx[i]=toplam;
Şimdi ekstrapolasyona ihtiyacımız varsa, diyelim ki yarım periyot sonrasını hesaplayalım.
T'den -T/2'ye veriler; for(int i=T; i>=-T/2; i--), ancak diziler yalnızca pozitif indeksler içermesi gerektiğinden, -1'den -T/2'ye ikinci diziye geçiyoruz, yoksa bir numara var , tüm elemanları +T/2 geri kaydırarak 2 diziye bölmekten kaçınmak için ve çizerken bu kaydırma dikkate alınır. Gerisini ancak bu tür yapılarda zaten deneyiminiz varsa tanımlamak mantıklıdır. Senaryolarda, ilerlemek için hiç problemimiz yok. Göstergelerde SetIndexShift() kullanın;
 

Yani, i<0 için fx[i]'yi aşağıdaki formülü kullanarak hesaplarsınız:

toplam=0.0; for(k=0; k<=N; k++) sum+=ak[k]* MathCos (w*k*i)+bk[k]*MathSin(w*k*i); fx[i]=toplam;

Böyle?

Fourier fonksiyonunu hangi dönem için inşa ediyorsunuz? [T,0]?

 
shobvas писал (а):

Yani, i<0 için fx[i]'yi aşağıdaki formülü kullanarak hesaplarsınız:

toplam=0.0; for(k=0; k<=N; k++) sum+=ak[k]*MathCos(w*k*i)+bk[k]*MathSin(w*k*i); fx[i]=toplam;

Böyle?

Fourier fonksiyonunu hangi dönem için inşa ediyorsunuz? [T,0]?

SetIndexShift(0,T/2);

(i=T; i>=-T/2; i--) için
{
toplam=0.0;
for(int k=0; k<=N; k++) sum+=ak[k]*MathCos(w*k*i)+bk[k]*MathSin(w*k*i);
fx[i+T/2]=toplam+b+a*i;
}
 

Ve ak, bk katsayıları tam olarak nasıl hesaplanır?

İntegral orada hangi aralıkta üstlenir? T'den 0'a ya da ne?

 
shobvas писал (а):

Ve ak, bk katsayıları tam olarak nasıl hesaplanır?

İntegral orada hangi aralıkta üstlenir? T'den 0'a ya da ne?


için (int k=0; k<=N; k++)
{
toplam_cos=0.0;
toplam_sin=0.0;
için (int i=0; i<T; i++)
{
sum_cos+=(Kapat[i]-ba*i)*MathCos(w*k*i);
sum_sin+=(Kapat[i]-ba*i)*MathSin(w*k*i);
}
ak[k]=sum_cos*2/T;
bk[k]=sum_sin*2/T;
}
ak[0]=ak[0]/2;
Neden: