Matlab is capable of much more than 2+2. It can write powerful scripts that can compute large amount of data.

**Simple Script**– Create a new matlab script (.m) file. Press CTRL**Dice Throw**– Create a new matlab script (.m) file. Press CTRL. Simulates the throw of two dice using the rand() function and returns the individual and combined score**Real Draught Problem-**Calculating the stability of a cuboid immersed in a fluid- Play Rock, Paper Scissor with the Computer
- Simple counting loop with FOR
- Calculate Factorial of a Number
**-FOR** - Calculate Factorial of a Number
**-WHILE** - Checking if input is a Prime number
- Listing all prime numbers
- Creating multiplication tables
- Calculating the value of pi

for i=1:10 % doesn't not necessarily have to be i. we just assigning it that so that. This basically repeats whatever we write next (10) time disp ('it works') % displays it works for (10) times end % for loop always have an end so it can start again and assign i=2 and do the loop for the 2nd time cd % displays your working directory

now save it by clicking the play button in the “editor” window.

assign is a name and see the results in the command window.

OR save it using the save button and run is from the command window by pressing

run ('x') % x is your filename

%%"dice throw" jignesh Kerai. 29/01/09. Ver 1.0 %displays sum of two dice throws. %numbers are random %%start disp ('----------------------Throwing Two Dice-------------------') a=ceil(6*rand); % rand gives random decimal point values between 1 & 0 b=ceil(6*rand); % ceil rounds of the 6*rand to give simulate 6 possible outputs (1-6) total= (a+b); disp ('First Dice'), disp(a); % displays First Dice and the value of (a) disp ('Second Dice'), disp (b);

Now if you wanted to tell the script to double the score if both dice have the same number (i.e a=b)

if(a==b) %placing and condition to do something if a=b. Note the double ==. disp('Double Score'),disp(total*2) % displays double score and 2*total value. else %otherwise if a is NOT = b disp ('Total Score'), disp(total) disp('##########################################################') %for fun end %END

%%"Draught of a Floating" Jignesh Kerai 29/01/09 %Determines whether a cuboid will float or not l=input ('what is the lenght of the cuboid (metres)?'); ';' suppresses output, i.e the output of the calculation will not be displayed in the command window w=input ('what is the width of the cuboid (metres)?'); h=input ('what is the height of the cuboid (metres)?'); pc=input ('what is the density of the cuboid (kg/m^3)?'); pfluid=input('what is the density of the fluid (kg/m^3)?'); if (pc>pfluid); disp('Cuboid will drown'); % if density of cuboid> fluid's density then it warns the user. elseif (h>l||h>w); %elseif has to be used if you want another "if" statement within the original if loop disp ('Cuboid unstable') % if the height> length OR (|| height > width then disp() elseif (h<l||h<w); disp ('Cuboid is stable') end V= (l*w*h); % calculate volume m=(pc*V); d=(m/pfluid); disp('Volume='),disp(V) disp('mass='),disp(m) disp('draught='), disp(d) disp('------------------------------------------------------')

%%"dice throw" jignesh Kerai. 29/01/09. Ver 1.0 %Play Rock, Paper Scissor with the Computer %%start a= input ('choose ROCK(1), PAPER(2) or SCISSOR(3)'); % user input of what they choose b= ceil(3*rand); creates random numbers from 1 TO 3 if (a==b) %Condition disp ('ITS A DRAW') elseif (a==1 && b==2) % elseif if used within an if statement to say IF again if the first if was not satisfied. && is the AND function. (i.e if a=1 AND b=2 the disp (...)) disp ('The computer choose PAPER and you choose ROCK. PAPER covers ROCK. You LOOSE') elseif (a==2 && b==1) disp ('The computer choose ROCK and you choose PAPER. PAPER covers ROCK. You WIN') elseif (a==3 && b==1) disp ('The computer choose ROCK and you choose SCISSOR. ROCK breaks SCISSORS. You LOOSE') elseif (a==1 && b==3) disp ('The computer choose SCISSORS and you choose ROCK. ROCK breaks SCISSORS. You WIN') end a=input ('do u want to play again. YES(1), NO(2)?'); % user input if a==1; run 'C:\%location of file\FILENAME.m%' % Allows user to play again with the computer. if unsure what directory you have saved the file. use the CD command. else disp ('GoodBYE') end %%END--------------------%%

%%Jignesh %simple Counting loop a=input('enter digit to start counting from'); %starting value you want to count from b=input ('enter digit to stop counting'); % end disp ('---') for i=a:b m(i)=i; % assigns first row, first element end %%END--------------------%%

a=input ('Value of n! enter your value of n') % input of last number f=1 %have to set value of first f for i=1:a %number of time whatever you write under for has to be executed f=f*i % first time, i=1, f=1, therefore new f=1. %2nd time, i=2, f=1, therefore new f=2 %3rd time, i=3, f=2, therefore new f=6...etc end disp (f)

%%computing factorial using while loop.Jignesh%start n=input ('value of number to calculate factorial of') %last number i=1 % set value of i a=1% set value of a while i<=n % if i less than or equal to (user input) do the following a=a*i % first time a=1, i=1, new a =1. i=1+i % have to change value of i (same as for loop that automatically updates the value of i) end % so when it gets here, it will start the while statement again, i<=n. %2nd step i=2 and a=2. %3rd step i=3 and a=2*3= 6. %it will keep running till i=n. disp (a)

%%computing factorial using while loop.Jignesh N=input('put the number you would like to check') flag = 0 %add a variable called flag which assumes N is a prime for i=2:N-1 % for every number from 2 to n-1 divide N by each number x=mod(N,i);% check to see if you can divide N by i cleanly (to give an integer) % if it is possible to divide cleanly then x will = 0 % if x=0 then you can divide N cleanly by another number. Hence it is not a prime if (x==0) % Make flag 1 to tell the rest of the code that this number is not a prime flag = 1 end end;%after trying divide n by every number if the flag = 0 then n is a prime %otherwise n is not a prime if (flag==1) disp('this number is not a prime') else disp(' this number is a prime') end

n=1 while (n>0); %while n is greater than 0 run the commands below while (isprime(n)==1) %isprime is an predefined matlab script. type help isprime or doc isprime to see how it works. alternatively i you can also see the isprime script by typing edit isprime disp(n) break; % stops the while loops. i.e it runs it once only to check if n is prime or not end n=n+1;% increases the value of n by 1 and tests if that number is prime end

%%create Multiplication tables for the products of all integers from %%1:10.and display in a 2-d array %%jignesh for i=1:10; for j=1:10 table(i,j)=i*j; end end disp (table)

%%Calculating pi %Jignesh N=input ('Value of N?'); %number of iterative processes count = 0; for i=1:N x=2*rand-1; y=2*rand-1; if ( (x^2 + y^2)<1 ) count= count + 1; end end pi=(4*count)./N

Advertisements