Untitled
unknown
plain_text
a year ago
1.9 kB
1
Indexable
Never
% Rüzgar hızı veri seti windSpeedData = [5.8, 6.2, 6.4, 5.1, 7.2, 8.5, 9.1, 6.9, 8.2, 7.6, 8.9, 6.7, 6.5, 7.8, 6.3, 8.7, 7.1, 7.9, 6.8, 8.4]; % Weibull dağılımının parametrelerini hesaplama shapeParameter = 0; scaleParameter = 0; meanWindSpeed = mean(windSpeedData); standardDeviation = std(windSpeedData); options = optimset('Display', 'off'); [params, ~] = fminsearch(@(params) weibullError(params, windSpeedData), [shapeParameter, scaleParameter], options); shapeParameter = params(1); scaleParameter = params(2); % Weibull dağılımı grafiğini çizme x = 0:0.1:20; y = (shapeParameter / scaleParameter) .* (x ./ scaleParameter).^(shapeParameter - 1) .* exp(- (x ./ scaleParameter).^shapeParameter); plot(x, y, 'r-', 'LineWidth', 2); hold on; histogram(windSpeedData, 'Normalization', 'probability', 'FaceColor', 'blue'); xlabel('Rüzgar Hızı (m/s)'); ylabel('Olasılık Yoğunluğu'); legend('Weibull Dağılımı', 'Rüzgar Hızı Veri Seti'); title('Rüzgar Hızı Dağılımı'); % Weibull dağılımı uyumunu değerlendirme weibullFit = wblpdf(x, scaleParameter, shapeParameter); dataFit = histcounts(windSpeedData, 'Normalization', 'probability'); fitError = sum((dataFit - weibullFit).^2); fprintf('Weibull Dağılımı Parametreleri:\n'); fprintf('Shape Parametre: %.2f\n', shapeParameter); fprintf('Scale Parametre: %.2f\n', scaleParameter); fprintf('Ortalama Rüzgar Hızı: %.2f m/s\n', meanWindSpeed); fprintf('Standart Sapma: %.2f\n', standardDeviation); fprintf('Uygunluk Hatası: %.4f\n', fitError); % Weibull dağılımı uygunluk hatasını hesaplama function error = weibullError(params, data) shape = params(1); scale = params(2); weibullFit = wblpdf(data, scale, shape); dataFit = histcounts(data, 'Normalization', 'probability'); error = sum((dataFit - weibullFit).^2); end