logo for matrixlab-examples.com
leftimage for matrixlab-examples.com

Prime Factors - a Matlab script

This program lists the prime factors (PFs) of an integer. It will test neither 0 nor 1.
 
It is well known that PFs of a positive integer are the primes that divide into that integer exactly, without leaving a remainder. The process of finding these numbers is called integer factorization, or prime factorization.
 



Matlab has some functions for this purpose, too.

Here’s the full Matlab script:

% Clears variables and screen
clear; clc 

% Asks user for input
z = input('Enter your positive number: '); 

% Loops to test all integers (2 through z) as PFs
for i = 2 : z
    s = 0;
   
% Is z/i an integer? Is the remainder 0?
    while z/i == floor(z/i)
        z = z/i;
        s = s + 1;
   
end

    % A PF is found and displayed
    if s > 0
        str = [num2str(i)
'^' num2str(s)];
        disp(str)       

        % If z = 1, no more divisions are necessary, 
        % thus breaks the loop and quits

        if z == 1
           
break
        end
    end

end

Example 1:


 
What are the prime factors of 49? 

Run the code above and enter your number… 

Enter your positive number: 90 

Matlab answer is

2^1
3^2
5^1

This means that 90 = 2 x 32 x 5

Example 2:



Enter your positive number: 390

2^1
3^1
5^1
13^1 

This means that 390 = 2 x 3 x 5 x 13



Matlab has at least 3 built-in functions related to PFs. 

a) 'factor(x)' returns a vector containing the PFs of x. For example:

factor(390), results in

ans =
     2     3     5    13
 

b) 'primes(x)' is a row vector of the primes less than or equal to x. For example:

primes(10), results in

ans =
     2     3     5     7
 

c) 'isprime(x)' is true for prime numbers. For example:

isprime(10) results in

ans =  0


 From 'Prime Factors' to home

 From 'Prime Factors' to Matlab Cookbook
 
Top



footer for prime factors page