Hai, saya menganalisis data angin untuk memperkirakan energi dari turbin angin.
Saya telah mengambil data angin 10 tahun dan membuat grafik histogram;
tahap kedua saya adalah menyesuaikan distribusi Weibull ke data.
Saya menggunakan R dengan paket lmom
untuk menghitung bentuk dan skala Weibul ini adalah kode yang saya gunakan:
>library(lmom)
wind.moments<-samlmu(as.numeric(pp$WS))
moments<-pelwei(wind.moments)
x.wei<-rweibull(n=length(pp$WS), shape=moments["delta"], scale=moments["beta"])
hist(as.numeric(pp$WS), freq=FALSE)
lines(density(x.wei), col="red", lwd=4)
Sepertinya ada beberapa jeda antara data dan fungsi kerapatan; dapatkah anda membantu saya dengan ini? Pertanyaan lain adalah dapatkah Anda membantu saya dalam menghitung energi anual dari fungsi kepadatan?
Terima kasih
r
distributions
eliavs
sumber
sumber
Jawaban:
lmom
fungsipelwei
sesuai dengan tiga parameter distribusi Weibull, dengan parameter lokasi , skala dan bentuk.rweibull
menghasilkan angka acak untuk distribusi Weibull dua parameter. Anda perlu mengurangi parameter lokasimoments["zeta"]
. Itu harus memberikan yang lebih baik cocok, tapi tidak muncul itu akan memberikan yang baik cocok untuk data tertentu Anda.Saya perhatikan http://www.reuk.co.uk/Wind-Speed-Distribution-Weibull.htm mengatakan "Kecepatan angin di sebagian besar dunia dapat dimodelkan menggunakan Weibull Distribution.". Mungkin Anda hanya beruntung dan tinggal di bagian dunia di mana mereka tidak bisa!
sumber
integrate()
Fungsi R mungkin berguna untuk itu.Saya membuat ulang plot Anda dengan data dari http://hawaii.gov/dbedt/ert/winddata/krab0192.txt (saya mengambil 1.200 pengukuran). Saya mendapatkan data yang layak, umumnya menggunakan kode Anda:
Maaf, saya tidak yakin kalau masalah Anda bisa, tapi saya pikir Anda harus dapat menyesuaikan weibull dengan data Anda. Yang membuat saya curiga adalah kurva lonceng plot kepadatan Anda, saya tidak tahu dari mana itu berasal.
Inilah saat-saat yang saya hasilkan:
angin
momen
WTR ke output tahunan: Saya kira saya akan menghasilkan nilai diskrit untuk fungsi kepadatan probabilitas, kalikan nilai-nilai ini dengan fungsi output dan jumlahkan. Atau, Anda bisa menggunakan data mentah Anda, mengalikan nilai dengan fungsi output, menjumlahkannya dan menghitung rata-rata tahunan, Anda harus mengontrol musiman dengan cara yang sesuai (mis. Pastikan untuk menggunakan seluruh tahun, atau untuk menimbang sesuai dengan itu) .
Ini adalah output yang tidak terkendali (menggunakan rumus dari http://www.articlesbase.com/diy-articles/determining-wind-turbine-annual-power-output-a-simple-formula-based-upon-blade-diameter- dan kecepatan angin rata-rata di lokasi Anda-513080.html )
sumber
Berikut ini pos terbaru di SO tentang turbin angin. Jawaban saya pada tautan itu memiliki tiga tautan yang mungkin menarik bagi Anda:
/programming/4843194/r-language-sorting-data-into-ranges-averaging-ignore-outliers/4844783#4844783
Saya baru saja memeriksa salah satu tautan Weibull dalam jawaban SO di atas. Untuk beberapa alasan, tautannya down. Berikut ini beberapa tautan yang memberikan informasi dasar yang sama:
http://www.gso.uri.edu/ozone/
http://www.weru.ksu.edu/new_weru/publications/pdf/Comparison%20of%20the%20Weibull%20model%20with%20mengukur%20wind%20speed%20distributions%20for%20stochastic%20wind%20genera.pdf
http://www.kfupm.edu.sa/ri/publication/cer/41_JP_Weibull_parameters_for_wind_speed_distribution_in_Saudi_Arabia.pdf
http://journal.dogus.edu.tr/13026739/2008/cilt9/sayi1/M00195.pdf
http://www.eurojournals.com/ejsr_26_1_01.pdf
Juga, dari kekuatan yang dihasilkan dari angin, musiman jelas.
sumber
Saya tidak yakin apakah seseorang telah membuat poin ini, tetapi pelwei sebenarnya dapat dipaksa untuk bekerja sebagai fungsi weibull 2 parameter dengan menambahkan dalam batas tetap.
Bawaan panggilan
moments<-pelwei(wind.moments)
Anda hanya harus meneleponmoments<-pelwei(wind.moments,bound=0)
Anda selalu dapat memeriksa apa nilai zeta itu. Jika bukan 0 dan Anda menggunakan dweibull, Anda perlu melakukan sesuatu untuk itu.
sumber