• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

MATLAB编程实现方程根的判断 【例】

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
% Purpose:
% This program solves for the roots of a quadratic equation
% of the form a*x^2 + b*x + c = 0. It calculates the answers
% regardless of the type of roots that the equation possesses.
%
% Define variables:
% a --Coefficient of x^2 term of equation
% b --Coefficient of x term of equation
% c --Constant term of equation
% discriminant --Discriminant of the equation
% imag_part --Imag part of equation (for complex roots)
% real_part --Real part of equation (for complex roots)
% x1 --First solution of equation (for real roots)
% x2 --Second solution of equation (for real roots)
% Prompt the user for the coefficients of the equation
disp (\'This program solves for the roots of a quadratic \');
disp (\'equation of the form A*X^2 + B*X + C = 0.\');
a = input(\'Enter the coefficient A: \');
b = input(\'Enter the coefficient B: \');
c = input(\'Enter the coefficient C: \');
% Calculate discriminant
discriminant = b^2 - 4 * a * c;
% Solve for the roots, depending on the vlaue of the discriminant.
if discriminant > 0 % there are two real roots, so ...
x1 = (-b + sqrt(discriminant)) / (2*a);
x2 = (-b - sqrt(discriminant)) / (2*a);
disp(\'This equation has two real roots:\');
fprintf(\'x1 = %f\n\', x1);
fprintf(\'x2 = %f\n\', x2);
elseif discriminant == 0 % there is one repeated root, so ...
x1 = ( -b ) / (2*a);
disp(\'This equation has two identical real roots:\');
fprintf(\'x1 = x2 = %f\n\', x1);
else % there are complex roots, so ...
real_part = (-b) / (2*a);
imag_part = sqrt( abs(discriminant)) / (2*a);
disp(\'This equation has complex roots:\');
fprintf(\'x1 = %f + i %f \n\',real_part, imag_part);
fprintf(\'x1 + %f - i %f \n\', real_part, imag_part);
end

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
动画演示Delphi2007IDE功能[6]-快速查看Delphi所有的核心数据类型发布时间:2022-07-18
下一篇:
Delphi获取公网IP地址函数发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap