Example: MHKiT-MATLAB Wave Module
The following example runs an application of the MHHKiT wave module to 1) generate a capture length matrix, 2) calculate MAEP, and 3) plot the scatter diagrams. Load NDBC Data
ndbc_data_file = './data/wave/data.txt'
ndbc_data_file = './data/wave/data.txt'
ndbc_data = read_NDBC_file(ndbc_data_file);
Warning: Calling STRUCT on an object prevents the object from hiding its implementation details and should thus be avoided. Use DISP or DISPLAY to see the visible public details of an object. See 'help struct' for more information.
disp(ndbc_data)
spectrum: [47×743 double]
frequency: [47×1 double]
time: [1×743 datetime]
Compute Wave Metrics
We will now use MHKiT to compute the significant wave height, energy period, and energy flux.
% Compute the enegy periods from the NDBC spectra data
Te = energy_period(ndbc_data);
disp(Te)
7.4587
7.6824
7.4983
7.6762
7.6695
7.4872
7.1609
7.0988
6.4084
6.6875
7.1311
7.9223
8.7329
10.5890
10.7495
11.5639
11.7032
12.7885
13.3933
13.5416
13.6975
13.4058
13.2554
14.0710
14.2076
13.5765
13.5911
13.3964
12.5708
12.8860
12.0561
11.9063
11.4389
11.8633
11.4712
11.1367
11.8808
11.0509
11.3901
11.2406
11.1560
11.1039
11.5390
10.9961
11.1551
11.1352
11.5514
11.7073
11.4691
11.6870
11.6822
11.0037
10.8002
11.0819
10.2768
11.1203
11.0551
11.9920
12.0477
12.0479
12.0368
12.5881
12.5354
13.1829
12.7431
12.6762
12.9947
12.8486
12.8892
12.9858
13.2110
13.2718
13.7024
13.0189
13.9925
13.7476
14.0039
14.1794
13.3190
13.5117
13.5267
12.9721
12.8560
12.9100
13.2160
12.2412
12.5926
12.3947
12.7596
12.7317
12.3590
12.3724
12.6146
11.9904
12.1634
12.3137
11.7800
11.7779
11.0509
10.6469
10.3666
9.9537
10.1165
9.4756
9.6439
9.2433
9.3079
9.2635
9.3129
9.4700
9.0210
8.8087
8.3257
8.0002
8.0392
7.9786
8.1206
8.3533
8.4946
8.4775
8.5920
8.5201
8.5312
8.9364
8.4345
8.8762
8.8705
8.7795
8.9736
8.5927
8.4116
8.5913
9.0705
8.6300
8.8096
8.9834
8.7747
8.9498
9.7479
10.0163
9.6683
9.7870
9.8794
10.3445
10.2322
10.5311
10.2943
10.3859
9.6956
9.5948
9.5831
9.2351
8.8655
9.1065
8.8338
8.7068
8.3943
8.2395
7.9697
7.4015
7.3304
6.8926
6.5768
7.0960
6.9503
7.7322
8.0245
8.1333
8.2798
8.6032
8.3794
8.3359
8.1413
8.1153
8.5248
8.4903
8.3500
8.6347
8.8721
8.6006
9.1193
9.2841
9.1109
8.9841
9.4384
9.8368
9.9946
9.8188
9.5230
9.6355
10.0682
10.1285
10.9016
10.9119
11.6178
11.6538
11.6443
11.7287
11.4225
10.9860
10.6865
11.0830
10.4920
10.5950
10.0258
9.5165
9.2913
8.7879
9.1370
8.7030
9.1986
9.8293
10.4437
10.4220
10.5583
10.1338
10.3477
9.6099
9.8454
9.6518
9.6576
9.6083
9.8903
9.5620
9.7073
10.2459
9.8208
10.1813
10.7860
11.2051
10.4997
10.1718
10.4792
10.0445
10.1969
9.8091
10.1113
9.0996
8.9366
8.4806
8.7080
8.4413
8.6442
9.2861
10.0928
10.5365
12.2502
12.3917
14.6814
13.7813
14.6484
12.6670
13.4769
10.9527
10.7440
9.8825
9.8507
9.0203
9.2295
10.0095
9.0649
9.3440
9.9396
9.4899
10.0669
10.5483
10.7475
10.2973
10.9479
10.0609
10.9283
11.6803
10.8986
11.5621
11.3216
11.0310
11.2943
10.7790
11.1152
10.8964
11.3743
10.4150
10.8328
11.6098
10.4282
11.0568
11.0963
10.6993
10.6091
10.4905
10.7892
10.9495
10.6091
10.1537
10.4253
10.2617
10.5955
10.2535
10.2804
10.2187
10.2592
10.4489
9.9576
10.2596
10.3297
11.0109
10.9485
10.5785
10.8503
11.3122
11.3979
10.9041
10.8663
10.8499
10.7462
11.9093
11.3235
11.9036
11.2670
10.4626
11.2251
10.4741
11.5700
11.1015
11.5630
11.5471
11.6773
11.2460
11.5230
11.9876
11.9342
12.4239
12.2645
13.3297
13.5462
12.8447
13.2558
14.7341
13.9966
13.5790
13.8883
13.1924
13.6952
13.3088
13.7035
13.4101
13.4046
13.7979
13.6026
13.1556
13.5696
13.3890
14.1740
13.9555
13.0981
12.9492
12.0522
11.9314
11.1963
10.8818
9.7844
9.7998
9.7488
9.9537
10.4116
10.4719
10.6263
10.6539
11.2000
11.4463
11.0588
11.4954
11.0325
11.3430
11.1108
11.2107
11.1472
11.2022
10.6727
11.0312
10.6329
10.9528
11.1013
11.0843
11.5453
11.5456
11.9380
12.1611
11.5921
11.7557
11.5419
11.0792
10.4957
10.4138
9.9285
9.8433
9.7195
9.3346
9.2688
9.2008
8.9019
9.0984
8.7751
9.4036
9.1745
9.7571
9.6200
9.3028
10.0438
10.2193
9.7753
10.0111
9.8614
11.0082
11.1374
13.2593
14.7071
15.9187
15.6053
15.4141
15.2556
15.5009
14.2855
14.0296
14.1887
13.9313
14.0420
14.4265
14.6840
14.3376
14.5785
13.3748
13.8405
13.1773
13.3679
13.0239
12.7860
12.6315
12.4391
12.0860
12.1366
12.0763
11.7334
12.5123
12.0178
12.0559
12.0162
12.2678
12.3176
12.2661
12.0164
11.6857
11.2850
11.2888
11.1805
10.8350
11.6088
11.4470
12.3649
11.4390
11.7176
11.7745
11.3721
11.5087
11.8762
11.8205
11.8907
11.5870
11.6881
11.9879
11.2793
11.7343
10.7543
11.5392
11.6172
10.5984
9.9949
10.1294
10.3332
9.4391
8.9503
8.6437
8.8069
8.6597
8.2914
8.5406
8.5918
8.4058
8.3942
8.5633
8.8703
8.9316
8.8931
9.1541
9.3553
10.0927
10.4958
10.9929
11.6249
11.6396
12.1595
11.4452
11.5892
10.9857
12.2263
12.0528
12.1067
11.5787
11.2316
11.6940
11.3726
11.2190
12.1616
11.6060
11.0849
11.1024
10.7352
11.0272
11.4502
11.4176
11.4619
11.3208
11.2978
11.1845
11.1688
10.9388
10.5697
10.5755
10.4225
10.2139
10.1083
10.3757
10.0294
10.4177
10.3698
9.7224
9.6763
9.2440
8.3011
8.8114
7.7243
7.4816
7.9739
7.8163
7.9005
7.9923
8.2196
8.4612
8.4067
8.5936
8.5487
8.6929
8.6683
8.7963
9.2602
9.2469
9.5187
9.6558
9.4157
9.7840
10.2024
9.8463
9.4667
9.9722
9.5229
10.0050
9.5498
8.8478
8.9882
9.2656
8.9110
9.1694
9.0145
8.8895
8.8205
8.7432
8.4610
8.6662
8.8386
8.6461
8.8719
8.4279
8.9780
8.2285
8.2252
7.9344
8.3447
8.5432
8.9808
9.1441
9.2321
9.6244
9.4760
9.6424
9.9524
10.4317
11.0913
11.1348
11.5575
11.7498
10.5879
11.3772
11.1150
11.1016
10.4365
10.0988
11.4995
10.7893
10.9920
11.1792
10.1690
9.9825
10.4816
10.2022
10.4722
10.1671
10.1153
9.8646
9.6358
9.3977
9.7045
9.7692
9.8618
9.1286
8.8781
8.2247
8.4410
8.4495
8.1291
8.0667
8.4065
8.5784
8.8692
9.2666
9.4071
9.3802
9.9998
9.7859
9.6355
9.4695
10.0118
9.5036
9.7920
9.6914
9.6073
9.3906
9.6507
9.1708
9.2998
9.3748
9.4978
9.4485
9.1727
9.1942
9.3357
9.7319
8.9871
9.9622
9.3888
9.8452
9.6260
9.1900
9.0100
9.4933
8.9395
9.3121
9.0677
8.7684
8.4802
8.3933
8.6319
8.4245
8.0898
8.5843
8.7058
8.6851
9.1779
9.3463
9.6994
9.5063
9.1794
9.1257
9.3531
9.4482
9.5668
8.8733
9.1741
9.4495
9.1522
9.2217
9.8963
9.4235
8.7623
8.6926
8.4383
8.5360
8.4692
8.3566
8.6964
8.3908
8.3627
8.5758
8.2837
8.6967
8.8499
8.7552
9.5270
9.3977
9.7389
10.1794
10.6852
10.5808
10.8269
11.5635
11.2191
11.1879
11.1134
11.0241
11.4430
11.2864
11.6048
11.3284
11.3650
11.4166
10.8819
11.5452
11.3061
10.7584
10.8899
11.1730
10.8418
10.6172
10.0516
10.4615
9.9019
10.3038
10.1432
10.3983
9.9676
10.2270
10.1005
10.6975
10.3857
% Compute the significant wave height from the NDBC spectra data
Hm0 = significant_wave_height(ndbc_data);
disp(Hm0)
0.9396
1.0014
0.9248
0.9625
0.9899
0.9077
0.8270
0.8229
0.7579
0.7362
0.6946
0.7164
0.7673
0.7702
0.8136
0.9248
0.9474
1.1393
1.3787
1.4231
1.5012
1.4957
1.6174
1.7519
2.0416
1.4796
1.6752
1.9991
1.5020
1.7231
1.6358
1.6565
1.6547
1.9734
1.8632
1.7776
2.2054
1.5430
1.9860
1.7727
1.8487
1.7260
2.0250
1.6200
1.5547
1.5036
1.5085
1.7589
1.6725
1.7937
1.9764
2.1123
2.0405
2.3157
2.0473
2.0640
1.9839
2.1994
2.4058
2.0717
2.1667
2.2680
2.2764
2.6078
2.4926
2.5988
2.9700
3.0042
2.6976
2.8703
2.4405
2.8508
3.1804
2.8305
3.1774
3.1907
3.2499
3.3094
2.6992
2.6945
2.7209
2.6319
2.5705
2.5706
3.1439
2.5672
2.7081
2.5694
2.5015
2.8454
2.5059
2.4551
2.4244
1.9381
2.0092
2.2060
1.9512
2.2166
2.3636
2.4617
2.5398
2.6243
2.8986
2.6605
2.5757
2.4522
2.2983
2.3380
2.4752
2.2600
2.4119
2.2190
2.2782
2.5502
2.9903
3.4619
3.8930
4.5413
4.7336
4.4827
4.3888
4.0312
3.2138
3.3339
3.2380
3.4653
3.5675
3.2808
3.0203
2.6880
2.7549
2.6141
2.7350
2.4608
2.6083
2.6847
2.6810
2.5798
2.6751
2.9914
2.7162
2.5226
2.5935
2.5383
2.3057
2.1988
2.2022
2.2768
1.9102
2.0003
2.0281
1.8659
2.1962
2.0889
2.0859
2.0293
1.8003
1.6520
1.5328
1.5074
1.5122
1.6275
1.6264
1.9649
2.0779
2.4913
2.7991
3.0571
2.8436
3.0979
3.1247
3.3397
2.9081
2.7212
2.7185
2.9199
2.7788
2.5731
2.7088
2.5546
2.5596
2.3500
2.6993
2.5380
2.7199
2.3787
2.5627
2.5704
2.5463
2.6473
2.5372
2.4765
2.5598
2.6173
2.7928
2.5803
2.6676
2.5439
2.6951
2.8680
2.6665
2.7737
2.7730
2.9129
2.7776
2.5616
2.9048
2.9659
2.8661
2.7903
2.7649
2.5693
2.9884
2.9566
2.7658
2.9898
3.0054
3.1109
3.2135
2.9767
3.1190
2.8828
2.9903
2.6923
2.4122
2.6745
2.4482
2.4559
2.5339
2.7322
2.4901
2.2294
2.3860
2.2318
2.3151
2.2981
2.3302
2.4514
2.2339
2.2911
2.3303
2.2812
2.1878
2.0047
1.9689
2.0710
1.9756
2.1016
2.7210
2.7903
3.3433
3.3201
3.5489
3.4822
4.0694
3.8468
4.1207
4.1879
4.4820
4.4670
3.8855
4.1794
4.3312
4.8175
4.8371
4.7019
5.0924
4.8648
5.0169
4.9169
4.9267
5.4801
5.0492
5.0093
5.0663
4.6756
4.4910
3.8949
4.2245
4.0641
3.9084
3.6448
3.5329
3.6007
3.5437
3.1564
3.5733
3.2202
3.2082
3.1083
2.9923
3.0558
2.7733
2.6398
2.5025
2.4562
2.5147
2.3144
2.4585
2.2641
2.1463
2.2532
2.0081
2.0728
1.8378
2.0693
1.9375
1.8812
2.1027
2.2455
2.0965
2.2350
2.0580
2.2509
2.2238
2.3723
2.3513
2.4213
2.1279
1.8994
2.4605
2.0867
2.4126
2.0783
2.5421
2.6329
2.3426
2.3430
2.4465
2.4162
2.4462
2.4047
2.3089
2.5379
2.5339
2.5897
2.6852
2.8831
2.7263
2.8110
3.0042
3.1829
3.1658
3.6583
3.5881
3.7006
3.7525
3.8500
4.0369
3.7557
3.8103
3.5052
4.1801
3.6509
3.8666
3.4717
2.9257
3.0819
3.0608
3.3843
3.4182
3.9974
4.5028
4.1192
3.9758
3.8940
4.0771
4.0294
3.5758
3.9731
3.6424
3.6749
3.6549
3.5956
3.6391
3.5700
3.5208
3.4967
3.3356
3.3438
3.4564
3.3718
3.5518
3.0569
3.1419
3.2347
3.2058
3.3152
3.1050
3.2335
3.0696
3.0873
2.7897
3.2548
3.2245
3.2142
3.2059
3.4102
3.4267
3.6192
3.8281
3.9842
4.3129
4.9459
4.9671
5.8257
5.9464
5.7593
5.4849
6.2759
5.4924
5.2934
5.1958
5.4249
5.5946
7.4323
7.8536
9.8264
10.3109
9.3151
10.3829
8.6308
7.4778
7.3413
8.1502
7.7282
7.9501
7.6824
8.0233
7.4499
8.4346
6.9643
7.4362
6.4677
6.9778
6.8344
6.3455
5.8620
5.9538
5.7432
5.1847
5.3761
4.9766
5.1546
5.1667
5.3276
4.8471
5.2032
5.4275
5.4077
5.6415
5.0051
5.2332
4.5784
4.5706
4.5512
4.6229
4.6695
5.0483
4.3658
4.7439
5.2097
4.5592
5.0945
5.2801
5.9514
5.4574
5.1005
5.4169
4.9158
4.6811
4.9142
3.9432
4.4634
4.5279
3.7743
3.7201
3.8237
4.1733
3.8092
3.8878
3.9458
4.2111
4.0498
4.0890
4.4814
4.8329
4.2840
4.9765
4.7806
5.2517
5.3383
5.6953
5.4535
6.3394
7.4932
6.5225
6.6410
7.2449
6.0693
5.5664
5.5016
4.9012
4.6578
4.3335
4.4643
4.5652
4.7091
4.3044
4.8600
4.6896
4.8160
6.0625
5.2117
4.8620
4.5241
4.1310
4.1746
4.2343
3.9332
3.7558
3.6128
3.7086
3.7051
3.7889
3.6080
3.4807
3.3302
3.5199
3.4875
3.2303
3.4589
3.1039
3.3870
2.9739
2.7950
2.6539
2.3795
2.4028
2.8228
3.2036
3.1666
4.0506
4.1597
4.4871
4.2666
4.5867
5.2511
4.6659
4.5198
4.4966
4.5334
4.7037
5.2210
5.5747
5.5078
5.6325
4.8293
4.6752
4.9780
4.6586
4.2885
3.9486
4.1384
3.9262
4.2906
3.5779
3.4442
3.3079
2.9387
2.7270
2.7255
2.7298
2.7174
2.7347
2.6089
2.6733
3.1234
3.0954
2.9762
3.0950
3.0625
3.3269
3.3345
3.9180
3.7314
4.3813
4.0431
3.6955
3.3673
3.5743
3.7713
3.4927
3.5979
3.9070
4.2234
4.1276
4.6184
4.7397
4.7786
3.7264
3.9168
3.8015
3.9833
3.5011
3.4225
4.0378
3.8343
4.1690
4.1229
4.0223
4.0781
4.5158
4.4536
4.6191
4.3443
4.2877
3.8891
3.7536
3.6292
3.6666
3.7042
3.6009
3.5044
3.6625
3.9087
4.2019
4.3259
4.5012
4.4095
4.8364
5.2872
6.1236
5.5994
6.3178
5.3173
5.6268
4.6348
4.4863
4.3809
4.2442
3.9520
3.9148
3.5221
3.9327
3.5825
3.7505
3.6447
3.6027
3.6771
3.6037
3.7379
3.2804
3.2719
3.1892
3.3616
2.8222
3.2830
2.9674
2.9647
2.9141
2.7631
2.8090
2.8896
2.5728
2.8905
2.6531
2.5863
2.4605
2.2238
2.0139
2.1603
1.7669
1.9067
1.9464
2.0225
2.1516
2.2774
2.7695
2.6047
2.7559
3.0416
3.2553
3.3872
3.7324
3.1126
3.2973
3.1669
3.2076
2.9615
3.1345
3.0733
3.0455
3.5248
3.2874
3.2962
3.1138
3.0428
3.1989
2.9414
3.0286
2.9868
2.6979
2.7507
2.7380
2.7040
2.6525
2.7584
2.9698
2.9744
3.0556
3.2608
3.6160
3.8084
3.8799
3.8005
3.9360
3.7440
4.3232
4.2754
3.6573
3.8704
3.8077
3.7765
3.3792
3.7723
3.5237
3.4218
3.5606
3.4539
3.5653
3.3758
2.8173
3.5818
2.9713
3.1743
3.0333
3.3074
2.6508
3.0867
2.6504
2.9414
2.8959
% Set water depth to 60 m
% Compute the energy flux from the NDBC spectra data and water depth
J = energy_flux(ndbc_data,h);
disp(J)
1.0e+05 *
0.0335
0.0392
0.0328
0.0366
0.0387
0.0318
0.0255
0.0252
0.0192
0.0191
0.0183
0.0220
0.0284
0.0354
0.0402
0.0564
0.0599
0.0957
0.1471
0.1588
0.1790
0.1733
0.2000
0.2511
0.3445
0.1713
0.2199
0.3084
0.1613
0.2191
0.1822
0.1840
0.1752
0.2603
0.2225
0.1955
0.3243
0.1456
0.2506
0.1972
0.2115
0.1839
0.2647
0.1603
0.1501
0.1399
0.1467
0.2020
0.1779
0.2096
0.2539
0.2690
0.2457
0.3275
0.2330
0.2622
0.2400
0.3258
0.3916
0.2903
0.3161
0.3662
0.3675
0.5114
0.4494
0.4858
0.6530
0.6572
0.5328
0.6077
0.4481
0.6162
0.7964
0.5937
0.8101
0.8034
0.8505
0.8926
0.5560
0.5629
0.5749
0.5132
0.4845
0.4862
0.7499
0.4569
0.5243
0.4628
0.4563
0.5884
0.4397
0.4227
0.4232
0.2540
0.2778
0.3397
0.2529
0.3252
0.3438
0.3560
0.3670
0.3716
0.4613
0.3595
0.3449
0.2969
0.2641
0.2713
0.3047
0.2602
0.2771
0.2299
0.2277
0.2704
0.3744
0.4904
0.6292
0.8787
0.9725
0.8726
0.8486
0.7131
0.4557
0.5197
0.4614
0.5587
0.5905
0.4915
0.4291
0.3227
0.3301
0.3052
0.3548
0.2728
0.3141
0.3399
0.3293
0.3148
0.3766
0.4871
0.3833
0.3357
0.3590
0.3634
0.2957
0.2778
0.2710
0.2907
0.1881
0.2025
0.2076
0.1683
0.2204
0.2078
0.1995
0.1864
0.1413
0.1165
0.0974
0.0872
0.0874
0.0938
0.0889
0.1404
0.1530
0.2461
0.3220
0.3891
0.3439
0.4252
0.4204
0.4748
0.3512
0.3079
0.3266
0.3742
0.3317
0.2979
0.3393
0.2916
0.3139
0.2719
0.3487
0.3027
0.3685
0.2997
0.3534
0.3486
0.3298
0.3601
0.3489
0.3357
0.3935
0.4107
0.5044
0.4334
0.4609
0.4222
0.4594
0.4957
0.4143
0.4693
0.4392
0.4909
0.4168
0.3359
0.4198
0.4105
0.4016
0.3589
0.3774
0.3524
0.5106
0.4992
0.4450
0.4919
0.5094
0.4962
0.5458
0.4592
0.5031
0.4284
0.4777
0.3720
0.3051
0.3987
0.3175
0.3343
0.3817
0.4648
0.3563
0.2750
0.3278
0.2732
0.2990
0.2820
0.3014
0.2942
0.2405
0.2370
0.2527
0.2325
0.2180
0.1980
0.2094
0.2437
0.2622
0.2989
0.6041
0.5926
0.9157
0.7717
0.9457
0.7256
0.9728
0.7818
0.8848
0.8273
0.9743
1.0636
0.7206
0.8557
0.9948
1.1545
1.2577
1.2599
1.5104
1.3093
1.5059
1.3076
1.4568
1.9576
1.5282
1.6126
1.6139
1.3291
1.2654
0.8970
1.0964
0.9861
0.9653
0.7505
0.7420
0.8391
0.7122
0.6080
0.7819
0.6093
0.6007
0.5529
0.5328
0.5651
0.4475
0.3844
0.3545
0.3344
0.3647
0.2967
0.3360
0.2836
0.2571
0.2899
0.2166
0.2395
0.1902
0.2606
0.2262
0.2035
0.2621
0.3141
0.2761
0.2970
0.2517
0.2987
0.2885
0.3750
0.3460
0.3914
0.2827
0.2067
0.3768
0.2490
0.3757
0.2641
0.4145
0.4424
0.3495
0.3347
0.3771
0.3875
0.3951
0.3918
0.3595
0.4740
0.4819
0.4799
0.5318
0.6824
0.5801
0.5998
0.6983
0.7496
0.7687
1.0052
0.9950
1.0385
1.0632
1.1529
1.2590
1.0499
1.1156
0.9348
1.4158
1.0591
1.1154
0.8864
0.5774
0.6326
0.5800
0.6867
0.6178
0.8376
1.0542
0.9036
0.8958
0.8653
0.9651
0.9445
0.7898
1.0029
0.8080
0.8616
0.8118
0.8116
0.8125
0.7918
0.7609
0.7568
0.6494
0.6815
0.6934
0.6855
0.7737
0.5716
0.6355
0.6726
0.6878
0.7503
0.6213
0.6848
0.6041
0.5819
0.4474
0.6030
0.5587
0.5508
0.5412
0.5796
0.5808
0.6394
0.6857
0.7668
0.8517
1.2214
1.1930
1.7608
1.8021
1.6161
1.6255
2.1652
1.5712
1.5072
1.4286
1.7837
1.9120
4.1258
5.1349
8.6922
9.4338
7.5885
9.3482
6.5341
4.4961
4.2641
5.3369
4.7119
5.0488
4.8442
5.3892
4.5418
5.9425
3.6872
4.3529
3.1259
3.7120
3.4590
2.9165
2.4449
2.4861
2.2376
1.8352
1.9625
1.6305
1.8884
1.8054
1.9259
1.5893
1.8764
2.0516
2.0170
2.1485
1.6377
1.7096
1.3138
1.2967
1.2348
1.3876
1.3912
1.7798
1.2148
1.4772
1.7908
1.3130
1.6661
1.8585
2.3412
1.9914
1.6782
1.9151
1.6258
1.3688
1.5849
0.9169
1.2844
1.3325
0.8277
0.7515
0.8088
0.9877
0.7347
0.7174
0.7065
0.8229
0.7442
0.7168
0.8897
1.0380
0.7942
1.0650
1.0114
1.2683
1.3205
1.4888
1.4233
1.9604
3.0153
2.4025
2.6400
3.3745
2.3764
2.1077
1.9112
1.5404
1.3079
1.2843
1.3430
1.4136
1.4243
1.1491
1.5376
1.3875
1.4327
2.5142
1.7524
1.4407
1.2561
1.0015
1.0564
1.1389
0.9817
0.8998
0.8183
0.8601
0.8467
0.8833
0.7815
0.6960
0.6401
0.7031
0.6724
0.5694
0.6756
0.5226
0.6491
0.4994
0.4071
0.3675
0.2809
0.2529
0.3742
0.4117
0.3794
0.6664
0.6806
0.7999
0.7360
0.8727
1.1858
0.9335
0.9033
0.8894
0.9200
0.9879
1.2369
1.5025
1.4671
1.5921
1.1893
1.0791
1.2774
1.1820
0.9614
0.7810
0.9069
0.7694
0.9799
0.6449
0.5427
0.5143
0.4227
0.3485
0.3588
0.3552
0.3459
0.3474
0.3133
0.3156
0.4399
0.4451
0.4003
0.4454
0.4113
0.5236
0.4735
0.6547
0.5686
0.8246
0.7205
0.6432
0.5445
0.6202
0.7259
0.6139
0.6670
0.8120
1.0132
1.0446
1.3115
1.4478
1.5026
0.8072
0.9735
0.8926
0.9751
0.6993
0.6425
1.0480
0.8726
1.0568
1.0555
0.8913
0.8957
1.1661
1.0999
1.2169
1.0405
1.0096
0.8044
0.7291
0.6629
0.7048
0.7267
0.6927
0.6008
0.6352
0.6502
0.7779
0.8163
0.8407
0.7967
1.0066
1.2283
1.7087
1.5237
1.9766
1.3972
1.6939
1.1268
1.0309
0.9612
0.9673
0.7827
0.7992
0.6395
0.7858
0.6335
0.7156
0.6357
0.6320
0.6654
0.6512
0.6960
0.5214
0.5189
0.5009
0.5875
0.3783
0.5798
0.4407
0.4649
0.4373
0.3724
0.3739
0.4224
0.3103
0.4109
0.3348
0.3050
0.2661
0.2151
0.1834
0.2044
0.1306
0.1626
0.1712
0.1844
0.2228
0.2546
0.3924
0.3408
0.3641
0.4398
0.5216
0.5720
0.7047
0.4485
0.5253
0.5074
0.5004
0.4332
0.5284
0.4773
0.4303
0.5675
0.4765
0.4818
0.4263
0.3999
0.4634
0.3752
0.3963
0.3986
0.3136
0.3433
0.3483
0.3360
0.3574
0.3804
0.4615
0.4882
0.5471
0.6150
0.7758
0.9361
0.9365
0.8929
0.9501
0.8499
1.1873
1.1439
0.8685
0.9412
0.9151
0.9046
0.6835
0.9160
0.7794
0.6902
0.7552
0.7376
0.7574
0.6568
0.4290
0.7284
0.4700
0.5636
0.5038
0.6149
0.3760
0.5253
0.3815
0.5050
0.4707
Generate Random Power Data
For demonstration purposes, this example uses synthetic power data generated from statistical distributions. In a real application, the user would provide power values from a WEC.
% generating 1,000,000 random power values
Power = randi([40,200], 743,1);
disp(Power)
53
121
156
162
189
148
149
176
57
133
135
135
121
192
47
100
72
51
103
50
74
163
129
112
184
162
182
179
58
155
92
199
115
94
72
129
58
89
154
146
164
160
174
158
100
77
133
80
130
85
52
91
74
99
166
72
91
72
66
61
181
162
41
96
133
93
70
195
176
155
118
68
110
159
83
153
150
88
147
115
109
107
145
178
48
199
44
86
59
99
188
67
198
196
49
41
40
182
102
122
151
146
186
43
74
67
79
88
190
73
141
79
49
73
171
143
62
44
87
165
60
64
58
193
105
102
162
109
175
88
189
194
136
63
149
47
40
135
47
112
118
140
67
66
197
178
102
170
150
92
168
193
45
141
71
95
71
80
87
113
139
166
95
117
85
48
95
194
182
83
145
192
99
162
61
199
187
192
85
184
196
139
198
185
157
86
179
156
76
88
186
131
184
156
91
57
186
90
51
93
46
89
194
69
94
46
73
173
90
173
161
53
154
68
45
112
177
129
117
85
171
55
156
134
107
100
111
152
183
160
185
83
89
65
125
164
153
60
157
151
136
186
169
139
147
77
167
60
81
82
78
129
193
98
129
187
146
99
176
130
94
199
44
113
103
107
134
198
103
85
149
83
59
81
120
109
197
165
89
191
44
134
182
117
92
73
109
93
144
107
97
123
61
199
195
98
118
67
131
171
63
101
145
184
147
72
121
195
60
199
182
122
142
93
130
169
57
92
96
105
182
134
43
90
185
176
52
81
61
82
46
54
123
44
129
69
88
157
41
139
128
139
101
163
153
187
151
151
198
120
170
98
101
193
105
121
121
130
111
126
157
187
96
46
127
124
185
93
178
155
188
149
135
102
120
78
195
196
121
176
175
197
93
152
81
99
132
127
186
191
79
134
197
124
167
139
58
158
74
60
172
117
90
182
158
76
178
140
138
165
172
79
69
194
163
183
92
113
112
72
111
90
48
181
149
113
64
69
150
107
108
189
54
82
135
63
98
81
78
169
127
72
69
74
98
186
126
147
106
85
161
130
60
70
88
87
65
42
145
130
81
119
42
173
184
86
139
60
196
157
163
144
97
62
92
171
69
100
148
130
116
133
190
97
165
75
120
77
168
102
103
158
119
58
72
116
49
129
127
102
196
129
174
157
115
113
179
98
159
131
75
111
42
131
92
170
97
42
102
103
79
65
83
196
107
138
128
47
167
150
48
152
111
113
171
188
181
192
150
149
80
75
188
82
76
165
155
116
52
106
160
123
40
110
166
148
87
114
80
142
125
65
110
125
142
181
139
179
82
40
97
178
62
99
70
52
107
136
167
85
80
58
196
172
172
131
108
140
42
108
187
53
173
53
134
56
118
96
63
61
73
50
167
44
199
79
41
188
167
123
50
78
162
125
127
99
115
144
138
87
189
120
55
62
128
135
80
59
160
147
166
102
52
151
126
94
175
45
181
156
75
52
162
197
61
75
140
175
118
96
122
185
79
85
173
55
188
41
199
75
67
146
106
163
103
74
100
193
141
40
191
58
103
131
183
134
114
68
145
93
176
130
40
161
183
54
125
88
111
103
49
41
88
188
111
58
154
59
94
58
72
176
56
68
164
127
194
59
55
122
101
173
66
86
153
159
66
168
48
190
180
75
150
169
154
165
110
49
116
109
166
56
129
50
121
165
159
131
48
134
114
182
65
Capture Length Matrices
The following operations create capture length matrices, as specified by the IEC/TS 62600-100. But first, we need to calculate capture length and define bin centers. The mean capture length matrix is printed below. Keep in mind that this data has been artificially generated, so it may not be representative of what a real-world scatter diagram would look like.
% calculating capture length with power and wave flux in vectors
L = capture_length(Power,J)
0.0158
0.0309
0.0476
0.0442
0.0489
0.0465
0.0583
0.0698
0.0297
0.0698
% Need to set our Hm0 and Te bins for the capture length matrix
Hm0_bins = -0.5:0.5:max(fix(Hm0))+0.5; % Input is min, max, and n indecies for vector
Hm0_bins = Hm0_bins+0.25 ;
Te_bins = 0:1:max(fix(Te));
% Calculate the necessary capture length matrices for each statistic based
clmat.mean = capture_length_matrix(Hm0,Te,L,"mean",Hm0_bins,Te_bins);
clmat.std = capture_length_matrix(Hm0,Te,L,"std",Hm0_bins,Te_bins);
clmat.count = capture_length_matrix(Hm0,Te,L,"count",Hm0_bins,Te_bins);
clmat.min = capture_length_matrix(Hm0,Te,L,"min",Hm0_bins,Te_bins);
clmat.max = capture_length_matrix(Hm0,Te,L,"max",Hm0_bins,Te_bins);
% Calculate the frequency matrix for convenience
clmat.freq = capture_length_matrix(Hm0,Te,L,"frequency",Hm0_bins,Te_bins);
Let's see what the data in the mean matrix looks like. Keep in mind that this data has been artificially generated, so it may not be representative of what a real-world scatter diagram would look like.
disp(clmat.mean.values)
Columns 1 through 11
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN 0.0497 0.0518 0.0426 NaN 0.0330
NaN NaN NaN NaN NaN NaN NaN 0.0309 NaN NaN NaN
NaN NaN NaN NaN NaN NaN 0.0142 0.0115 0.0077 0.0097 0.0074
NaN NaN NaN NaN NaN NaN 0.0056 0.0020 0.0051 0.0047 0.0043
NaN NaN NaN NaN NaN NaN NaN NaN 0.0038 0.0030 0.0030
NaN NaN NaN NaN NaN NaN NaN 0.0023 0.0026 0.0020 0.0020
NaN NaN NaN NaN NaN NaN NaN 0.0023 0.0020 0.0017 0.0017
NaN NaN NaN NaN NaN NaN NaN 0.0018 0.0014 0.0013 0.0012
NaN NaN NaN NaN NaN NaN NaN NaN 0.0012 0.0010 0.0010
NaN NaN NaN NaN NaN NaN NaN NaN 0.0009 0.0007 0.0007
NaN NaN NaN NaN NaN NaN NaN NaN 0.0008 0.0009 NaN
NaN NaN NaN NaN NaN NaN NaN NaN 0.0003 0.0005 0.0008
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0003
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.0004
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
Columns 12 through 16
NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN
0.0149 NaN NaN NaN NaN
NaN 0.0053 0.0073 NaN NaN
0.0059 0.0055 0.0062 0.0045 NaN
0.0032 0.0026 0.0026 0.0053 NaN
0.0027 0.0024 0.0018 0.0018 NaN
0.0020 0.0019 0.0014 0.0012 NaN
0.0014 NaN 0.0015 NaN NaN
0.0009 0.0009 0.0016 0.0007 NaN
0.0007 0.0010 NaN NaN NaN
0.0007 0.0006 NaN NaN NaN
0.0006 0.0006 NaN NaN NaN
0.0004 0.0003 0.0003 NaN NaN
NaN NaN 0.0004 NaN NaN
0.0004 NaN 0.0003 0.0003 NaN
NaN NaN 0.0002 0.0001 NaN
NaN NaN NaN 0.0002 NaN
NaN NaN NaN NaN 0.0001
NaN NaN NaN NaN 0.0001
NaN NaN NaN NaN 0.0001
NaN NaN NaN NaN 0.0001
NaN NaN NaN NaN NaN
Power Matrices
As specified in IEC/TS 62600-100, the power matrix is generated from the capture length matrix and wave energy flux matrix, as shown below
% Create wave energy flux matrix using mean
jmat = wave_energy_flux_matrix(Hm0,Te,J,"mean",Hm0_bins,Te_bins);
% Create power matrix using mean
avg_power_mat = power_matrix(clmat.mean, jmat);
% Create power matrix using standard deviation
std_power_mat = power_matrix(clmat.std, jmat);
The capture_length_matrix function can also be used as an arbitrary scatter plot generator. To do this, simply pass a different array in the place of capture length (L). For example, while not specified by the IEC standards, if the user doesn't have the omnidirectional wave flux, the average power matrix could hypothetically be generated in the following manner:
avgpowmat_not_standard = capture_length_matrix(Hm0,Te,Power,'mean',Hm0_bins,Te_bins);
MAEP
There are two ways to calculate mean annual energy production (MEAP). One is from capture length and wave energy flux matrices, the other is from time series data, as shown below.
% Calcaulte maep from timeseries
maep_timeseries = mean_annual_energy_production_timeseries(L,J)
maep_timeseries = 1.0428e+06
% Calcaulte maep from matrix
maep_matrix = mean_annual_energy_production_matrix(clmat.mean, jmat , clmat.freq)
Graphics
The graphics function plot_matrix can be used to visualize results. It is important to note that the plotting function assumes the step size between bins to be linear.
% Plot the capture length matrix
p1 = plot_matrix(clmat.mean,"Capture Length");