matlab函数调用的问题这是一个求一元二次等式的解的函数function cal_roots(a,b,c)%cal_roots solves aquadratic function ax^2+bx+c = 0if a==0 error('a = 0 -- Not a quadratic equation');% b^2-4*a*c == 0elseif abs(b^2-4*a*c)
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/12 22:17:20
![matlab函数调用的问题这是一个求一元二次等式的解的函数function cal_roots(a,b,c)%cal_roots solves aquadratic function ax^2+bx+c = 0if a==0 error('a = 0 -- Not a quadratic equation');% b^2-4*a*c == 0elseif abs(b^2-4*a*c)](/uploads/image/z/3960303-15-3.jpg?t=matlab%E5%87%BD%E6%95%B0%E8%B0%83%E7%94%A8%E7%9A%84%E9%97%AE%E9%A2%98%E8%BF%99%E6%98%AF%E4%B8%80%E4%B8%AA%E6%B1%82%E4%B8%80%E5%85%83%E4%BA%8C%E6%AC%A1%E7%AD%89%E5%BC%8F%E7%9A%84%E8%A7%A3%E7%9A%84%E5%87%BD%E6%95%B0function+cal_roots%28a%2Cb%2Cc%29%25cal_roots+solves+aquadratic+function+ax%5E2%2Bbx%2Bc+%3D+0if+a%3D%3D0++++error%28%26%2339%3Ba+%3D+0+--+Not+a+quadratic+equation%26%2339%3B%29%3B%25+b%5E2-4%2Aa%2Ac+%3D%3D+0elseif+abs%28b%5E2-4%2Aa%2Ac%29)
matlab函数调用的问题这是一个求一元二次等式的解的函数function cal_roots(a,b,c)%cal_roots solves aquadratic function ax^2+bx+c = 0if a==0 error('a = 0 -- Not a quadratic equation');% b^2-4*a*c == 0elseif abs(b^2-4*a*c)
matlab函数调用的问题
这是一个求一元二次等式的解的函数
function cal_roots(a,b,c)
%cal_roots solves aquadratic function ax^2+bx+c = 0
if a==0
error('a = 0 -- Not a quadratic equation');
% b^2-4*a*c == 0
elseif abs(b^2-4*a*c)<1e-10
x = -b/(2*a);
else
x1 = (-b+sqrt(b^2-4*a*c))/(2*a);
x2 = (-b-sqrt(b^2-4*a*c))/(2*a);
end;
比如说我要求这个方程的根
要在命令行输入什么才能求出这个跟来?因为那个函数返回解的个数是不确定的,所以要怎么处理?
matlab函数调用的问题这是一个求一元二次等式的解的函数function cal_roots(a,b,c)%cal_roots solves aquadratic function ax^2+bx+c = 0if a==0 error('a = 0 -- Not a quadratic equation');% b^2-4*a*c == 0elseif abs(b^2-4*a*c)
1、一般情况下,函数应该返回参数(现在的函数没返回参数);
2、返回的参数可以是向量,所以,无论是否重根,都可以按照一个向量返回.
帮你简单改了一下:
function x = cal_roots(a,b,c)%cal_roots solves aquadratic function ax^2+bx+c = 0
if a==0
error('a = 0 -- Not a quadratic equation');
% b^2-4*a*c == 0
elseif abs(b^2-4*a*c)<1e-10
x = -b/(2*a);
x = [x;x];
else
x1 = (-b+sqrt(b^2-4*a*c))/(2*a);
x2 = (-b-sqrt(b^2-4*a*c))/(2*a);
x = [x1; x2];
end;
命令行下调用:
>> cal_roots(1,5,6)ans =
-2
-3
>> cal_roots(1,4,20)
ans =
-2.0000 + 4.0000i
-2.0000 - 4.0000i