Advertisement
hockeygoalie5

Practice 1

Nov 19th, 2015
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 3.01 KB | None | 0 0
  1. function practice1()
  2.     clear;clc
  3.     fprintf('Mustafa Kalash\nMATLAB Practice 1\n')
  4.    
  5.     fprintf('\nProblem 1\n')
  6.     m = input('What is the upper bound of the summation?\nm = ');
  7.     sigma = 0;
  8.     for n = 0:m
  9.         sigma = sigma + ((-1 / 3) ^ n) / (2 * n + 1);
  10.     end
  11.     answer = sqrt(12) * sigma;
  12.     fprintf('The answer is %.2f.\n', answer)
  13.     n = 0:3;
  14.     answer = sqrt(12) * sum(((-1 / 3) .^ n) ./ (2 * n + 1));
  15.     fprintf('The answer is %.2f.\n', answer)
  16.    
  17.     fprintf('\nProblem 2\n')
  18.     cases = input('How many cases?\ncases = ');
  19.     for n = 1:cases
  20.         a = input('What is a?\na = ');
  21.         b = input('What is b?\nb = ');
  22.         c = input('What is c?\nc = ');
  23.         D = b^2 - 4 * a * c;
  24.         if D > 0
  25.             rootOne = (-b + sqrt(D)) / (2 * a);
  26.             rootTwo = (-b - sqrt(D)) / (2 * a);
  27.             fprintf('The equation has two roots: %.2f, %.2f.\n', rootOne, rootTwo)
  28.         elseif D == 0
  29.             root = -b / (2 * a);
  30.             fprintf('The equation has one root: %.2f.\n', root)
  31.         else
  32.             fprintf('The equation has no real roots.\n')
  33.         end
  34.     end
  35.    
  36.     % Problem 3
  37.     Data = reshape((randi(87, 24)), 576, 1);
  38.     divisableBy2 = 0;
  39.     data = zeros(1, 7);
  40.     for i = 1:length(Data)
  41.         n = Data(i);
  42.         if ~rem(n, 2)
  43.             divisableBy2 = divisableBy2 + 1;
  44.         end
  45.         if n >= 0 && n < 15
  46.             data(1) = data(1) + 1;
  47.         elseif n >= 15 && n < 30
  48.             data(2) = data(2) + 1;
  49.         elseif n >= 30 && n < 45
  50.             data(3) = data(3) + 1;
  51.         elseif n >= 45 && n < 60
  52.             data(4) = data(4) + 1;
  53.         elseif n >= 60 && n < 75
  54.             data(5) = data(5) + 1;
  55.         elseif n >= 75 && n < 90
  56.             data(6) = data(6) + 1;
  57.         elseif n >= 90
  58.             data(7) = data(7) + 1;
  59.         end
  60.     end
  61.     figure1 = figure;
  62.     axes1 = axes('Parent', figure1, 'XTickLabel', {'0-15', '15-30', '30-45', '45-60', '60-75', '75-90', '90+'}, 'XTick', 1:7);
  63.     box(axes1, 'on')
  64.     hold(axes1, 'on')
  65.     bar(data)
  66.    
  67.     fprintf('\nProblem 4\n')
  68.     n = input('How many numbers do you want to calculate?\nn = ');
  69.     for i = 1:n
  70.         fprintf('What is number %i?\n', i)
  71.         m = input('m = ');
  72.         fprintf('%.2f! = %.2f\n', m, calcFactorial(m));
  73.     end
  74.    
  75.     fprintf('\nProblem 5\n')
  76.     i = 1;
  77.     while 1
  78.         x = input('Enter the next value.\nx = ');
  79.         if x >= 1
  80.             a = input('Illegal value entered. Retry? (1 / 0)\n');
  81.             if a
  82.                 continue
  83.             else
  84.                 break
  85.             end
  86.         end
  87.         y(i) = log(1/(1 - x));
  88.         i = i + 1;
  89.     end
  90.     fprintf('y = ')
  91.     fprintf('%.2f, ', y(1:length(y) - 1))
  92.     fprintf('%.2f.\n', y(length(y)))
  93. end
  94.  
  95. function fact = calcFactorial(n)
  96.     if n < 0 || rem(n, 1) ~= 0
  97.         error('Error: n must be a positive integer.')
  98.     elseif n == 0
  99.         fact = 1;
  100.     else
  101.         fact = n .* calcFactorial(n - 1);
  102.     end
  103. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement