【数学模型】基于ARMR模型模拟风速附matlab完整代码 |
您所在的位置:网站首页 › 风速模型理论 › 【数学模型】基于ARMR模型模拟风速附matlab完整代码 |
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 神经网络预测 雷达通信 无线传感器 信号处理 图像处理 路径规划 元胞自动机 无人机 电力系统 ⛄ 内容介绍【数学模型】基于ARMR模型模拟风速附matlab完整代码 ⛄ 完整代码%用ARMA模型仿真风速模型 clc;clear;close all; %初始化 I=0.16;%湍流强度 L=600;%湍流尺度 average_v=8.11850232757234;%平均风速 Ts=1;%采样时间 T=720;%模拟时间 n=T/Ts;%采样个数 sigma_u=3.48648820169842;%风速序列的标准差 sigma_noise=0.2;%白噪声的方差 % u=yyx_noice_n(0,sigma_noise,n);%产生n个序列的白噪声,均值为0,方差为1; u=normrnd(0,sigma_noise,n); v=zeros(1,n); S=zeros(1,n); wind=zeros(2,n); df=1/T;%频率分辨率 f=(0:n-1)*df; length_f=length(f); for i=1:length_f S(i)=4*(sigma_u)^2*L/average_v/(1+70.8*(f(i)*L/average_v)^2)^(5/6);%Von Karman谱功率密度函数 end R=real(ifft(S));%自相关与功率谱密度是傅立叶变换关系,求自相关 %求解AR模型参数 a(1)=R(2)/R(1); a(2)=R(3)/R(1)-R(2)*R(2)/R(1)/R(1); %求解MA模型参数 Ry=(-a(1)+a(2)*a(1))*R(1)+(1+a(1)^2+a(2)^2)*R(2)+(-a(1)+a(1)*a(2))*R(3)+(-a(2))*R(4); b=Ry/sigma_noise;%beta=Ry/白噪声的方差 %脉动风速 v(1)=u(1); v(2)=a(1)*v(1)+u(2)+b*u(1); for k=3:n v(k)=a(1)*v(k-1)+a(2)*v(k-2)+u(k)+b*u(k-1);%ARMA模型 end %风速 for k=1:n x(k)=average_v+v(k); end subplot(2,1,2); S1=abs(S); plot(f,10*log10(S));%Von Karman型功率谱 axis([0,2,-20,30]); title('Von Karman功率谱密度'); xlabel('f/Hz'); ylabel('S/dB'); subplot(2,1,1); Pxx=10*log10(abs(fft(x).^2)/n); plot(f,Pxx); axis([0,2,-30,50]); title('ARMA模型产生的风速序列的功率谱密度'); xlabel('f/Hz'); ylabel('S/dB'); figure(2); t=Ts:Ts:T; plot(t,x);hold on; axis([0,T,0,16]); title('风速'); xlabel('时间/s'); ylabel('速度/ms-1'); %输出风速序列 for k=1:n wind(1,k)=t(k); wind(2,k)=x(k); end ⛄ 运行结果[1]陆琴. 基于MATLAB的风力发电系统风速模型的研究[J]. 工业控制计算机, 2016(7):3. ⛄ Matlab代码关注❤️部分理论引用网络文献,若有侵权联系博主删除❤️ 关注我领取海量matlab电子书和数学建模资料 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |