二分法matlab编程代码及注释(MATLAB二分法求方程的近似解)

matlab二分法求解实例关注:95答案:2mip版解决时间2021-01-2801:44提问者人潮拥挤你不在2021-01-2718:57求函数f=x^3+2*x^2+x-5(-2,2)为区间起点和终点,10^-4为精度>>a=-2;b=2;x=a:b;f=@(x)x^3+2*x^2+x-5;c=(a+b)./2;whileabs(b-a)>1e-6i…

大家好,又见面了,我是你们的朋友全栈君。

matlab二分法求解实例

关注:95  答案:2  mip版

解决时间 2021-01-28 01:44

e6cb1a03ad541b3098697807b7bf1798.png

提问者人潮拥挤你不在

2021-01-27 18:57

求函数 f=x^3+2*x^2+x-5 (-2,2)为区间起点和终点,10^-4为精度

>> a=-2;

b=2;

x=a:b;

f = @(x)x^3+2*x^2+x-5;

c=(a+b)./2;

while abs(b-a)>1e-6

if f(c)*f(b)<0

a=c;

else

b=c;

end

c=(a+b)./2;

x=c;

end

fprintf(‘\n x = %.5f, f(x) = %.5f \n’, x, f(x));

如果区间有两个,分别有一个零点,即x1,x2;需要怎么改动输出两个零点值啊

最佳答案

e6cb1a03ad541b3098697807b7bf1798.png

二级知识专家青春敷年華

2021-01-27 19:25

那调用两次不就ok了。区间你是用a、b定义的嘛。

全部回答

e6cb1a03ad541b3098697807b7bf1798.png

1楼雨落轻尘

2021-01-27 19:40

>> f=inline(‘x^2-x-2’);

>> [c,err,yc]=bisect(f,0,3,0.01)

c =

2.0010

err =

0.0059

yc =

0.0029

———–

%使用二分法 求解上面超越方程

%下面是二分法的函数文件,你直接设置输入参数就可以了

function [c,err,yc]=bisect(f,a,b,delta)

%input – f is the function

% – a and b are the left and right endpoints

% – delta is the tolerance

%output – c is the zero

% – yc= f(c)

% – err is the error estimate for c

%if f is defined as an m-file function use the @ notation

% call [c,err,yc]=bisect(@f,a,b,delta).

%if f is defined as an anonymous function use the

% call [c,err,yc]=bisect(f,a,b,delta).

% numerical methods: matlab programs

% (c) 2004 by john h. mathews and kurtis d. fink

% complementary software to accompany the textbook:

% numerical methods: using matlab, fourth edition

% isbn: 0-13-065248-2

% prentice-hall pub. inc.

% one lake street

% upper saddle river, nj 07458

ya=f(a);

yb=f(b);

if ya*yb > 0,return,end

max1=1+round((log(b-a)-log(delta))/log(2));

for k=1:max1

c=(a+b)/2;

yc=f(c);

if yc==0

a=c;

b=c;

elseif yb*yc>0

b=c;

yb=yc;

else

a=c;

ya=yc;

end

if b-a < delta, break,end

end

c=(a+b)/2;

err=abs(b-a);

yc=f(c);

我要举报

如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

→点此我要举报以上信息!←

推荐资讯

大家都在看

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128113.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • String:字符串常量池

    String:字符串常量池

    2021年6月11日
    86
  • 企业联合体的形式_企业联合体「建议收藏」

    企业联合体的形式_企业联合体「建议收藏」企业联合体企业联合体企业联合体定义企业联合体定义::属于经济联合体的一种联合体表现形式(最大经济联合体是欧盟),完全区别于联合公司和战略合作伙伴的联合体,具体是集团公司或者是交叉参股的公司组建的一个企业(联合体)。该联合体应大于两家组建企业。企业联合体职能企业联合体职能::企业联合体可具有独立的法人代表、独立的品牌体系、独立的运作系统,企业联合体也可以是整合资源、共建平台的非独立企业联合体;共同建…

    2025年6月2日
    0
  • 数据库置疑处理_sqlserver可疑数据库恢复

    数据库置疑处理_sqlserver可疑数据库恢复现象说明:新备份出的数据库Geb,在还原时报错”MicrosoftSQL-DMO(ODBCSQLState:42000)” 解决方法: 分离出还原失败的数据库Geb 先创建一个同样的数据库Geb 停掉server服务,用旧的数据文件覆盖新创建的文件(只要mdf就可以)。  启动server服务  运行以下命令  sp_configur

    2022年8月22日
    3
  • Vue的axios封装

    Vue的axios封装Vue 的 axios 封装在 vue 项目中 经常需要封装 axios 文档又看不懂 所以总结一下方法 安装 npminstallax 安装 axios 引入在项目的 src 目录中 新建一个 request 文件夹 然后在里面新建一个 http js 和一个 api js 文件 http js 文件用来封装我们的 axios api js 用来统一管理我们的接口 在 http js 中引入 axiosimporta axios 引入 axiosimportQ

    2025年7月10日
    1
  • python hexdump_细说Linux中怎么用hexdump命令

    python hexdump_细说Linux中怎么用hexdump命令摘要:hexdump描述:hexdump命令一般用来查看”二进制”文件的十六进制编码,从手册上查看,其查看的内容还要很多,诸如:ascii,decimal,hexadecimal,octal参数:hexdump[-bcCdovx][-eformat_string][-fformat_file][-nlength][-sskip]file示例:新增一个文本文件,在test…

    2022年9月16日
    0
  • git cherry-pick详解_git discard

    git cherry-pick详解_git discard概述gitcherry-pick可以理解为”挑拣”提交,它会获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上。当我们需要在本地合入其他分支的提交时,如果我们不想对整个分支进行合并,而是只想将某一次提交合入到本地当前分支上,那么就要使用gitcherry-pick了。用法gitcherry-pick[&amp;lt;options&amp;gt;]&amp;lt;commit-is…

    2022年8月22日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号