Function with two inputs and arguments

14 ビュー (過去 30 日間)
Jonathan Larsson
Jonathan Larsson 2019 年 10 月 8 日
編集済み: Fabio Freschi 2019 年 10 月 8 日
Hello I am stuck on a problem. I am supposed to make a function that solves quadratic equations. If however the function gives complex numbers, it is supposed to give me the anwsers x1=888, x2=888. How do I do this?
ax2bxc0.png
x1ochx2.png
if b24ac0.png then xpxm.png
I tried;
function [xp,xm] = find_roots(a,b,c)
if b^2-4*a*c<0
xp=888 & xm=888
else
xp=(-b/(2*a))+sqrt(b^2-4*a*c)/(2*a)
xm=(-b/(2*a))-sqrt(b^2-4*a*c)/(2*a)
end % end function
However it if far from the right anwser. I basically don't know how to do arguments in a function. I even tried the "==" in the if/else statement in my function and it still did not work.
Can anyone help me?
Thanks in advance!

採用された回答

Fabio Freschi
Fabio Freschi 2019 年 10 月 8 日
編集済み: Fabio Freschi 2019 年 10 月 8 日
The & is misused. Try:
function [xp,xm] = find_roots(a,b,c)
if b^2-4*a*c<0
xp=888;
xm=888;
else
xp=(-b/(2*a))+sqrt(b^2-4*a*c)/(2*a);
xm=(-b/(2*a))-sqrt(b^2-4*a*c)/(2*a);
end
Also have a look at the built-in roots
doc roots

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGet Started with MATLAB についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by