12.
WAP to implement Euler's Method for solving ordinary
differential equations (ODEs).
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
// Define the differential equation dy/dx = f(x, y)
double f(double x, double y) {
    return x + y; // Example: dy/dx = x + y
}
int main() {
    double x0, y0, xn, h;
    int n;
    // Input initial values
    cout << "Enter the initial value of x (x0): ";
    cin >> x0;
    cout << "Enter the initial value of y (y0): ";
    cin >> y0;
    cout << "Enter the value of x at which to find y (xn): ";
    cin >> xn;
    cout << "Enter the number of steps (n): ";
    cin >> n;
    // Step size
    h = (xn - x0) / n;
    // Euler's Method
    double x = x0;
    double y = y0;
    cout << fixed << setprecision(6);
    cout << "\nStep\tx\ty" << endl;
    for (int i = 0; i < n; ++i) {
        cout << i + 1 << "\t" << x << "\t" << y << endl;
        y = y + h * f(x, y); // Euler's formula
        x = x + h;
    }
    // Final value
    cout << "\nThe value of y at x = " << xn << " is approximately " << y << endl;
    return 0;
}
Output:
13. WAP to implements a simple linear curve fitting method using
the least squares approach.
#include <iostream>
#include <vector>
#include <cmath>
#include <iomanip>
using namespace std;
// Function to calculate the sum of elements in a vector
double sum(const vector<double>& v) {
    double total = 0;
    for (double value : v) {
        total += value;
    }
    return total;
}
// Function to calculate the sum of the product of corresponding elements of two vectors
double sum_of_products(const vector<double>& v1, const vector<double>& v2) {
    double total = 0;
    for (size_t i = 0; i < v1.size(); ++i) {
        total += v1[i] * v2[i];
    }
    return total;
}
int main() {
    int n;
    cout << "Enter the number of data points: ";
    cin >> n;
    vector<double> x(n), y(n);
    cout << "Enter the x values:\n";
    for (int i = 0; i < n; ++i) {
        cin >> x[i];
    }
    cout << "Enter the y values:\n";
    for (int i = 0; i < n; ++i) {
        cin >> y[i];
    }
    // Calculate required sums
    double sum_x = sum(x);
    double sum_y = sum(y);
    double sum_x2 = sum_of_products(x, x);
    double sum_xy = sum_of_products(x, y);
    // Calculate coefficients a0 and a1 for y = a0 + a1 * x
    double a1 = (n * sum_xy - sum_x * sum_y) / (n * sum_x2 - sum_x * sum_x);
    double a0 = (sum_y - a1 * sum_x) / n;
    // Display the equation of the fitted curve
    cout << fixed << setprecision(6);
    cout << "The equation of the fitted curve is: y = " << a0 << " + " << a1 << " * x" << endl;
    return 0;
}
Output: