root.m
来自「《matlab使用详解》的部分源码」· M 代码 · 共 41 行
M
41 行
function [x1,x2]=root(a,b,c,disc,realpart,imagpart)
%求解一元二次方程a*x^2+b*x+c=0.
%
%变量设置和定义
%a,b,c分别为自变量系数
%disc为判别式
%realpart和imagpart分别代表实部和虚部
%x1、x2分别表示方程的根(如果有双根)
disp('求解一元二次方程:a*x^2+b*x+c=0');
a=input('请用户输入 ''a''的值:');
b=input('请用户输入 ''b''的值:');
c=input('请用户输入 ''c''的值:');
disc=b^2-4*a*c;
%如果二次项系数等于0
if(a==0)
x1=-c/b;
x2=x1;
fprintf('x=%f\n',x1);
%判别式等于0
elseif(disc==0)
x1=-b/(2*a);
fprintf('x=%f\n',x1);
%判别式大于0
elseif(disc>0)
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
fprintf('x1=%f\n',x1);
fprintf('x2=%f\n',x2);
%如果判别式小于0
else
realpart=-b/(2*a);
imagpart=sqrt(abs(disc))/(2*a);
fprintf('x1=%f+i%f\n',realpart,imagpart);
fprintf('x2=%f-i%f\n',realpart,imagpart);
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?