- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算方法实验报告
作业4
学院:数学科学学院
专业:信息与计算科学
班级:116班
学号姓名:王华靖
用二分法和牛顿切线法求实根
一、实验目的:
1.熟悉用matlab实现迭代
2.用matlab实现二分,牛顿等求根算法
3.应用算法求解方程根
二、实验代码:
1函数图形:
x=[-2:0.1:1];
y=x.^4+2*x.^3-x-1;
plot(x,y);
grid on
2二分法:
1)
function [val,n]=ErFen_root(f,x,dalt)
if nargin3
dalt=1e-5;
end
ab=x;i=0;x0=sum(ab)/2;
f0=feval(f,ab(1));
f1=feval(f,x0);
while abs(f1)=dalt;
if f0*f10
ab(2)=x0;
else
ab(1)=x0;
end
x0=sum(ab)/2;
f0=feval(f,ab(1));
f1=feval(f,x0);
i=i+1;
disp(sym([ab(1) x0 ab(2) f0 f1 feval(f,ab(2))]));
if (ab(2)-x0)2*eps
disp(May not be root!);
break;
end
end
val=x0;
if nargout==2
n=i;
end
2)
function f=F1(x)
f=x.^4+2*x.^3-x-1;
3牛顿切线法:
1)function [val,n]=Newton_root(f,a,daltf,daltx)
tic
if nargin4
dalt=1e-5;
end
if nargin3
dalt=1e-6;
end
flag=0;i=size(a);
if i(2)==1
flag=1;
end
hold on
i=0;e=0;df1=0;x1=0;x0=a;
f0=feval(f,x0);d=ones(size(f0));
df0=Jacbi_div(f,x0);
while sqrt((f0.^2)*d)=daltf
x1=x0-f0*inv(df0);
f1=feval(f,x1);
df1=Jacbi_div(f,x1);
i=i+1;
if sqrt(x1.^2*d)1
e=sqrt((x0-x1).^2)*d;
else
e=sqrt(((x0-x1).^2)*d./(x1.^2))*d;
end
if edaltx
break;
end
if i==100
disp(No root find!);
break;
end
if flag==1
plot([x0 x1],[f0 0],r, [x0 x0],[0 f0], -.r);
end
x0=x1;df0=df1;f0=f1;
disp(i)
disp([xo fo])
end
if flag==1
X=x1-(a-x1):(a-x1)/50:x1+(a-x1);
plot(X,feval(f,X),k);
end
hold on
val=x1;
if nargout==2
n=i;
end
disp(耗时:)
disp(toc)
2)
function[val]=Jacbi_div(f,X,n,h)
if nargin=3
h=0.1;
end
if nargin==2
n=3;
end
r=size(X);m=r(2);
b=size(feval(f,X));b=b(2);
df=zeros(b,m);
for t=1:m
Y=X;Y(t)=Y(t)+h;
Z=X;Z(t)=Z(t)-h;
df(:,t)=((feval(f,Y)-feval(f,Z))./(2*h));
end
G(1,1,:,:)=df;
for t=2:n
h=h/2;
G=[G zeros(t-1,1,b,m);zeros(1,t,b,m)];
for k=1;m
Y=X;Y(k)=Y(k)+h;
Z=X;Z(k)=Z(k)-h;
df(:,k)=((feval(f,Y)-fev
您可能关注的文档
最近下载
- 玉林容县辅警招聘考试真题2023.pdf VIP
- 2025年大学生职业生涯规划书完整版本2篇 .pdf VIP
- 法律职业伦理期末考试试题附答案.docx VIP
- 小学体育水平二四年级《迎面接力跑》公开课教案.doc VIP
- 米家云米互联网智能门锁eLink 2A使用说明书.pdf
- 2023-2024学年江苏省南通市如皋市高二(上)调研英语试卷(一).doc VIP
- 多晶体织构的测定——认识晶体学中的极射赤面投影和吴里夫网2.pdf VIP
- 保险科技(复旦)大学MOOC慕课 客观题答案.docx VIP
- springboot基于协同过滤算法驱动的美食推荐系统设计与实现-开题报告.doc VIP
- 高层访谈-副院长李亚平.doc VIP
原创力文档


文档评论(0)