Archive for December, 2009


Documentary- Future Wings

We live in Exponential times and technology is progressing rapidly. To have a look into the future of space travel, watch the video. Extremely insightful.

This Discovery Channel documentary looks at the role of the unseen aerial equipment: drones, UAVs, stealth planes, satellites, etc. We learn that not all of these Eyes in the Sky are used for military purposes…..

We start by looking at the world’s most notorious spy plane, the U-2, and its role in the Cuban missile crisis during the Cold War, before moving on to some of the most significant ‘eyes’ in today’s sky:

  • Global Hawk: a large, unmanned aerial vehicle – it has a 116 ft wingspan, a V-shaped tail and can cover 5,000 miles at a time, staying airborne for almost 2 whole days without refuelling – it is flown entirely by computer and feeds its info directly to a satellite to provide tactical reconnaissance
  • Dark Star: the world’s first unmanned stealth plane – first flown in 1996, it can fly without being noticed – it produces incredibly sharp images which it can bounce around the world in less then 2 seconds
  • Outrider: a small, unmanned bi-plane introduced in 1997 – it uses GPS to land
  • Cipher: a doughnut-shaped UAV (unmanned aerial vehicle) that is hard to see on radar – it flies at a height of 8,000 ft, uses GPS and is able to take off and land vertically
  • Pathfinder: an environmental research plane which cruises at only 15 miles per hour but at a height of 18 miles above the earth – it can fly for months at a time
  • Centurion: huge, solar-powered UAV with a 200 ft wingspan – it stays in the air for months and can monitor agriculture, tropical storms, forests fires, etc.

Other interesting surveillance and reconnaissance equipment included in this film:

  • the Airborne Laser Project which is able to shoot down Scud missiles,
  • the AST (Airborne Surveillance Testbed) – ultra-sensitive infra-red sensors in an adapted Boeing 767 monitor missiles
  • JSTARS: a satellite-linked reconnaissance system in an adapted Boeing 707

You will have to download veoh web player. Google it, it is not a virus its a popular video hosting website

Advertisements

Chewing Gum

Watch how Wooden Bowls, Chain Saws, Stackable Potatochips and Jet Compressor Blades are made. You will have to download veoh web player. Google it, it is not a virus its a popular video hosting website. Its a 20 minute video with exciting insight.
Stackable Potato Chips

Watch how Wooden Bowls, Chain Saws, Stackable Potatochips and Jet Compressor Blades are made. You will have to download veoh web player. Google it, it is not a virus its a popular video hosting website. Its a 20 minute video with exciting insight.

Hello world!

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!

How It's Made- Condoms

Lesson 6- Plotting

  1. Basic plotting
  2. x=11
    y=-3
    z= 3x + y.^2
    doc plot
    plot (z,x, 'o') %all points are represented by symbol o. type help plot to see all the other formatting that you can use
  3. Use ezplot() to plot sinh(x). i.e 
  4. ezplot ('sinh (x)')
    ezplot ('(e.^x)- (e.^(-x))')
  5. The script below will allow you to use various commands to fit a certain type of data.
    • subplot to plot two graphs next to each other
    • fplot fo curve fitting
    • labelling and plotting graphs using xlabel, ylabel, gtext, grid, axis, legend
    • retrieve data from a graph using ginput
    • plot polar coordinates and fit polar coordinates using ezpolar
    • finally use inline to make scripts faster
    %==========================================================================
    % Clear up workspace! -----------------------------------------------------
    clear;
    %==========================================================================
    x= [1:1:100]; %data
    y = x.^4;
    plot(x,y);
    hold %holds the current plot
    z= x.^5; plot(x,z) %overlays the plot of z on x
    close all %close all figure windows
    % creating horizontal and vertical subplots--------------------------------
    %horizontal subplot
    subplot(1,2,1), plot(y); % represents the number of plots and their position (x,y,position).i.e in this case shows two graph side-by side.
    subplot(1,2,2), plot(z);
    user_entry = input('Break Task A'); %Break point
    
    %vertical
    subplot(2,1,1), plot(y);
    subplot(2,1,2), plot(z);
    user_entry = input('Break Task A'); %Break point
    close all %close all figure windows
    % fplot-fitting set of data to form a smooth curve--------------------------------------------------------------------
    fplot('[x^4, x^6]',[0:10])
    user_entry = input('Break Task A');
    close all
    
    % using plot to show multiple lines.
    plot (x,y,'b-',x,z, 'r-');
    xlabel('x');
    ylabel('y');
    title('figure 1');
    legend('data1', 'data2', 2);
    grid on; %shows the grid
    gtext('A') %slick of the mouse on the graph will paste the word A on it
    user_entry = input('Break Task A');
    
    % getting data from the graph
    grid on
    [xin,yin]=ginput(10); % have to click mouse 10 times and it will store x and y values in xin and yin respectively
    plot(xin,yin, 'rX') % plots xin and yin with a red X
    user_entry = input('Break Task A');
    
    %using polar coordinated------------------------------------------------------
    theta = [0: pi/10: pi/2];
    rho = cos(theta).^2;
    polar(theta, rho);
    user_entry = input('Break Task A'); %Break point
    
    %using fplot equivalent- ezpolar
    ezpolar('cos(t)^2', [0,pi/2]); %equivalent of fplot
    user_entry = input('Break point');
  1. Simple SUM function files
  2. function[sum4]=mySum4(a1,b1,c1,d1) % to call the function, you have to write mySum4 (2,3,4,5) and it will return what sum4 is represented by sum4=a1+b1+c1+d1; 
  3. Simple Mutiplying Function
  4. function[sum,difference,product,ratio]=myOperations(a2,b2) % calling the function in the command window to compute myOperations on TWO mumbers will return its sum, difference, product and ration 
    sum=a2+b2; % individually define what each part of the function means
    difference=a2-b2;
    product=a2*b2;
    ratio=a2/b2;
  5. Creating a list of numbers
  6. function[x]=makeList(first,last,spacing)
    i=1;
    while first<=last % execute while in the range
      x(i)=first; % x(1)= what the user puts as first value
      first=first+spacing; % reassigns first with new value
      i = i+1; % so that x(2)=newly reassigned first
    end

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

  1. Simple Script– Create a new matlab script (.m) file. Press CTRL
  2. 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
  3. 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
  4. %%"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
  5. Real Draught Problem- Calculating the stability of a cuboid immersed in a fluid
  6. %%"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('------------------------------------------------------')
  7. Play Rock, Paper Scissor with the Computer
  8. %%"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--------------------%%
  9. Simple counting loop with FOR
  10. %%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--------------------%%
  11. Calculate Factorial of a Number-FOR
  12. 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)
  13. Calculate Factorial of a Number-WHILE
  14. %%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)
  15. Checking if input is a Prime number
  16. %%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
  17. Listing all prime numbers
  18. 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
  19. Creating multiplication tables
  20. %%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)
  21. Calculating the value of pi
  22. %%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

size (a) = b % this will return the size of array (a) in terms of Number of rows and columns and assign in to array (b). therefore b(1,1)= number of rows of (a) and b (1,2) is the number of columns of (a)
save ('abcd') % this will save the current workspace under abcd.mat filename. this function is not particularly helfull when you are a beginner but when you will have to write scripts and you will have to clear workspaces within the script and call it back to do another function the it will dawn upon you why you have save. For now you can simply go to the save button in the workspace window and save the workspace if you wish
disp (a) % displays the elements of array (a)

You can assign each element of an array (e.g A) to a particular number. It follows the same convection of mapping elements in an array. E.g

A(1,1)=22 % assigns the first row, first column with the value of (22)
A(33,44)=55 % assigns the (33rd) row, (44th) column with the value (55) and anything in between (e.g A(2,2) will be assigned zero)
A(3,1:3)=[22 33 44] % Assigns the (3rd) row, 1st to 3rd columns with values of 22,33,44
A(row,column) % e.g if row=1 and column=3 then when you type this command then it will return the A(1,3) value of the array
A(2,:) = [1:0.4:10] % auto assigns 16 columns (number of values between 1 to 10 with spacing of 0.4)  to the (2nd) row of (A). therefore A(1,2)=1.4 and A(1,3)=1.8 etc

Check the menus.

Check buttons.

Which version of Matlab do you use?

Open the help system.

Is the symbolic toolbox installed? What is the symbolic toolbox good for?

Use Matlab to calculate 3 + 4 * 5 and (3 + 4) *5.

Did You Know 3.0

did you know

did you know

did you know

did you know