Skip to main content

Generate triangle numbers using matlab function

Problem

To get the nth triangle number then it will be 1+2+3+4+5+......+n, so we can simply say that the sum of natural numbers until a given number will give the triangle number. To know more about triangle numbers please visit wikipedia.com from here: https://en.wikipedia.org/wiki/Triangular_number
Generate triangle numbers upto the given number n. For example if the function is trianglenumbers(n), then trianglenumbers(5) should be [1 3 6 10 15]. Solve using matlab

Solution

Here we have used the for loop to loop through the n numbers to find their sum. Please read about the for loop from the link given if you don't know what for loop is, or how to for loop in matlab
For loop in matlab
Find the explanation for the program below the program section

Program

function result = trianglenumbers(n)
%This function using matlab will generate triangle numbers
%Triangle numbers can simply be called as the sum of the natural numbers
%So the nth trianlge number is 1+2+3+4+5+....+n

%To get a more understanding of triangle numbers visit:
%https://en.wikipedia.org/wiki/Triangular_number

%We wil create a variable to store all the numbers upto 
% n triangle numbers
result = [];

sum = 0;

for i = 1:n
    sum = sum+i;
    result = [result sum];
end

To download the above matlab file click here: trianglenumbers.m

Explanation

In this function first we will create an empty vector to store the values of the triangle numbers generated at each stage of iteration. Now we will create a sum variable to store the sum of the numbers at each stage. Now in the for loop, we will see everything from here iteration by iteration so that you will understand it very easily.

First iteration

During the first iteration, the value of i is 1, now the sum becomes 0+1(sum+i) and the result vector will store the value of the sum at each stage of iteration thus, result = [1], and the first iteration comes to an end, the second iteration starts

Second iteration

During the second iteration the value of i is 2, now the sum becomes 1+2(sum+i) digging deep, the result vector becomes, result = [1 3]([result sum]), now the second iteration comes to an end, the third iteration starts.

Third iteration

Now in the third iteration the value of i is 3, the sum becomes 3+3(sum+3), digging deep into the program, result vector becomes, result = [1 3 6]([result sum]), now the third iteration is over and the fourth iteration starts and this iterations continue until the value of i becomes n.

Finally the output of the function is the result vector which will give all the values of triangle numbers till the number n.

I have tried to explain this function as much as I can so that even the novice programmers will understand it. If you didn't understand this program, then please contact me or comment below so that I will make it more simple and this will benefit all the other people. Thanks.

To download this post and read it offline, you can do download it from here: trianglenumbers.pdf

The above code was formatted using: hilite.me

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

Keywords: triangle numbers, matlab function

Popular posts from this blog

Making a quiz web app with python and flask

Edit : When you are creating a web app with h tml templates, then y ou will have to sa ve the html file in templates folder in the Current Wor ki ng Directory( CWD). If you save the file in the C W D directl y you will get a TemplateNotFound error. Thank you Udhay for pointing it out.   In this post we will create a quiz website using python . I will be using the flask framework . After reading this tutorial you will learn form submission , flask templates , python code in flask templates , shuffling the questions and options with the random module and few others.  Please note that this tutorial is not big as it seems to be. Some of the code has been rewritten to maintain consistency and also font size is somewhat big so that your eyes won't get stressed reading this tutorial. Also the content has not occupied the full width of the page. In this tutorial I am assuming that you are having a very basic understanding of the flask framework . Please refer the documentation

Problem 11 Project Euler Solution with python

Largest product in a grid In the 20×20 grid below, four numbers along a diagonal line have been marked in red. 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00 81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65 52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91 22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80 24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50 32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70 67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21 24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72 21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95 78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92 16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57 86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58 19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40 04 52 08 83 97 35 99 16 07

Problem 60 Project Euler Solution with python

Prime pair sets The primes 3, 7, 109, and 673, are quite remarkable. By taking any two primes and concatenating them in any order the result will always be prime. For example, taking 7 and 109, both 7109 and 1097 are prime. The sum of these four primes, 792, represents the lowest sum for a set of four primes with this property. Find the lowest sum for a set of five primes for which any two primes concatenate to produce another prime. This problem is j u st a brute force problem. If you have come here because you don't know the limit upto which you will h ave to gener ate the prime numbers t hen go ahe ad and t r y with 10,000 . When I first start ed solving the problem I chose 1 million(beca use most of the problem s on project E uler have this limit ), but it took very long for the computer to fin d the solution. After searching on the internet then I found many people choosing 10, 000 so I have changed my in put f rom 1 million to 10000 and the output was f ast. He