
用不同方法求方程x^2-10=0的根x*=根号10,并解释其异同。用matlab编程怎么做?
不好意思啊,必须用牛顿迭代法和区间二分法,或者松弛法,任选两种编写程序,用循环语句,必须可以上机实现的...
不好意思啊,必须用牛顿迭代法和区间二分法,或者松弛法,任选两种编写程序,用循环语句,必须可以上机实现的
展开
2个回答
展开全部
1、解方程思路求
x²-10=0
x²=10
x=±√10
2、matlab编程
对ax²+bx+c=0,用△公式计算
a=1;
b=0;
c=-10;
delta=b^2-4*a*c;
if delta<0
disp('无解')
else
x1=(-b-sqrt(delta))/(2*a)
x2=(-b+sqrt(delta))/(2*a)
end
输出结果:x1= -3.1623,x2= 3.1623
x²-10=0
x²=10
x=±√10
2、matlab编程
对ax²+bx+c=0,用△公式计算
a=1;
b=0;
c=-10;
delta=b^2-4*a*c;
if delta<0
disp('无解')
else
x1=(-b-sqrt(delta))/(2*a)
x2=(-b+sqrt(delta))/(2*a)
end
输出结果:x1= -3.1623,x2= 3.1623
追问
写的不错,不过不好意思啊,必须用牛顿迭代法和区间二分法,或者松弛法,任选两种编写程序,用循环语句,必须可以上机实现的,你这个是能上机实现,但是用以上任何算法,这样老师是不会给分的,再帮帮忙好吗,谢谢了,我们今晚要交的,可以快点吗
追答
一、牛顿迭代法(1)
syms x
x0=-3; %牛顿迭代法需预估解的大小,本题分别在x=-3或x=3附近找解
f=x^2-10;
eps=1e-6;
maxcnt=1000;
%----------
fx=diff(f,x);
x1=x0;
cnt=1;
while cnt0
disp('Root not in the interval')
else
for k=1:i;
c=(a+b)/2;x=c;fc=f(x);
if fc*fa>0
a=c;
else b=c;
end
end
a
b
c
fc
end
上面程序已可直接运行。
输入 bisection(-4,0,100,@(x)x^2-10) 即可。
早上折腾了好大一会,加上昨下午的,你这5分太少了啊。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询