Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "math.h"
- #include <iostream>
- using namespace std;
- double f(double x, double y, double yd) {
- return (3 * x*yd + 5 * y + x * x*log(x)) / (x*x);
- }
- int writarr11(double *arr) {
- for (int i = 0; i < 11; i++)
- cout << arr[i] << ' ';
- cout << endl;
- return 0;
- }
- int writarr11(double *arr, double *arr1) {
- for (int i = 0; i < 11; i++)
- cout << arr[i] << ' ' << arr1[i] << endl;
- cout << endl;
- return 0;
- }
- int writarr101(double *arr) {
- for (int i = 0; i < 101; i++)
- cout << arr[i] << ' ';
- cout << endl;
- return 0;
- }
- int writarr101(double *arr, double *arr1) {
- for (int i = 0; i < 101; i++)
- cout << arr[i] << ' ' << arr1[i] << endl;
- cout << endl;
- return 0;
- }
- int main()
- {
- //With h1
- double h = 0.1;
- cout << "With h1" << endl;
- //Higher order task
- double x[11];
- double y[11];
- double yd[11];
- x[0] = 1;
- for (int i = 1; i < 11; i++)
- x[i] = x[i - 1] + h;
- y[0] = 1;
- yd[0] = 1;
- for (int i = 1; i < 11; i++) {
- yd[i] = yd[i - 1] + h * f(x[i - 1], y[i - 1], yd[i - 1]);
- y[i] = y[i - 1] + h * yd[i - 1];
- }
- cout << "Higher order task" << endl;
- writarr11(x, y);
- //writarr11(y);
- //writarr11(yd);
- cout << endl << endl << endl;
- //With h2
- h = 0.01;
- cout << "With h2" << endl;
- //Higher order task
- double xw[101];
- double yw[101];
- double ydw[101];
- xw[0] = 1;
- for (int i = 1; i < 101; i++)
- xw[i] = xw[i - 1] + h;
- yw[0] = 1;
- ydw[0] = 1;
- for (int i = 1; i < 101; i++) {
- ydw[i] = ydw[i - 1] + h * f(xw[i - 1], yw[i - 1], ydw[i - 1]);
- yw[i] = yw[i - 1] + h * ydw[i - 1];
- }
- cout << "Higher order task" << endl;
- writarr101(xw, yw);
- //writarr101(yw);
- //writarr101(ydw);
- char c;
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement