当前位置:

首页 > 软件教程 > 使用指针和牛顿迭代法编写解方程fx=2x^3+4x^2的C语言函数

使用指针和牛顿迭代法编写解方程fx=2x^3+4x^2的C语言函数

C语言编程指针编写函数用牛顿迭代法方程fx2x34x23x6#include#includedoubleroot(double(*f)(double),double(*f1)(double),doublex,doubleeps);doublefx(doublex){return2*x*x*x-4*x*x+3*x-6;}doublefp(doublex){return6*x*x-8*x+3;}intmain(){doublex=1.5,y,eps=1e-08;printf("inputeps1e-08\n"

本文目录

    C语言编程指针编写函数用牛顿迭代法方程fx 2x34x2

    C语言编程指针编写函数用牛顿迭代法方程fx 2x34x2 3x6

    #include

    #include

    double root(double (*f)(double),double (*f1)(double), double x,double eps);

    double fx(double x){

    return 2*x*x*x-4*x*x+3*x-6;

    }

    double fp(double x){

    return 6*x*x-8*x+3;

    }

    int main()

    {

    double x=1.5,y,eps=1e-08;

    printf("input eps 1e-08\n"); scanf("%lf",&eps);

    y = root(fx,fp,x,eps);

    printf("%lf\n",y);

    return 0;

    }

    double root(double (*f)(double x),double (*f1)(double x), double x,double eps){

    double x0,x1;

    x0=x;

    while(1){

    x1= x0 - (*f)(x0)/ (*f1)(x0);

    if (fabs(x1-x0)

    x0=x1;

    };

    return x1;

    }

    运行与输出:

    input eps 1e-08

    1e-08

    2.000000

    C语言编程牛顿迭代法sinxx2在x pi附近的一个实根精度小于104

    (n))^2-sinx(n)-1]/[18x(n)-cosx(n)].

    取x(0)=0.5,

    x(1)=0.405129911,

    x(2)=0.392101462,

    x(3)=0.391847004,

    x(4)=0.391846907,

    3次迭代已经得到四位近似值x=0.3918.

    二分法: f(x)=9x^2-sinx-1.

    f(0)=-1,f(1)=7.15853,f(0.5)=0.770577.

    f(0.25)=-0.68490,

    f[(0.25+0.5)/2]=f(0.375)=-0.10065,

    f[(0.375+0.5)/2]=f(0.4375)=0.29898,

    f[(0.375+0.4375)/2]=f(0.40625)=0.09018,

    ......

    要13次左右才能得到四位近似值.

    C语言编程中牛顿迭代法是什么

    牛顿迭代法是一种常用的计算方法,这个大学大三应该学过。

    具体为:设r是f(x) = 0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y = f(x)的切线L,L的方程为y = f(x0)+f'(x0)(x-x0),出L与x轴交点的横坐标 x1 = x0-f(x0)/f'(x0),称x1为r的一次近似值。过点(x1,f(x1))做曲线y = f(x)的切线,并该切线与x轴交点的横坐标 x2 = x1-f(x1)/f'(x1),称x2为r的二次近似值。重复以上过程,得r的近似值序列,其中x(n+1)=x(n)-f(x(n))/f'(x(n)),称为r的n+1次近似值,上式称为牛顿迭代公式。

    你把这段文字认真仔细慢慢读一遍,把给的方程式写出来,然后照这个在纸上画出图形,就会明白牛顿迭代法的概要了。

    你讲的xopint?root?float?这些都是自己定义的函数。float是c语言中定义浮点型变量的写法。

    #include

    #include

    void main()

    {

    float f(float);

    float xpoint(float,float);

    float root(float,float);

    float x,x1,x2,f1,f2;

    do

    {

    printf("输入x1,x2\n\n");

    scanf("%f%f",&x1,&x2);

    f1=f(x1);

    f2=f(x2);

    }while(f1*f2>0);

    x=root(x1,x2);

    printf("方程在1.5附近的根为:%f\n\n",x);

    }

    float f(float x)//定义一个f函数,返回值y

    {

    float y;

    y=2*x*x*x-4*x*x+3*x-6;

    return(y);

    }

    float xpoint(float x1,float x2)//定义一个带返回值的函数即y,也就是y的函数,main()中调用

    {

    float y;

    y=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));

    return(y);

    }

    float root(float x1,float x2)//这也是定义一个函数,是根的函数,利用了上面自己定义的函数

    {

    float x,y,y1;

    y1=f(x1);

    do

    {

    x=xpoint(x1,x2);

    y=f(x);

    if(y*y1>0)

    {

    y1=y;

    x1=x;

    }

    else

    x2=x;

    }while(fabs(y)>1e-4);

    return(x);

    }

    建议你看看c 语言教程,上面讲得很详细噢。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    软件教程
    相关文章 更多
    百度地图怎么查看实时公交到站信息教程
    百度地图怎么查看实时公交到站信息教程

    进入百度地图公交查询的“查公交”或“附近实时公交”,选择正确站点、线路和方向,即可在有数据的线路查看实时到站提示。教程说明剩余站数、方案上车站信息和整段行程预计用时的区别,以及方向选错和预测延迟的处理方法。

    百度地图驾车语音包怎么更换喜欢的声音
    百度地图驾车语音包怎么更换喜欢的声音

    在百度地图语音包页面选择喜欢的声音,下载完成后点击“使用”或“立即使用”,核对目标条目显示“使用中”或设置成功提示即可。教程区分试听、下载和应用状态,并说明下载停滞、音频输出及自动切换的排查方法。

    百度地图电脑版网页端怎么规划路线
    百度地图电脑版网页端怎么规划路线

    电脑上打开百度地图网页版,选择出行方式并填写起终点,搜索后比较路线方案,再展开逐段道路明细即可完成规划。教程说明同名地点和入口核对、预计时间与距离的含义,以及网页规划和手机实时导航的区别。

    百度地图如何测量两点之间的实际距离
    百度地图如何测量两点之间的实际距离

    百度地图“测距”可读取所选两点的连线距离,实际步行或驾车里程应填写起终点并查看道路路线的公里数。教程用网页实例说明测距入口、双击结束、路线明细,以及选点、取整、绕行和出行方式对距离判断的影响。

    百度地图卫星地图怎么切换查看实景
    百度地图卫星地图怎么切换查看实景

    在百度地图电脑网页版展开地图类型,选择“地球”查看卫星影像,选择“全景”并点击覆盖道路可进入地面实拍。教程展示两类画面的切换与完成状态,并说明影像时间、全景覆盖和加载异常,避免把历史影像当成实时监控。

    百度地图足迹怎么开启并查看历史轨迹
    百度地图足迹怎么开启并查看历史轨迹

    在百度地图足迹设置中打开本地足迹记录,再进入“我的—足迹—详情”查询历史轨迹。记录与云端同步需要分别确认,开启开关不能补回从未保存的旧路线;教程说明查询分类、空结果、账号同步和定位权限的检查方法。

    百度地图离线导航怎么用才能节省手机流量
    百度地图离线导航怎么用才能节省手机流量

    百度地图要节省离线导航流量,应先在Wi-Fi下下载全国基础包和沿途离线导航数据,再试算驾车路线并核对导航状态。教程说明底图与导航包的区别、离线优先选项,以及弱网使用、数据不完整和定位异常的排查方法。

    Yandex官网入口及网页搜索使用方法
    Yandex官网入口及网页搜索使用方法

    Yandex官网入口是https://www.yondex.net/,该平台支持多语言切换、智能搜索匹配、虚拟键盘变更及实时翻译,提供地图、图片、新闻、购物等垂直服务,并具备账户同步、隐私管理、个性化首页和云存储等功能。

    腾讯会议Windows版设置虚拟背景图片完整指南
    腾讯会议Windows版设置虚拟背景图片完整指南

    面向需要在腾讯会议中隐藏真实环境的Windows用户,本文详解如何开启并自定义虚拟背景。针对背景杂乱或人物边缘抖动痛点,提供从进入“虚拟背景和美颜”设置、添加本地JPG/PNG图片、调整镜像方向到优化光线与距离的完整步骤。同时涵盖绿幕取色技巧及遇到设备不支持时的驱动更新与替代方案,帮助用户快速获得清晰的视频会议画面。

    腾讯会议Windows版主持人权限转移操作指南
    腾讯会议Windows版主持人权限转移操作指南

    面向需要在腾讯会议Windows客户端中移交管理权的用户,解决因原主持人需离场或更换管理者导致的权限交接需求。本文详解在成员管理列表中定位接任者、通过“更多”菜单执行“设为主持人”的具体步骤,并区分联席主持人与完全主持人的权限差异。同时说明操作前的身份确认要点及转移后原主持人变为普通成员的后果,帮助用户安全、准确地完成会议主导权移交。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。