Write a C program to implement the linear regression algorithm.

 Updated on October 21, 2014     VIKRAM     13530   

Algorithm:

Step 1.  Read n
Step 2.  sumx = 0
Step 3.  sumxsq = 0
Step 4.  sumy = 0
Step 5.  sumxy = 0
Step 6.  for i = 1 to n do
Step 7.  Read x, y
Step 8.  sumx = sumx + x
Step 9.  sumxsq = Sumxsq + x2
Step 10. sumy = Sumy + y
Step 11. sumxy = sumxy + x * y end for
Step 12. denom = n * sumxsq – sumx * sumx
Step 13. a0 = (sumy * sumxsq – sumx * sumxy) / denom
Step 14. a1 = (n * sumxy - sumx * sumy) / denonm
Step 15. Write a1, a0
Step 16. Stop

Flowchart:

Program:

#include<stdio.h>
#include<math.h>
main()
{
 int n,I;
 float sumx, sumxsq, sumy, sumxy, x, y, a0, a1, denom;
 printf(“enter the n value”);
 scanf(“%d”, &n);
 sumx = 0;
 sumsq = 0;
 sumy = 0;
 sumxy = 0;
 for(i = 0; i < n; i++)
 {
  scanf(“%f %f”, &x, &y);
  sumx += x;
  sumsq += pow(x, 2);
  sumy += y;
  sumxy += x * y;
 }
 denom = n * sumxsq – pow(sumx, 2);
 a0 = (sumy * sumxsq – sumx * sumxy) / denom;
 a1 = (n * sumxy – sumx * sumy) / denom;
 printf(“y = %fx + %f”,a1, a0);
}

Input & Output:

enter the n value 7
1 2
2 5
4 7
5 10
6 12
8 15
9 19
Y = 1.980769x + 0.096154
  Related Links

Write a C program to find the sum of individual digits of a positive integer.

A Fibonacci sequence is defined as follows: the first and second terms in the sequence are 0 and 1. Subsequent terms are found by adding the preceding two terms in the sequence. Write a C program to generate the first n terms of the sequence.

Write a C program to generate all the prime numbers between 1 and n, where n is a value supplied by the user.

Write a C program to calculate the following Sum:
Sum=1-x2/2! +x4/4!-x6/6!+x8/8!-x10/10!

Write a C program to find the roots of a quadratic equation.

The total distance travelled by vehicle in ‘t’ seconds is given by distance = ut+1/2at2 where ‘u’ and ‘a’ are the initial velocity (m/sec.) and acceleration (m/sec2). Write C program to find the distance travelled at regular intervals of time given the values of ‘u’ and ‘a’. The program should provide the flexibility to the user to select his own time intervals and repeat the calculations for different values of ‘u’ and ‘a’.

Write a C program, which takes two integer operands and one operator from the user, performs the operation and then prints the result. (Consider the operators +,-,*, /, % and use switch statement)

Write C programs that use both recursive and non-recursive functions

  1. To find the factorial of a given integer.
  2. To find the GCD (greatest common divisor) of two given integers.

Write a C program to find the largest integer in a list of integers.

Write a C program that uses functions to perform the following:

  1. Addition of Two Matrices
  2. Multiplication of Two Matrices

Write a C program that uses functions to perform the following operations:

  1. To insert a sub-string in to a given main string from a given position.
  2. To delete n Characters from a given position in a given string.

Write a C program to determine if the given string is a palindrome (or) not.

Write a C program that displays the position or index in the string S where the string T begins, or – 1 if S doesn’t contain T.

Write a C program to count the lines, words and characters in a given text.

Write a C program to generate Pascal’s triangle.

Write a C program to construct a pyramid of numbers.

Write a C program to read in two numbers, x and n, and then compute the sum of this geometric progression:
1+x+x2+x3+………….+xn
For example: if n is 3 and x is 5, then the program computes 1+5+25+125.
Print x, n, the sum
Perform error checking. For example, the formula does not make sense for negative exponents – if n is less than 0.
Have your program print an error message if n<0, then go back and read in the next pair of numbers of without computing the sum. Are any values of x also illegal? If so, test for them too.

2’s complement of a number is obtained by scanning it from right to left and complementing all the bits after the first appearance of a 1. Thus 2’s complement of 11100 is 00100. Write a C program to find the 2’s complement of a binary number.

Write a C program to convert a Roman numeral to its decimal equivalent.

Write a C program that uses functions to perform the following operations:

  1. Reading a complex number
  2. Writing a complex number
  3. Addition of two complex numbers
  4. Multiplication of two complex numbers

(Note: represent complex number using a structure.)

Write a C program which copies one file to another.
(Note: The file name and n are specified on the command line.)

Write a C program to reverse the first n characters in a file.
(Note: The file name and n are specified on the command line.)

Write a C program to display the contents of a file.

Write a C program to merge two files into a third file (i.e., the contents of the first file followed by those of the second are put in the third file).

Write a C program that uses non recursive function to search for a Key value in a given list of integers using Linear search.

Write a C program that uses non recursive function to search for a Key value in a given sorted list of integers using Binary search.

Write a C program that implements the Selection sort method to sort a given array of integers in ascending order.

Write a C program that implements the Bubble sort method to sort a given list of names in ascending order.

Write a C program that uses functions to perform the following operations:

  1. Create a singly linked list of integer elements.
  2. Traverse the above list and display the elements.

Write a C program to implement the linear regression algorithm.

Write a C program to implement the polynomial regression algorithm.

Write a C program to implement the Lagrange interpolation.

Write C program to implement the Newton- Gregory forward interpolation.

Write a C program to implement Trapezoidal method.

Write a C program to implement Simpson method.