function grafkvar1(a, b, c, d, h) % resi kvadratickou rovnici graficky % cili vykresli graf kvadraticke rovnice % argumenty: % koeficienty kvadraticke rovnice: a, b, c % dolni mez osy x: d % horni mez osy x: h if nargin < 5 % pokud vetsi pocet parametru nez 5, tak se chyba nezachyti zde, ale Matlab hlasi chybu % proto staci nargin < 5 a ne nargin ~= 5 error('Chybny pocet argumentu') end % mozna varianta osetreni stavu h < d % if h < d % error('Dolni mez je vetsi nez horni mez na ose x') % end if h < d ph=h; h=d; d=ph; else if h == d error('Dolni a horni mez intervalu je stejna') end end x=d:(h-d)/100:h; % y=a.*x.*x+b.*x+c % y=a*x.^2 + b*x + c % y=a*x.*x + b*x + c % plot(x, y) plot(x, a*x.*x+b*x+c) grid % presne reseni dle vzorce % x(1,2)=(-b+-sqrt(b^2-a*a*c))/(2*a) clear x D=b^2-4*a*c; if D > 0 disp(' D > 0, dva ruzne realne koreny') x(1)=(-b+sqrt(D))/(2*a); x(2)=(-b-sqrt(D))/(2*a); elseif D==0 disp('D == 0, jeden dvojnasobny koren') x(1)=(-b)/(2*a); x(2)=x(1); else x(1)=(-b+sqrt(D))/(2*a); x(2)=(-b-sqrt(D))/(2*a); disp('D < 0, dva ruzne imaginarni koreny') end disp(['Reseni = ' num2str(x)])