matlab中的问题Missing variable or function.

function[x1,x2]=root(a,b,c,disc,realpart,imagpart)%求解一元二次方程a*x^2+b*x+c=0.%%变量设置和定义%a,... function [x1,x2]=root(a,b,c,disc,realpart,imagpart)
%求解一元二次方程a*x^2+b*x+c=0.
%
%变量设置和定义
%a,b,c分别为自变量系数
%disc为判别式
%realpart和imagpart分别代表是不和虚部
%x1、x2分别表示方程的根(如果有双根)
disp('求解一元二次方程:a*x^2+b*x+c=0');
a=input(‘请用户输入“a”的值:’);
b=input(‘请用户输入“a”的值:’);
c=input(‘请用户输入“a”的值:’);
disc=b.^2-4*a*c;
if(a==0)
x1=-c/b;
x2=x1;
fprintf('x=%f\n',x1);
elseif(disc==0)
x1=-b/(2*a);
fprintf('x=%f\n',x1);
elseif(disc>0)
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
fprintf('x1=%f\n',x1);
fprintf('x2=%f\n',x2);
else
realpart=-b/(2*a);
imagpart=sqrt(abs(disc))/(2*a);
fprintf('x1=%f+i%f\n',realpart,imagpart);
fprintf('x2=%f-i%f\n',realpart,imagpart);
end
运行程序时总是显示Line: 9 Column: 41
Missing variable or function.
高手指点啊~
展开
 我来答
骇浪船回
2009-08-20 · TA获得超过200个赞
知道小有建树答主
回答量:83
采纳率:100%
帮助的人:0
展开全部
line 9是哪一行?
你这个function主体没有错误, 但是输出有问题, 输入比较臃肿重复. 既然要手动输入a,b,c, 为什么还要参数传递? disc, realpart和imagepart也是, 是程序中计算的, 不用作为参数输入. 当然这不会导致报错. 导致报错的是在else环节, 没有x1和x2的赋值, 这样程序的输出就没有赋值了. 另外matlab是识别虚数的, i是一个虚单位, sqrt()这个函数是可以对负数直接开根号的, 不用特意判断这么多次. 你可以自己在matlab里面试一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
化学工程
推荐于2016-08-12 · TA获得超过8897个赞
知道大有可为答主
回答量:2212
采纳率:80%
帮助的人:3287万
展开全部
这下子好了,主要是用了中文引号。

function [x1,x2]=root
%求解一元二次方程a*x^2+b*x+c=0.
%
%变量设置和定义
%a,b,c分别为自变量系数
%disc为判别式
%realpart和imagpart分别代表是不和虚部
%x1、x2分别表示方程的根(如果有双根)
disp('求解一元二次方程:a*x^2+b*x+c=0')
a=input('请用户输入“a”的值:');
b=input('请用户输入“b”的值:');
c=input('请用户输入“c”的值:');
disc=b.^2-4*a*c;
if(a==0)
x1=-c/b;
x2=x1;
fprintf('x=%f\n',x1);
elseif(disc==0)
x1=-b/(2*a);
fprintf('x=%f\n',x1);
elseif(disc>0)
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
fprintf('x1=%f\n',x1);
fprintf('x2=%f\n',x2);
else
realpart=-b/(2*a);
imagpart=sqrt(abs(disc))/(2*a);
fprintf('x1=%f+i%f\n',realpart,imagpart);
fprintf('x2=%f-i%f\n',realpart,imagpart);
end

例如:
>> root
求解一元二次方程:a*x^2+b*x+c=0
请用户输入“a”的值:1
请用户输入“b”的值:2
请用户输入“c”的值:3
x1=-1.000000+i1.414214
x2=-1.000000-i1.414214
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式