
MATLAB当中怎么用牛顿法解方程,比如:x*exp(x)-1=0这个方程,代码怎么编写那位高手帮我一下,谢谢
2个回答
展开全部
#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);
#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);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询