neural network trained with sine, sq, tri waveforms
neural_network3.cpp@0:7ee700dd1955, 2016-11-08 (annotated)
- Committer:
- cpm219
- Date:
- Tue Nov 08 00:54:37 2016 +0000
- Revision:
- 0:7ee700dd1955
latest version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
cpm219 | 0:7ee700dd1955 | 1 | // |
cpm219 | 0:7ee700dd1955 | 2 | // File: neural_network3.cpp |
cpm219 | 0:7ee700dd1955 | 3 | // |
cpm219 | 0:7ee700dd1955 | 4 | // Code generated for Simulink model 'neural_network3'. |
cpm219 | 0:7ee700dd1955 | 5 | // |
cpm219 | 0:7ee700dd1955 | 6 | // Model version : 1.11 |
cpm219 | 0:7ee700dd1955 | 7 | // Simulink Coder version : 8.10 (R2016a) 10-Feb-2016 |
cpm219 | 0:7ee700dd1955 | 8 | // C/C++ source code generated on : Wed Oct 05 11:40:49 2016 |
cpm219 | 0:7ee700dd1955 | 9 | // |
cpm219 | 0:7ee700dd1955 | 10 | // Target selection: ert.tlc |
cpm219 | 0:7ee700dd1955 | 11 | // Embedded hardware selection: ARM Compatible->ARM Cortex |
cpm219 | 0:7ee700dd1955 | 12 | // Code generation objectives: Unspecified |
cpm219 | 0:7ee700dd1955 | 13 | // Validation result: Not run |
cpm219 | 0:7ee700dd1955 | 14 | // |
cpm219 | 0:7ee700dd1955 | 15 | #include "neural_network3.h" |
cpm219 | 0:7ee700dd1955 | 16 | #include "neural_network3_private.h" |
cpm219 | 0:7ee700dd1955 | 17 | |
cpm219 | 0:7ee700dd1955 | 18 | // Block signals (auto storage) |
cpm219 | 0:7ee700dd1955 | 19 | B_neural_network3_T neural_network3_B; |
cpm219 | 0:7ee700dd1955 | 20 | |
cpm219 | 0:7ee700dd1955 | 21 | // Real-time model |
cpm219 | 0:7ee700dd1955 | 22 | RT_MODEL_neural_network3_T neural_network3_M_; |
cpm219 | 0:7ee700dd1955 | 23 | RT_MODEL_neural_network3_T *const neural_network3_M = &neural_network3_M_; |
cpm219 | 0:7ee700dd1955 | 24 | real_T rt_roundd_snf(real_T u) |
cpm219 | 0:7ee700dd1955 | 25 | { |
cpm219 | 0:7ee700dd1955 | 26 | real_T y; |
cpm219 | 0:7ee700dd1955 | 27 | if (fabs(u) < 4.503599627370496E+15) { |
cpm219 | 0:7ee700dd1955 | 28 | if (u >= 0.5) { |
cpm219 | 0:7ee700dd1955 | 29 | y = floor(u + 0.5); |
cpm219 | 0:7ee700dd1955 | 30 | } else if (u > -0.5) { |
cpm219 | 0:7ee700dd1955 | 31 | y = u * 0.0; |
cpm219 | 0:7ee700dd1955 | 32 | } else { |
cpm219 | 0:7ee700dd1955 | 33 | y = ceil(u - 0.5); |
cpm219 | 0:7ee700dd1955 | 34 | } |
cpm219 | 0:7ee700dd1955 | 35 | } else { |
cpm219 | 0:7ee700dd1955 | 36 | y = u; |
cpm219 | 0:7ee700dd1955 | 37 | } |
cpm219 | 0:7ee700dd1955 | 38 | |
cpm219 | 0:7ee700dd1955 | 39 | return y; |
cpm219 | 0:7ee700dd1955 | 40 | } |
cpm219 | 0:7ee700dd1955 | 41 | |
cpm219 | 0:7ee700dd1955 | 42 | // Model step function |
cpm219 | 0:7ee700dd1955 | 43 | void neural_network3_custom(real_T arg_In1[200], real_T arg_Out1[2]) |
cpm219 | 0:7ee700dd1955 | 44 | { |
cpm219 | 0:7ee700dd1955 | 45 | int32_T i; |
cpm219 | 0:7ee700dd1955 | 46 | real_T tmp; |
cpm219 | 0:7ee700dd1955 | 47 | real_T tmp_0; |
cpm219 | 0:7ee700dd1955 | 48 | real_T tmp_1; |
cpm219 | 0:7ee700dd1955 | 49 | real_T tmp_2; |
cpm219 | 0:7ee700dd1955 | 50 | real_T tmp_3; |
cpm219 | 0:7ee700dd1955 | 51 | real_T rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 52 | real_T rtb_Sum1; |
cpm219 | 0:7ee700dd1955 | 53 | |
cpm219 | 0:7ee700dd1955 | 54 | // DotProduct: '<S9>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 55 | tmp_2 = 0.0; |
cpm219 | 0:7ee700dd1955 | 56 | |
cpm219 | 0:7ee700dd1955 | 57 | // DotProduct: '<S19>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 58 | tmp_3 = 0.0; |
cpm219 | 0:7ee700dd1955 | 59 | |
cpm219 | 0:7ee700dd1955 | 60 | // DotProduct: '<S20>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 61 | rtb_Sum1 = 0.0; |
cpm219 | 0:7ee700dd1955 | 62 | |
cpm219 | 0:7ee700dd1955 | 63 | // DotProduct: '<S21>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 64 | neural_network3_B.d0 = 0.0; |
cpm219 | 0:7ee700dd1955 | 65 | |
cpm219 | 0:7ee700dd1955 | 66 | // DotProduct: '<S22>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 67 | neural_network3_B.d1 = 0.0; |
cpm219 | 0:7ee700dd1955 | 68 | |
cpm219 | 0:7ee700dd1955 | 69 | // DotProduct: '<S23>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 70 | neural_network3_B.d2 = 0.0; |
cpm219 | 0:7ee700dd1955 | 71 | |
cpm219 | 0:7ee700dd1955 | 72 | // DotProduct: '<S24>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 73 | neural_network3_B.d3 = 0.0; |
cpm219 | 0:7ee700dd1955 | 74 | |
cpm219 | 0:7ee700dd1955 | 75 | // DotProduct: '<S25>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 76 | neural_network3_B.d4 = 0.0; |
cpm219 | 0:7ee700dd1955 | 77 | |
cpm219 | 0:7ee700dd1955 | 78 | // DotProduct: '<S26>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 79 | neural_network3_B.d5 = 0.0; |
cpm219 | 0:7ee700dd1955 | 80 | |
cpm219 | 0:7ee700dd1955 | 81 | // DotProduct: '<S10>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 82 | neural_network3_B.d6 = 0.0; |
cpm219 | 0:7ee700dd1955 | 83 | |
cpm219 | 0:7ee700dd1955 | 84 | // DotProduct: '<S11>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 85 | neural_network3_B.d7 = 0.0; |
cpm219 | 0:7ee700dd1955 | 86 | |
cpm219 | 0:7ee700dd1955 | 87 | // DotProduct: '<S12>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 88 | neural_network3_B.d8 = 0.0; |
cpm219 | 0:7ee700dd1955 | 89 | |
cpm219 | 0:7ee700dd1955 | 90 | // DotProduct: '<S13>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 91 | neural_network3_B.d9 = 0.0; |
cpm219 | 0:7ee700dd1955 | 92 | |
cpm219 | 0:7ee700dd1955 | 93 | // DotProduct: '<S14>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 94 | neural_network3_B.d10 = 0.0; |
cpm219 | 0:7ee700dd1955 | 95 | |
cpm219 | 0:7ee700dd1955 | 96 | // DotProduct: '<S15>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 97 | neural_network3_B.d11 = 0.0; |
cpm219 | 0:7ee700dd1955 | 98 | |
cpm219 | 0:7ee700dd1955 | 99 | // DotProduct: '<S16>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 100 | tmp = 0.0; |
cpm219 | 0:7ee700dd1955 | 101 | |
cpm219 | 0:7ee700dd1955 | 102 | // DotProduct: '<S17>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 103 | tmp_0 = 0.0; |
cpm219 | 0:7ee700dd1955 | 104 | |
cpm219 | 0:7ee700dd1955 | 105 | // DotProduct: '<S18>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 106 | tmp_1 = 0.0; |
cpm219 | 0:7ee700dd1955 | 107 | for (i = 0; i < 200; i++) { |
cpm219 | 0:7ee700dd1955 | 108 | // Bias: '<S32>/Add min y' incorporates: |
cpm219 | 0:7ee700dd1955 | 109 | // Bias: '<S32>/Subtract min x' |
cpm219 | 0:7ee700dd1955 | 110 | // Gain: '<S32>/range y // range x' |
cpm219 | 0:7ee700dd1955 | 111 | // Inport: '<Root>/In1' |
cpm219 | 0:7ee700dd1955 | 112 | |
cpm219 | 0:7ee700dd1955 | 113 | rtb_Addminy = (arg_In1[i] + neural_network3_ConstP.Subtractminx_Bias[i]) * |
cpm219 | 0:7ee700dd1955 | 114 | neural_network3_ConstP.rangeyrangex_Gain[i] + -1.0; |
cpm219 | 0:7ee700dd1955 | 115 | |
cpm219 | 0:7ee700dd1955 | 116 | // DotProduct: '<S9>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 117 | // Constant: '<S7>/IW{1,1}(1,:)'' |
cpm219 | 0:7ee700dd1955 | 118 | |
cpm219 | 0:7ee700dd1955 | 119 | tmp_2 += neural_network3_ConstP.IW111_Value[i] * rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 120 | |
cpm219 | 0:7ee700dd1955 | 121 | // DotProduct: '<S19>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 122 | // Constant: '<S7>/IW{1,1}(2,:)'' |
cpm219 | 0:7ee700dd1955 | 123 | |
cpm219 | 0:7ee700dd1955 | 124 | tmp_3 += neural_network3_ConstP.IW112_Value[i] * rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 125 | |
cpm219 | 0:7ee700dd1955 | 126 | // DotProduct: '<S20>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 127 | // Constant: '<S7>/IW{1,1}(3,:)'' |
cpm219 | 0:7ee700dd1955 | 128 | |
cpm219 | 0:7ee700dd1955 | 129 | rtb_Sum1 += neural_network3_ConstP.IW113_Value[i] * rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 130 | |
cpm219 | 0:7ee700dd1955 | 131 | // DotProduct: '<S21>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 132 | // Constant: '<S7>/IW{1,1}(4,:)'' |
cpm219 | 0:7ee700dd1955 | 133 | |
cpm219 | 0:7ee700dd1955 | 134 | neural_network3_B.d0 += neural_network3_ConstP.IW114_Value[i] * rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 135 | |
cpm219 | 0:7ee700dd1955 | 136 | // DotProduct: '<S22>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 137 | // Constant: '<S7>/IW{1,1}(5,:)'' |
cpm219 | 0:7ee700dd1955 | 138 | |
cpm219 | 0:7ee700dd1955 | 139 | neural_network3_B.d1 += neural_network3_ConstP.IW115_Value[i] * rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 140 | |
cpm219 | 0:7ee700dd1955 | 141 | // DotProduct: '<S23>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 142 | // Constant: '<S7>/IW{1,1}(6,:)'' |
cpm219 | 0:7ee700dd1955 | 143 | |
cpm219 | 0:7ee700dd1955 | 144 | neural_network3_B.d2 += neural_network3_ConstP.IW116_Value[i] * rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 145 | |
cpm219 | 0:7ee700dd1955 | 146 | // DotProduct: '<S24>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 147 | // Constant: '<S7>/IW{1,1}(7,:)'' |
cpm219 | 0:7ee700dd1955 | 148 | |
cpm219 | 0:7ee700dd1955 | 149 | neural_network3_B.d3 += neural_network3_ConstP.IW117_Value[i] * rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 150 | |
cpm219 | 0:7ee700dd1955 | 151 | // DotProduct: '<S25>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 152 | // Constant: '<S7>/IW{1,1}(8,:)'' |
cpm219 | 0:7ee700dd1955 | 153 | |
cpm219 | 0:7ee700dd1955 | 154 | neural_network3_B.d4 += neural_network3_ConstP.IW118_Value[i] * rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 155 | |
cpm219 | 0:7ee700dd1955 | 156 | // DotProduct: '<S26>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 157 | // Constant: '<S7>/IW{1,1}(9,:)'' |
cpm219 | 0:7ee700dd1955 | 158 | |
cpm219 | 0:7ee700dd1955 | 159 | neural_network3_B.d5 += neural_network3_ConstP.IW119_Value[i] * rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 160 | |
cpm219 | 0:7ee700dd1955 | 161 | // DotProduct: '<S10>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 162 | // Constant: '<S7>/IW{1,1}(10,:)'' |
cpm219 | 0:7ee700dd1955 | 163 | |
cpm219 | 0:7ee700dd1955 | 164 | neural_network3_B.d6 += neural_network3_ConstP.IW1110_Value[i] * rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 165 | |
cpm219 | 0:7ee700dd1955 | 166 | // DotProduct: '<S11>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 167 | // Constant: '<S7>/IW{1,1}(11,:)'' |
cpm219 | 0:7ee700dd1955 | 168 | |
cpm219 | 0:7ee700dd1955 | 169 | neural_network3_B.d7 += neural_network3_ConstP.IW1111_Value[i] * rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 170 | |
cpm219 | 0:7ee700dd1955 | 171 | // DotProduct: '<S12>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 172 | // Constant: '<S7>/IW{1,1}(12,:)'' |
cpm219 | 0:7ee700dd1955 | 173 | |
cpm219 | 0:7ee700dd1955 | 174 | neural_network3_B.d8 += neural_network3_ConstP.IW1112_Value[i] * rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 175 | |
cpm219 | 0:7ee700dd1955 | 176 | // DotProduct: '<S13>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 177 | // Constant: '<S7>/IW{1,1}(13,:)'' |
cpm219 | 0:7ee700dd1955 | 178 | |
cpm219 | 0:7ee700dd1955 | 179 | neural_network3_B.d9 += neural_network3_ConstP.IW1113_Value[i] * rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 180 | |
cpm219 | 0:7ee700dd1955 | 181 | // DotProduct: '<S14>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 182 | // Constant: '<S7>/IW{1,1}(14,:)'' |
cpm219 | 0:7ee700dd1955 | 183 | |
cpm219 | 0:7ee700dd1955 | 184 | neural_network3_B.d10 += neural_network3_ConstP.IW1114_Value[i] * |
cpm219 | 0:7ee700dd1955 | 185 | rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 186 | |
cpm219 | 0:7ee700dd1955 | 187 | // DotProduct: '<S15>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 188 | // Constant: '<S7>/IW{1,1}(15,:)'' |
cpm219 | 0:7ee700dd1955 | 189 | |
cpm219 | 0:7ee700dd1955 | 190 | neural_network3_B.d11 += neural_network3_ConstP.IW1115_Value[i] * |
cpm219 | 0:7ee700dd1955 | 191 | rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 192 | |
cpm219 | 0:7ee700dd1955 | 193 | // DotProduct: '<S16>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 194 | // Constant: '<S7>/IW{1,1}(16,:)'' |
cpm219 | 0:7ee700dd1955 | 195 | |
cpm219 | 0:7ee700dd1955 | 196 | tmp += neural_network3_ConstP.IW1116_Value[i] * rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 197 | |
cpm219 | 0:7ee700dd1955 | 198 | // DotProduct: '<S17>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 199 | // Constant: '<S7>/IW{1,1}(17,:)'' |
cpm219 | 0:7ee700dd1955 | 200 | |
cpm219 | 0:7ee700dd1955 | 201 | tmp_0 += neural_network3_ConstP.IW1117_Value[i] * rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 202 | |
cpm219 | 0:7ee700dd1955 | 203 | // DotProduct: '<S18>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 204 | // Constant: '<S7>/IW{1,1}(18,:)'' |
cpm219 | 0:7ee700dd1955 | 205 | |
cpm219 | 0:7ee700dd1955 | 206 | tmp_1 += neural_network3_ConstP.IW1118_Value[i] * rtb_Addminy; |
cpm219 | 0:7ee700dd1955 | 207 | } |
cpm219 | 0:7ee700dd1955 | 208 | |
cpm219 | 0:7ee700dd1955 | 209 | // Sum: '<S2>/netsum' incorporates: |
cpm219 | 0:7ee700dd1955 | 210 | // DotProduct: '<S10>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 211 | // DotProduct: '<S11>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 212 | // DotProduct: '<S12>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 213 | // DotProduct: '<S13>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 214 | // DotProduct: '<S14>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 215 | // DotProduct: '<S15>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 216 | // DotProduct: '<S16>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 217 | // DotProduct: '<S17>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 218 | // DotProduct: '<S18>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 219 | // DotProduct: '<S19>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 220 | // DotProduct: '<S20>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 221 | // DotProduct: '<S21>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 222 | // DotProduct: '<S22>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 223 | // DotProduct: '<S23>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 224 | // DotProduct: '<S24>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 225 | // DotProduct: '<S25>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 226 | // DotProduct: '<S26>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 227 | // DotProduct: '<S9>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 228 | |
cpm219 | 0:7ee700dd1955 | 229 | neural_network3_B.dv0[0] = tmp_2; |
cpm219 | 0:7ee700dd1955 | 230 | neural_network3_B.dv0[1] = tmp_3; |
cpm219 | 0:7ee700dd1955 | 231 | neural_network3_B.dv0[2] = rtb_Sum1; |
cpm219 | 0:7ee700dd1955 | 232 | neural_network3_B.dv0[3] = neural_network3_B.d0; |
cpm219 | 0:7ee700dd1955 | 233 | neural_network3_B.dv0[4] = neural_network3_B.d1; |
cpm219 | 0:7ee700dd1955 | 234 | neural_network3_B.dv0[5] = neural_network3_B.d2; |
cpm219 | 0:7ee700dd1955 | 235 | neural_network3_B.dv0[6] = neural_network3_B.d3; |
cpm219 | 0:7ee700dd1955 | 236 | neural_network3_B.dv0[7] = neural_network3_B.d4; |
cpm219 | 0:7ee700dd1955 | 237 | neural_network3_B.dv0[8] = neural_network3_B.d5; |
cpm219 | 0:7ee700dd1955 | 238 | neural_network3_B.dv0[9] = neural_network3_B.d6; |
cpm219 | 0:7ee700dd1955 | 239 | neural_network3_B.dv0[10] = neural_network3_B.d7; |
cpm219 | 0:7ee700dd1955 | 240 | neural_network3_B.dv0[11] = neural_network3_B.d8; |
cpm219 | 0:7ee700dd1955 | 241 | neural_network3_B.dv0[12] = neural_network3_B.d9; |
cpm219 | 0:7ee700dd1955 | 242 | neural_network3_B.dv0[13] = neural_network3_B.d10; |
cpm219 | 0:7ee700dd1955 | 243 | neural_network3_B.dv0[14] = neural_network3_B.d11; |
cpm219 | 0:7ee700dd1955 | 244 | neural_network3_B.dv0[15] = tmp; |
cpm219 | 0:7ee700dd1955 | 245 | neural_network3_B.dv0[16] = tmp_0; |
cpm219 | 0:7ee700dd1955 | 246 | neural_network3_B.dv0[17] = tmp_1; |
cpm219 | 0:7ee700dd1955 | 247 | |
cpm219 | 0:7ee700dd1955 | 248 | // DotProduct: '<S30>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 249 | tmp_2 = 0.0; |
cpm219 | 0:7ee700dd1955 | 250 | |
cpm219 | 0:7ee700dd1955 | 251 | // DotProduct: '<S31>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 252 | tmp_3 = 0.0; |
cpm219 | 0:7ee700dd1955 | 253 | for (i = 0; i < 18; i++) { |
cpm219 | 0:7ee700dd1955 | 254 | // Sum: '<S8>/Sum1' incorporates: |
cpm219 | 0:7ee700dd1955 | 255 | // Constant: '<S2>/b{1}' |
cpm219 | 0:7ee700dd1955 | 256 | // Constant: '<S8>/one' |
cpm219 | 0:7ee700dd1955 | 257 | // Constant: '<S8>/one1' |
cpm219 | 0:7ee700dd1955 | 258 | // Gain: '<S8>/Gain' |
cpm219 | 0:7ee700dd1955 | 259 | // Gain: '<S8>/Gain1' |
cpm219 | 0:7ee700dd1955 | 260 | // Sum: '<S2>/netsum' |
cpm219 | 0:7ee700dd1955 | 261 | // Sum: '<S8>/Sum' |
cpm219 | 0:7ee700dd1955 | 262 | |
cpm219 | 0:7ee700dd1955 | 263 | rtb_Sum1 = 1.0 / (exp((neural_network3_B.dv0[i] + |
cpm219 | 0:7ee700dd1955 | 264 | neural_network3_ConstP.b1_Value[i]) * -2.0) + 1.0) * 2.0 - 1.0; |
cpm219 | 0:7ee700dd1955 | 265 | |
cpm219 | 0:7ee700dd1955 | 266 | // DotProduct: '<S30>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 267 | // Constant: '<S28>/IW{2,1}(1,:)'' |
cpm219 | 0:7ee700dd1955 | 268 | |
cpm219 | 0:7ee700dd1955 | 269 | tmp_2 += neural_network3_ConstP.IW211_Value[i] * rtb_Sum1; |
cpm219 | 0:7ee700dd1955 | 270 | |
cpm219 | 0:7ee700dd1955 | 271 | // DotProduct: '<S31>/Dot Product' incorporates: |
cpm219 | 0:7ee700dd1955 | 272 | // Constant: '<S28>/IW{2,1}(2,:)'' |
cpm219 | 0:7ee700dd1955 | 273 | |
cpm219 | 0:7ee700dd1955 | 274 | tmp_3 += neural_network3_ConstP.IW212_Value[i] * rtb_Sum1; |
cpm219 | 0:7ee700dd1955 | 275 | } |
cpm219 | 0:7ee700dd1955 | 276 | |
cpm219 | 0:7ee700dd1955 | 277 | // Outport: '<Root>/Out1' incorporates: |
cpm219 | 0:7ee700dd1955 | 278 | // Bias: '<S33>/Subtract min y' |
cpm219 | 0:7ee700dd1955 | 279 | // DotProduct: '<S30>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 280 | // DotProduct: '<S31>/Dot Product' |
cpm219 | 0:7ee700dd1955 | 281 | // Gain: '<S33>/Divide by range y' |
cpm219 | 0:7ee700dd1955 | 282 | // Rounding: '<Root>/Rounding Function' |
cpm219 | 0:7ee700dd1955 | 283 | // Sum: '<S3>/netsum' |
cpm219 | 0:7ee700dd1955 | 284 | |
cpm219 | 0:7ee700dd1955 | 285 | arg_Out1[0] = rt_roundd_snf(fabs(((tmp_2 + 0.418253410631824) + 1.0) * 0.5)); |
cpm219 | 0:7ee700dd1955 | 286 | arg_Out1[1] = rt_roundd_snf(fabs(((tmp_3 + -0.64279410179815355) + 1.0) * 0.5)); |
cpm219 | 0:7ee700dd1955 | 287 | } |
cpm219 | 0:7ee700dd1955 | 288 | |
cpm219 | 0:7ee700dd1955 | 289 | // Model initialize function |
cpm219 | 0:7ee700dd1955 | 290 | void neural_network3_initialize(void) |
cpm219 | 0:7ee700dd1955 | 291 | { |
cpm219 | 0:7ee700dd1955 | 292 | // Registration code |
cpm219 | 0:7ee700dd1955 | 293 | |
cpm219 | 0:7ee700dd1955 | 294 | // initialize error status |
cpm219 | 0:7ee700dd1955 | 295 | rtmSetErrorStatus(neural_network3_M, (NULL)); |
cpm219 | 0:7ee700dd1955 | 296 | } |
cpm219 | 0:7ee700dd1955 | 297 | |
cpm219 | 0:7ee700dd1955 | 298 | // Model terminate function |
cpm219 | 0:7ee700dd1955 | 299 | void neural_network3_terminate(void) |
cpm219 | 0:7ee700dd1955 | 300 | { |
cpm219 | 0:7ee700dd1955 | 301 | // (no terminate code required) |
cpm219 | 0:7ee700dd1955 | 302 | } |
cpm219 | 0:7ee700dd1955 | 303 | |
cpm219 | 0:7ee700dd1955 | 304 | // |
cpm219 | 0:7ee700dd1955 | 305 | // File trailer for generated code. |
cpm219 | 0:7ee700dd1955 | 306 | // |
cpm219 | 0:7ee700dd1955 | 307 | // [EOF] |
cpm219 | 0:7ee700dd1955 | 308 | // |