# Ocean Wave-Turbulence Decomposition MATLAB Script
## References
See [manuscript](https://arxiv.org/abs/2403.00223) for a detailed description of the method and how to use it.
```
Wave-Turbulence Decomposition MATLAB Script
│
├── Dependencies:
│ ├── MATLAB Signal Processing Toolbox 23.2 or later
│ │
│ ├── HankelMatrix.m
│ ├── DMD_processing.m
│ │ ├── DMDselective.m
│ │ └── HankelMatrix.m
│ ├── DMD_spectrum.m
│ ├── find_in_range.m
│ ├── DMD_reconstruct.m
│ │ └── textprogressbar.m
│ └── eigvals_lambda_omega.m
│
└── Main Script:
├── Load data (SynthData.mat)
├── Adjust parameters (nfft, win, fs, waveRange)
├── Visualize power spectra
│
├── Proper Orthogonal Decomposition (POD)
│ └── HankelMatrix.m
├── Dynamic Mode Decomposition (DMD)
│ ├── DMD_processing.m
│ │ ├── DMDselective.m
│ │ └── HankelMatrix.m
│ └── DMD_spectrum.m
│
├── Check energy distribution
│ └── eigvals_lambda_omega.m
│
└── Plotting
```
## What does this script do?
This MATLAB script helps you separate wave and turbulence motions from raw flow measurement data using dynamic mode decomposition (DMD).
## Input:
- **Raw Data:** Load your flow measurement data.
- **Sampling Frequency (fs):** Specify the frequency at which measurements were taken.
- **Wave Frequency Range:** Define the range of frequencies where waves are expected in a power density spectra of the raw data.
- **Spectral Parameters:** Set the number of FFT points (``nfft``) and window size (``win``) for spectral visualization.
## Output:
- **Out:** Structure that contains the outputs from DMD analysis such as the eigen modes (``Out.Phi``), discrete and continuous eigenvalues (``Out.lambda`` and ``Out.omega``), amplitudes (``Out.b``), and DMD separation of the raw data (``Out.Xdmd``).
## How to use:
1. **Load Your Data:** Load your flow measurement data as a $1 \times N$ array.
2. **Adjust Parameters:** Tune parameters like sampling frequency, wave frequency range, time-delay, and spectral parameters according to your data characteristics.
3. **Get the POD spectra:** The POD spectra helps determine the rank truncation of the time-delayed matrix.
4. **Run DMD:** Decompose the time-delayed matrix using DMD and reconstruct the time series in time domain.
## Custom functions
- **``HankelMatrix.m``:** Constructs Hankel matrix
- **``DMD_processing.m``:** Processes raw signal and performs DMD
- **``DMD_spectrum.m``:** Computes DMD spectrum
- **``find_in_range.m``:** Finds indexes within a specified range
- **``DMD_reconstruct.m``:** Reconstructs signals using DMD
- **``eigvals_lambda_omega.m``:** Extracts components from eigenvalues for visualization
没有合适的资源?快使用搜索试试~ 我知道了~
使用动态模式分解(DMD)分离波浪和湍流运动的matlab代码.zip
共12个文件
m:9个
mat:2个
md:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 66 浏览量
2024-03-18
16:19:38
上传
评论
收藏 409KB ZIP 举报
温馨提示
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
资源推荐
资源详情
资源评论
收起资源包目录
使用动态模式分解(DMD)分离波浪和湍流运动的matlab代码.zip (12个子文件)
使用动态模式分解(DMD)分离波浪和湍流运动的matlab代码
Wave-Turbulence_DMD-main
SynthData.mat 220KB
DMD_processing.m 2KB
DMD_spectrum.m 708B
DMDscript.m 7KB
find_in_range.m 1KB
HankelMatrix.m 1KB
LabData.mat 172KB
DMDselective.m 1KB
eigvals_lambda_omega.m 2KB
textprogressbar.m 2KB
DMD_reconstruct.m 2KB
README.md 3KB
共 12 条
- 1
资源评论
Matlab科研辅导帮
- 粉丝: 1w+
- 资源: 7553
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功