早教吧 育儿知识 作业答案 考试题库 百科 知识分享

又遇到一个解方程的问题,好多地方无从下手,编写一个函数quadzero01.m,其输出输入的格式如下:\x05root=quadzero01(coef)其中coef是一个3*1的向量,代表一个一元二次方程式的系数(降幂排列),而root

题目详情
又遇到一个解方程的问题,好多地方无从下手,
编写一个函数quadzero01.m,其输出输入的格式如下:\x05root=quadzero01(coef)其中coef是一个3*1的向量,代表一个一元二次方程式的系数(降幂排列),而root则是此方程式的根所形成的向量.若coef(1)不是零,则roots的长度为二.若coef(1)是零,则可能有一解(root的长度为一)或无解(root为空矩阵).(请注意:你的程序必须套用一元二次方程式a*x2+b*x+c=0的公式来解此题,而不可以直接使用roots指令来解此题.)
▼优质解答
答案和解析
下次不希望你直接索要代码 最好自己动手谢谢 在不懂的地方我们可以帮助你 这次我给出代码了 function root=quadzero(p)n=length(p);if n~=3 error('一元二次多项式的系数为三个,请重新输入!')enda=p(1);b=p(2);c=p(3);if a==0 if b==0&c~=0 error('由于a=0,b=0,故方程无解') elseif b==0&c==0 warning('由于a,b,c都等于0,故方程任意解') else root=-c/b; endelse root=[-b+sqrt(b^2-4*a*c);-b-sqrt(b^2-4*a*c)]/2/a;end