MATLAB Examples

Contents

```%-------------------------------------------------------------------------- % EXAMPLES_reduce_interp_1d_linear.m % This runs through a number of examples demostrating the usage of the % function reduce_interp_1d_linear. Please see the documentation for % reduce_interp_1d_linear for more details on the inputs. This script has % also been published %-------------------------------------------------------------------------- % Author: Daniel R. Herber, Graduate Student, University of Illinois at % Urbana-Champaign % Date: 08/17/2015 %-------------------------------------------------------------------------- ```

Example 1.1 - from MC submission 35194

```X = 0:0.1:10; Y = 1./(X/100 + 0.01) + X.^2 - 0.1 * X.^3; tol = 0.1; opts.interior_optflag = 1; % this is the default opts.post_optflag = 1; % this is the default opts.display_flag = 1; % this is the default [xi, yi] = reduce_interp_1d_linear(X,Y,tol,opts); % only uncomment if you have MC submission 35194 in your path % [xi35194, yi35194, mse35194] = find_best_table_1de(X, Y, [], tol, 'linear'); ```
```Original Data Length: 101 Finding reduced number of points maintaning error tolerance... ...Finished! Reduced Length: 34 with maximum absolute error of 0.099944 Percentage of original size: 33.6634% Mean Squared Error: 0.0011804 Solving approximate QP to minimize MSE... ...Finished! Percentage of Original Mean Squared Error : 61.8294% with maximum absolute error of 0.08205 ```

Example 1.2 - from MC submission 35194 with lower tolerance and more points

```X = 0:0.0001:10; Y = 1./(X/100 + 0.01) + X.^2 - 0.1 * X.^3; [xi, yi] = reduce_interp_1d_linear(X,Y,0.01); % default options ```
```Original Data Length: 100001 Finding reduced number of points maintaning error tolerance... ...Finished! Reduced Length: 103 with maximum absolute error of 0.0099379 Percentage of original size: 0.103% Mean Squared Error: 1.2441e-05 Solving approximate QP to minimize MSE... ...Finished! Percentage of Original Mean Squared Error : 45.7958% with maximum absolute error of 0.01 ```

Example 2.1 - gaussian pdf with randomly spaced points

```X = cumsum(rand(1000,1)); X = 200*X/max(X); f1 = @(x,m,s) exp(-(x-m).^2/(2*s^2))/(s*sqrt(2*pi)); Y = f1(X,100,5) + f1(X,120,3) - f1(X,30,2); tol = 0.02*(max(Y)-min(Y)); % 2% maximum error [xi, yi] = reduce_interp_1d_linear(X,Y,tol); % default options ```
```Original Data Length: 1000 Finding reduced number of points maintaning error tolerance... ...Finished! Reduced Length: 43 with maximum absolute error of 0.0065218 Percentage of original size: 4.3% Mean Squared Error: 1.515e-06 Solving approximate QP to minimize MSE... ...Finished! Percentage of Original Mean Squared Error : 41.7249% with maximum absolute error of 0.0055816 ```

Example 2.2 - gaussian pdf with randomly spaced points and random noise

```X = cumsum(rand(1000,1)); X = 200*X/max(X); f1 = @(x,m,s) exp(-(x-m).^2/(2*s^2))/(s*sqrt(2*pi)); Y = f1(X,100,5) + f1(X,120,3) - f1(X,30,2) + rand(size(X))/200; tol = 0.02*(max(Y)-min(Y)); % 2% maximum error [xi, yi] = reduce_interp_1d_linear(X,Y,tol); % default options ```
```Original Data Length: 1000 Finding reduced number of points maintaning error tolerance... ...Finished! Reduced Length: 45 with maximum absolute error of 0.00628 Percentage of original size: 4.5% Mean Squared Error: 3.1877e-06 Solving approximate QP to minimize MSE... ...Finished! Percentage of Original Mean Squared Error : 70.6773% with maximum absolute error of 0.0049842 ```

Example 3.1 - digital sine wave with noise

```X = linspace(0,8,1000)'; F = round(15*sin(X)); Y = F + round(0.55*rand(size(X))) - round(0.55*rand(size(X))) ; tol = 2; [xi, yi] = reduce_interp_1d_linear(X,Y,tol); % default options ```
```Original Data Length: 1000 Finding reduced number of points maintaning error tolerance... ...Finished! Reduced Length: 17 with maximum absolute error of 1.9281 Percentage of original size: 1.7% Mean Squared Error: 0.26834 Solving approximate QP to minimize MSE... ...Finished! Percentage of Original Mean Squared Error : 83.8737% with maximum absolute error of 1.6947 ```

Example 3.2 - sine wave with normal random noise

```X = linspace(0,8,1e6)'; F = 15*sin(X); Y = F + randn(size(F))/2; tol = 2.5; opts.post_optflag = 0; % QP takes is large with 1e6 points [xi, yi] = reduce_interp_1d_linear(X,Y,tol,opts); % only uncomment if you have MC submission 35194 in your path % warning this will take a long time!! % [xi35194, yi35194, mse35194] = find_best_table_1de(X, Y, [], tol, 'linear'); ```
```Original Data Length: 1000000 Finding reduced number of points maintaning error tolerance... ...Finished! Reduced Length: 45 with maximum absolute error of 2.4845 Percentage of original size: 0.0045% Mean Squared Error: 0.28269 ```