Main Function
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
203 double total_time =
forward_euler(step_size, X0, X_MAX, &Y0,
true);
-
204 std::cout <<
"\tTime = " << total_time <<
" ms\n";
-
-
-
-
-
-
+
+
+
+
+
193 double step_size = NAN;
+
+
+
+
+
+
+
+
+
+
+
204 double total_time =
forward_euler(step_size, X0, X_MAX, &Y0,
true);
+
205 std::cout <<
"\tTime = " << total_time <<
" ms\n";
+
+
+
+
+
+
@@ -294,8 +294,8 @@ Here is the call graph for this function:
56 const double omega = 1.F;
-
-
58 dy[0][1] = -omega * omega * y[0][0];
+
+
58 (*dy)[1] = -omega * omega * (*y)[0];
@@ -347,36 +347,36 @@ Here is the call graph for this function:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
168 for (
int i = 0; i < y.size() - 1; i++) {
-
-
-
171 fp << y[y.size() - 1] <<
"\n";
-
-
-
-
-
176 }
while (x <= X_MAX);
-
-
-
179 double total_time =
static_cast<double>(t2 - t1) / CLOCKS_PER_SEC;
-
180 std::cout <<
"\tTime = " << total_time <<
" ms\n";
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
169 for (
int i = 0; i < y.size() - 1; i++) {
+
+
+
172 fp << y[y.size() - 1] <<
"\n";
+
+
+
+
+
177 }
while (x <= X_MAX);
+
+
+
180 double total_time =
static_cast<double>(t2 - t1) / CLOCKS_PER_SEC;
+
181 std::cout <<
"\tTime = " << total_time <<
" ms\n";
+
+
+
@@ -393,7 +393,7 @@ Here is the call graph for this function:
void exact_solution(const double &x, std::valarray< double > *y)
Exact solution of the problem. Used for solution comparison.
Definition: ode_forward_euler.cpp:67
-
void save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0)
Definition: ode_forward_euler.cpp:152
+
void save_exact_solution(const double &X0, const double &X_MAX, const double &step_size, const std::valarray< double > &Y0)
Definition: ode_forward_euler.cpp:153
diff --git a/db/dd3/ode__forward__euler_8cpp.js b/db/dd3/ode__forward__euler_8cpp.js
index d08321c38..0bba266a1 100644
--- a/db/dd3/ode__forward__euler_8cpp.js
+++ b/db/dd3/ode__forward__euler_8cpp.js
@@ -2,7 +2,7 @@ var ode__forward__euler_8cpp =
[
[ "exact_solution", "db/dd3/ode__forward__euler_8cpp.html#af3adf7b092a87868917ee5fb4255192b", null ],
[ "forward_euler", "d6/d60/group__ode.html#gae0509f8843e2bc42de2abbd00a14b7b9", null ],
- [ "forward_euler_step", "d6/d60/group__ode.html#gaa197c6b7085ac9ea71abc4c063e6f52f", null ],
+ [ "forward_euler_step", "d6/d60/group__ode.html#ga195d23bbdfcb80e83c9cda45c9ad5723", null ],
[ "main", "db/dd3/ode__forward__euler_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97", null ],
[ "problem", "db/dd3/ode__forward__euler_8cpp.html#abaeae8f62a018d197f0187a1c80a90fe", null ],
[ "save_exact_solution", "db/dd3/ode__forward__euler_8cpp.html#aa13517b8e5de1b75592052db7f7e237f", null ]
diff --git a/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map b/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map
index 4d692f27e..762bf6c67 100644
--- a/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map
+++ b/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.map
@@ -5,7 +5,7 @@
-
+
diff --git a/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5 b/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5
index 24ed67c66..440efa6eb 100644
--- a/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5
+++ b/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.md5
@@ -1 +1 @@
-6781d4c4936ba396d4566021a2445e88
\ No newline at end of file
+31797d87f3c14bcdf5e30c95102ec3ad
\ No newline at end of file
diff --git a/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg b/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg
index b25912759..27dc6aa55 100644
--- a/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg
+++ b/db/dd3/ode__forward__euler_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg
@@ -96,7 +96,7 @@
Node6
-
+
forward_euler_step
diff --git a/dc/d38/ordinary__least__squares__regressor_8cpp.html b/dc/d38/ordinary__least__squares__regressor_8cpp.html
index 6f2219edc..a3acb7e8b 100644
--- a/dc/d38/ordinary__least__squares__regressor_8cpp.html
+++ b/dc/d38/ordinary__least__squares__regressor_8cpp.html
@@ -203,28 +203,29 @@ template<typename T >
Get matrix inverse using Row-trasnformations. Given matrix must be a square and non-singular.
- Returns
- inverse matrix
-
-
-
-
-
-
226 for (
size_t row = 0; row < N; row++) {
-
-
-
229 for (
size_t col = 0; col < N; col++)
-
230 inverse[row][col] = (row == col) ? 1.f : 0.f;
-
-
-
-
-
-
-
-
-
-
240 for (
size_t row = 0; row < N; row++) {
-
-
242 for (
size_t col = 0; col < N; col++)
-
243 v[col] =
static_cast<float>(A[row][col]);
-
-
-
-
-
248 for (
size_t row = 0; row < N; row++) {
-
249 for (
size_t row2 = row; row2 < N && temp[row][row] == 0; row2++) {
-
-
251 temp[row] = temp[row] + temp[row2];
-
252 inverse[row] = inverse[row] + inverse[row2];
-
+
+
+
+
+
+
232 for (
size_t row = 0; row < N; row++) {
+
+
+
235 for (
size_t col = 0; col < N; col++) {
+
236 inverse[row][col] = (row == col) ? 1.f : 0.f;
+
+
+
+
+
+
+
+
+
+
+
247 for (
size_t row = 0; row < N; row++) {
+
+
249 for (
size_t col = 0; col < N; col++) {
+
250 v[col] =
static_cast<float>(A[row][col]);
+
+
+
-
255 for (
size_t col2 = row; col2 < N && temp[row][row] == 0; col2++) {
-
-
257 for (
size_t row2 = 0; row2 < N; row2++) {
-
258 temp[row2][row] = temp[row2][row] + temp[row2][col2];
-
259 inverse[row2][row] = inverse[row2][row] + inverse[row2][col2];
-
+
+
256 for (
size_t row = 0; row < N; row++) {
+
257 for (
size_t row2 = row; row2 < N && temp[row][row] == 0; row2++) {
+
+
259 temp[row] = temp[row] + temp[row2];
+
260 inverse[row] = inverse[row] + inverse[row2];
-
263 if (temp[row][row] == 0) {
-
-
-
-
-
-
-
270 float divisor =
static_cast<float>(temp[row][row]);
-
271 temp[row] = temp[row] / divisor;
-
272 inverse[row] = inverse[row] / divisor;
-
-
274 for (
size_t row2 = 0; row2 < N; row2++) {
-
-
-
277 float factor = temp[row2][row];
-
278 temp[row2] = temp[row2] - factor * temp[row];
-
279 inverse[row2] = inverse[row2] - factor * inverse[row];
-
-
-
-
-
+
263 for (
size_t col2 = row; col2 < N && temp[row][row] == 0; col2++) {
+
+
265 for (
size_t row2 = 0; row2 < N; row2++) {
+
266 temp[row2][row] = temp[row2][row] + temp[row2][col2];
+
267 inverse[row2][row] = inverse[row2][row] + inverse[row2][col2];
+
+
+
+
271 if (temp[row][row] == 0) {
+
+
+
+
+
+
+
278 auto divisor =
static_cast<float>(temp[row][row]);
+
279 temp[row] = temp[row] / divisor;
+
280 inverse[row] = inverse[row] / divisor;
+
+
282 for (
size_t row2 = 0; row2 < N; row2++) {
+
+
+
+
286 float factor = temp[row2][row];
+
287 temp[row2] = temp[row2] - factor * temp[row];
+
288 inverse[row2] = inverse[row2] - factor * inverse[row];
+
+
+
+
+
@@ -339,17 +343,17 @@ template<typename T >
matrix transpose
- Returns
- resultant matrix
-
-
-
-
295 for (
size_t row = 0; row < A[0].
size(); row++) {
-
-
297 for (
size_t col = 0; col < A.
size(); col++) v[col] = A[col][row];
-
-
-
-
-
+
+
+
+
304 for (
size_t row = 0; row < A[0].
size(); row++) {
+
+
306 for (
size_t col = 0; col < A.
size(); col++) v[col] = A[col][row];
+
+
+
+
+
@@ -379,14 +383,16 @@ template<typename T >