Write a program in a script file that determines the real roots of a quadratic equation

조회 수: 213 (최근 30일)
Howdy, I am new to math lab and need a little help The question asks: "Write a program in a script file that determines the real roots of a quadratic equation ax^2+bx+c=0. Name the file quadroots. When the file runs, it asks the user to input values of the constants a,b, and c. To calculate the roots of the equation the program calculates the discriminant D, given by D=b^2-4ac."
Then it goes on to give me specific equations and what Matlab is actually doing
I don't know what commands to use, and any help would be appreciated, thanks
  댓글 수: 1
Seth
Seth 2012년 4월 2일
Technically, I have nothing since I don't know where to start. it seems so simple. But i don't know what commands to use

댓글을 달려면 로그인하십시오.

채택된 답변

Thomas
Thomas 2012년 4월 2일
If you are beginning, this is a good resource. It is a MATLAB tutorial and will help you solve quadratic equations with MATLAB.

추가 답변 (5개)

Sean de Wolski
Sean de Wolski 2012년 4월 2일
doc roots
and, specifically:
roots([a b c]);

Fikru Dikumbab
Fikru Dikumbab 2014년 9월 16일
편집: Fikru Dikumbab 2014년 9월 16일
% ax^2+bx+c =0 is a quadratic equation
function qadr(a,b,c)
if b^2-4*a*c > 0
r1=(-b+sqrt(b^2-4*a*c))/2*a
r2=(-b-sqrt(b^2-4*a*c))/2*a
else if b^2-4*a*c == 0
r=-b/2*a
else
disp(' No real solution')
end
end
end

Md. Intesar Farhan Labib
Md. Intesar Farhan Labib 2021년 4월 6일
편집: Md. Intesar Farhan Labib 2021년 4월 6일
clc
clear all
close all
a= input("Co-efficient of x^2: ");
b= input("Co-efficient of x: ");
c=input("Contant term: ");
d= b^2-4*a*c;
fx=[a b c];
x=roots(fx);
if d>0
disp(['The equation has two roots ', num2str(x(1)),' ,',num2str(x(2))]);
elseif d==0
disp(['The equation has one root ', num2str(x(1)),',',num2str(x(2))]);
else
disp("The equation has no real roots.");
end
  댓글 수: 5
Shailendra Shankar
Shailendra Shankar 2023년 4월 26일
clc
clear all
close all
a= input("Co-efficient of x^2: ");
b= input("Co-efficient of x: ");
c= input("Contant term: ");
d= b^2-4*a*c;
if a==0&&b==0;
disp ('The equation is invalid')
elseif a==0
x=-c/b;
disp('The equation is now linear and has one root',x);
end
fx=[a b c];
x=roots(fx);
if d>0
disp('The equation has two roots ', num2str(x(1)),',',num2str(x(2)));
elseif d==0
disp('The equation has one root ', num2str(x(1)));
else
disp('The equation has no real roots.');
end
Can you correct this code for me please.
ERROR MSG:
Co-efficient of x^2: 0
Co-efficient of x: 4
Contant term: -16
Error using disp
Too many input arguments.
Error in QUAD (line 12)
disp('The equation is now linear and has one root',x);
Shailendra Shankar
Shailendra Shankar 2023년 4월 26일
Here are my requirements:
  1. need to show that if a=b=0, the equation is invalid
  2. if a=0, the equation is linear and the root is to be displayed
  3. if d>0, the equation has two roots which have to be displayed
  4. if d=0, the equation has only one root which has to be displayed
  5. if d<0, the equation has no real roots

댓글을 달려면 로그인하십시오.


Matt Kindig
Matt Kindig 2012년 4월 2일
What do you have so far?
  댓글 수: 1
Seth
Seth 2012년 4월 2일
Technically, I have nothing since I don't know where to start. it seems so simple. But i don't know what commands to use

댓글을 달려면 로그인하십시오.


Matt Kindig
Matt Kindig 2012년 4월 2일
Well let's break down the question step by step, with the specified section of the documentation for each.
  1. Get input a, b, c from user
  2. Calculate discriminant D
  3. Compare D to 0.
  4. If D < 0, there will be imaginary roots. Since your assignment specifies real roots, throw an error here. If D == 0, there will be one root. If D > 0, there will be two roots.
  5. Calculate the roots using the quadratic formula.
  6. Display results to user or output (depending on assignment specification).
For step 1, look at the 'input' function in MATLAB. The rest of the assignment can be done using straightforward arithmetic operations (+,-,*,/). For steps 3-4, use an if-else structure.
This should get you started...

카테고리

Help CenterFile Exchange에서 Introduction to Installation and Licensing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by