본문 바로가기

웃음프로젝트의 하루/경험과 노하우

[Matlab]2006년 2학기 과학계산프로그래밍과제

[code] %------------------------------------------------------- % MATLAB Homework #1 % File Name : J_200621756_1.m % School ID : 200621756 Jeong Mun-chang (정문창) % Date : 2006.09.19 last modified. %------------------------------------------------------- fprintf ('\n\n\nMATLAB Homework #1 / 200621756 / Jeong Mun-chang (정문창)\n') fprintf ('=========================================================================\n') fprintf ('f(x) = ax^2 + bx + c 와 같은 이차방정식의 근을 구하기 위하여 a, b, c에 \n해당하는 값을 입력하시오.\n\n') a = input ('Enter a number(a) : '); b = input ('Enter a number(b) : '); c = input ('Enter a number(c) : '); fprintf ('\nf(x) = %dx^2 + %dx + %d의 근을 구하면,\n', a, b, c ) temp = b^2 - 4 * a * c; if temp > 0 x1 = (-(b) + sqrt(temp)) / 2 * a; x2 = (-(b) - sqrt(temp)) / 2 * a; fprintf ('판별식 D > 0 으로 아래와 같이 근이 두개가 나온다.\n') fprintf ('x1 = %f\n', x1) fprintf ('x2 = %f\n\n=========================================================================\n', x2) elseif temp == 0 x1 = (-(b) + sqrt(temp)) / 2 * a; fprintf ('판별식 D = 0 으로 아래와 같이 중근이 나온다.\n') fprintf ('x1, x2 = %f\n\n=========================================================================\n', x1) else real1 = (-(b) + sqrt(temp)) / 2 * a; imag1 = (sqrt(abs(temp))) / 2 * a; real2 = (-(b) - sqrt(temp)) / 2 * a; imag2 = (sqrt(abs(temp))) / 2 * a; fprintf ('판별식 D < 0 으로 아래와 같이 근이 두개가 복소수로 나온다.\n') fprintf ('x1 = %f + %fi\n', real1, imag1) fprintf ('x2 = %f + %fi\n\n=========================================================================\n', real2, imag2) end [/code]