中易网

matlab 一个入门菜鸟级编程(求根公式)

答案:3  悬赏:70  
解决时间 2021-02-22 17:18
大家都知道f(x)=ax^2+bx+c(一元二次方程)
求根公式是:x=[-b+sqrt(b^-4ac)]/2a;

怎么在matlab里编程表达这个公式然后还能让b^2-4ac小于零时返回复数根。
谢谢大家~

希望能看到源程序代码。谢谢啦!
最佳答案
disp('方程形式:a*x^2+b*x+c=0');
a=input('a=');
b=input('b=');
c=input('c=');

deta=b*b-4*a*c;
x=[(-b+sqrt(deta))/2/a;(-b-sqrt(deta))/2/a]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%上面已经达到你的要求了
%%由于matlab在计算sqrt,就是根号的时候,自己会误别根号下的数,
%%如果是负数的话,Matlab会自动生成复数.
%%你如果想自己写这个开根号的号,可以这样

disp('方程形式:a*x^2+b*x+c=0');
a=input('a=');
b=input('b=');
c=input('c=');

a=1
b=2
c=3
deta=b*b-4*a*c;
if deta>=0
x=[(-b+sqrt(deta))/2/a;(-b-sqrt(deta))/2/a]
else
real=-b/2/a;
image=sqrt(-deta)/2/a;
x=[real+image*i;real-image*i]
end
全部回答
a=0;a1=0;eps=0.001;while 1 fia=atan((1-a)/(1+a1)); cx=2*cos(fia); cy=sin(fia); aa=1-1/(cx-cy^2/sin(fia)^2+1); %比较奇怪的是cy不是等于sin(fia)吗,中间那项恒为1 aa1=1/(1-cy/cos(fia))-1; if abs(aa-a)<eps && abs(aa1-a1)<eps break; end a=aa; a1=aa1;endaa1
当a小于0时sqrt(a)返回的就是复数啊。没问题啊
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁知道黄岛开发区晶城小区的业主群
湘岳假期数学答案
皇姑区陵园街2014年能否和沈北贯通
求akb48初日舞蹈教学
九峰山生态旅游景区地址有知道的么?有点事想
有家电脑(余北大街)地址在什么地方,想过去办
为什么QQ上偷菜这个游戏会那么火?
万客临超市(秀灵店)地址有知道的么?有点事想
每次 电脑从睡眠状态 醒来 耳机都会没声音 关
菜市场大酒店在哪里啊,我有事要去这个地方
信息产业电子第十一设计研究院有限公司(EDRI)
电脑开机出现stage3of3就不动了
草胺磷除草剂适应除水花生吗?
麦琪香(曲靖店)我想知道这个在什么地方
三山村地址有知道的么?有点事想过去
推荐资讯
狗狗的所有语言
求推荐北京一套小复式,带露台,小阁楼,70平
如果喜欢的男人零点给我发生日祝福,代表在乎
泉州市丰泽区泉秀街道新秀社区老年大学在什么
读世界某海区洋流分布示意图,回答下列问题。
保定植物园在哪里啊,我有事要去这个地方
我已经是Tesco乐购会员,申请交通银行乐购联名
大众大药房NO.4地址在哪,我要去那里办事
郁氏诊所地址有知道的么?有点事想过去
逆水寒中生杀大帐里面的匾额写的什么字
开机时出现下划线
什么是打口CD和磁带阿,不打口就怎么了
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?