function [] = task_three(a, b, c) input(1,:)= {'a', 'b', 'c'}; if nargin == 0 a = randn(); b = randn(); c = randn(); input(2,:) = {num2str(a), num2str(b), num2str(c)}; end if nargin == 1 b = randn(); c = randn(); input(2,:) = {'', num2str(b), num2str(c)}; end if nargin == 2 c = randn(); input(2,:) = {'', '', num2str(c)}; end if nargin == 3 input = {}; end if nargin > 3 error('To many argumnts to parse') end delta = calculate_delta(a, b, c); roots = calculate_roots(a, b, delta); disp(['Delta: ' , num2str(delta)]) disp(['Roots: ', num2str(length(roots))]) for i=1:length(roots) fprintf('X%s: %s\n', num2str(i), num2str(roots(1,i))); end for i=1:length(input) if ~strcmp(input(2, i), '') fprintf('%s: %s\n', input{1, i}, input{2, i}) end end end function delta = calculate_delta(a, b, c) delta = (b^2) - (4*a*c); end function roots = calculate_roots(a, b, delta) if delta < 0 roots = []; % not real roots end if delta == 0 roots = -b / 2*a; end if delta > 0 x1 = (-b + sqrt(delta))/ (2*a); x2 = (-b - sqrt(delta))/ (2*a); roots = [x1,x2]; end end