1樓:
樓主你的tem1=-b/twoa=-b/(2*a)tem2=sqrt(fabs (disc))/twoa=sqrt(b*b-4*a*c)
這兩個明顯還不是方程的根吖,根據公式(-b±sqrt(b*b-4*a*c))/2*a應該是term1+term2和term1-term2。
還有就是我感覺你上面判斷的
if(a==0)
if(b==0)
我猜測你是想讓a b都不為0吧?,那麼寫成if(a==0&&b==0)好點吧,但是根據你下面的printf("=%f\n",-c/b),可以看出明顯b不能為0,但是a卻沒有要求,而要讓a*x^2+b*x+c=0有解的話只要a,b不同時為0就行了,再根據你的-c/b,得知b不能為0,那麼判斷的時候我感覺只需要判斷if(b==0)就可以了,a可以取任意值。樓主可以試著修改一下,還有什麼問題我們再一起討論~~!
2樓:匿名使用者
結果怎麼個不一樣法了?
順便說哈
你的term1和term2本來就不是方程的解啊解應該是(-b+-sqrt(disc))/2a大概就是-term1+term2和-term1-term2
怎樣用matlab編寫求解方程a*x^2+b*x+c=0 的根的函式
3樓:雪狐晨光
若a=2,b=3,c=1,程式如下
p=[2 3 1];
x=roots(p)
matlab 求代數方程組 a*x^2+b*x+c=0 x+y=0 關於x,y的解,並分別繪製x和y關於b和c的影象(a視作常數)
4樓:宇逸
1. 求代數方程組的解:
>> [x,y]=solve('a*x^2+b*x+c=0','x+y=0','x,y')
x =1/2/a*(-b+(b^2-4*a*c)^(1/2))
1/2/a*(-b-(b^2-4*a*c)^(1/2))
y =-1/2/a*(-b+(b^2-4*a*c)^(1/2))
-1/2/a*(-b-(b^2-4*a*c)^(1/2))
>>2. 從上面的解可以看出,x,y都有兩組解且x,y互為相反數。
假設a=1,這裡有兩種方法繪製x,y關於b,c的影象:
(1)隱函式繪圖
x1=subs(x(1),'a',1);
x2=subs(x(2),'a',1);
y1=subs(y(1),'a',1);
y2=subs(y(2),'a',1);
figure
po=get(gcf,'position');
set(gcf,'position',[po(1)-0.5*po(3) po(2) 2*po(3) po(4)]);
subplot(121)
ezsurf(x1,[-10 10])
hold on
ezsurf(x2,[-10 10])
subplot(122)
ezsurf(y1,[-10 10])
hold on
ezsurf(y2,[-10 10])
(2)根據方程式直接繪圖
>> a=1;
>> [b,c]=meshgrid(-10:0.5:10);
>> delta=b.^2-4*a*c;
>> delta(delta<0)=nan;
>> x1=0.5/a*(-b+sqrt(delta));
>> x2=0.5/a*(-b-sqrt(delta));
>> y1=-x1;
>> y2=-x2;
>> figure
>> po=get(gcf,'position');
>> set(gcf,'position',[po(1)-0.5*po(3) po(2) 2*po(3) po(4)]);
>> subplot(121)
>> surf(b,c,x1)
>> hold on
>> surf(b,c,x2)
>> xlabel('b');ylabel('c');zlabel('x')
>> subplot(122)
>> surf(b,c,y1)
>> hold on
>> surf(b,c,y2)
>> xlabel('b');ylabel('c');zlabel('y')
matlab用對分法求a*x^2+b*x+c,其中a,b,c自行輸入
5樓:匿名使用者
我這兩天剛好遇到這個問題,solve求解得過程是把所給等式除去未知數其他的變數當成已知專數,直接屬這麼寫解不出來。
可以這麼試試:
(隨便舉個例子3*x^2+2*x-33=0)syms x
a= 3;
b=2;
c=-33;
equ=a*x^2+b*x+c;
x=solve(equ)
結果:x =
-11/3
3希望對你有幫助!
求解一元二次方程a*x*x+b*x+c=0 用c語言寫
6樓:匿名使用者
#include
#include
int main()
7樓:我一定會回來嘚
#include "stdio.h"
#include "math.h"
void main()
if (d>0)}
8樓:青原落楓
廢話不bai多說du
來了zhi,我dao來專了。屬
#include
#include
int structure(int a,int b,int c)main()
c語言 求ax 2 bx c 0方程的根。a,b,c由鍵盤輸
休珈藍悅 includ main if a 0 if k 0 if k 0 getch 大體上對 你在遍譯一下 我這機器上沒tc 已經編好了,絕對可以執行的 那些運算的方法就是和數學上的計算方法一樣,你應該看得懂吧 include include main else k b b 4 a c if k...
程式設計求方程ax2 bx c 0的根,分別求當b2 4ac大於
include include void f1 double a 3 double p,double q void f2 double a 3 double p,double q void f3 double a 3 double p,double q void main else if d 0 e...
已知關於x的不等式ax 2 bx c0的解集為
由題知ax 2 bx c 0可化為 a x 2 x 1 2 0,由解集得拋物線開口向下即 a 0故有 x 2 x 1 2 0 比較題中兩式的左端和十字相乘法則 ax 2 bx c 0可化為 a x 2 x 1 2 0 又a 0 故有 x 2 x 1 2 0所以解集為 1 2 0.5 求ax方 bx ...