Skip to main content

Generate using matlab sum of natural numbers from 1 to n using functions

Problem

Write a function in matlab which will find the sum of n natural numbers.

Solution

The solution is as simple as just generating the for loop and adding all the numbers generated by the for loop.
Find the Explanation below

Program


function answer = sum_of_numbers(n)
%This function will calculate the sum of n numbers
%For Example
%1+2+3+4+5+6+......+n

%A variable to store the value of the sum
answer = 0;
for i = 1:n
    answer = answer+i;
end

Explanation:

In this function the only part which a few people won't understand is after the initiation of the answer variable.
After the initiation of the answer variable, the for loop is started and now let us examine through the iteration to make it easy for understanding.

First iteration

Now as soon as the for loop starts, the value of i is 1, now the answer variable is changed from previous value( 0 ) to 0(previous value)+1(value of the iterator). Now the new value for the answer variable is 1.

Second iteration

In the second iteration the value of i is changed to 2 and deep into the loop the value of the answer variable is changed from previous value(1) to 1(previous value)+2(value of the iterator).
In the similar way the value is changed to 6 in the third iteration and this continues.

Download the above program as matlab file for use: sum_of_numbers.m

You can also get a pdf version of this post to read it offline: sum_of_numbers.pdf

Code has been highlighted using hilite.me

Run the program and comment below the output you are getting for a given input.

Keywords: sum of numbers, matlab function

Popular posts from this blog

Project Euler Problem 62 solution with python

Cubic permutations ¶ The cube, 41063625 (3453), can be permuted to produce two other cubes: 56623104 (3843) and 66430125 (4053). In fact, 41063625 is the smallest cube which has exactly three permutations of its digits which are also cube. Find the smallest cube for which exactly five permutations of its digits are cube.

Project Euler Problem 67 Solution with Python

Maximum path sum II By starting at the top of the triangle below and moving to adjacent numbers on the row below, the maximum total from top to bottom is 23. 3 7 4 2 4 6 8 5 9 3 That is, 3 + 7 + 4 + 9 = 23. Find the maximum total from top to bottom in triangle.txt (right click and 'Save Link/Target As...'), a 15K text file containing a triangle with one-hundred rows.

Problem 43 Project Euler Solution with python

Sub-string divisibility The number, 1406357289, is a 0 to 9 pandigital number because it is made up of each of the digits 0 to 9 in some order, but it also has a rather interesting sub-string divisibility property. Let d 1 be the 1 st digit, d 2 be the 2 nd digit, and so on. In this way, we note the following: d 2 d 3 d 4 =406 is divisible by 2 d 3 d 4 d 5 =063 is divisible by 3 d 4 d 5 d 6 =635 is divisible by 5 d 5 d 6 d 7 =357 is divisible by 7 d 6 d 7 d 8 =572 is divisible by 11 d 7 d 8 d 9 =728 is divisible by 13 d 8 d 9 d 10 =289 is divisible by 17 Find the sum of all 0 to 9 pandigital numbers with this property. One might write a simple solution using direct if else statements for this problem. Using if else statements, the execution time may be a few seconds. But this is not a very good approach. I too had written a program with if else statement which will take each and every permutation of the 0-9 Pandigital and check for the conditions given in the qu...