MATLAB当中怎么用牛顿法解方程,比如:x*exp(x)-1=0这个方程,代码怎么编写那位高手帮我一下,谢谢

kimi祁杰大哥,我是说用MATLAB语言编写,这个好像是C语言吧... kimi祁杰 大哥,我是说用MATLAB语言编写,这个好像是C语言吧 展开
kimi祁杰
2010-12-23
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
#include<math.h>
#define f(x) (x*exp(x)-1=0) /*宏定义此方程*/
#define f_(x) (exp(x)+x*exp'(x)=0) /*f(x)求导*/
void main()
{
float eps,x; /*定义两个变量:误差为eps及初值x*/
printf("请输入误差限:\n");
scanf("%f",&eps);
printf("请输入初值:\n");
scanf("%f",&x);
while(fabs(f(x))>eps) /*计算导数与方程的差值并与误差比较*/
x=x-f(x)/f_(x);
printf("该方程的一个根是%f!\n",x);
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wacs5
2010-12-24 · TA获得超过1.6万个赞
知道大有可为答主
回答量:3724
采纳率:82%
帮助的人:3164万
展开全部
fun=@(x)x*exp(x)-1;
dfun=@(x)x*exp(x)+exp(x); %fun函数的导数
x0=1;
while 1
x1=x0-fun(x0)/dfun(x0)
if abs(x1-x0)<1e-8 || abs(fun(x1))<1e-10
break;
end
x0=x1;
end

fun(x1)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式