| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 243 人关注过本帖
标题:新手求解答 一个简单的程序问题
只看楼主 加入收藏
a513210
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-4-19
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
新手求解答 一个简单的程序问题
#include<stdio.h>
#include<math.h>
main()
{
    double a=-3.0,b=5.0,a1,a2,y1,y2;
    double e=0.1,l=0.618;
    a1=b-l*(b-a);
    a2=a+l*(b-a);
    y1=pow(a1,2)+2*a1;
    y2=pow(a2,2)+2*a2;
    do
    {
        if(y1>=y2)
        {
            a=a1;
            a1=a2;
            y1=y2;
            a2=a+l*(b-a);
            y2=pow(a2,2)+2*a2;
        }
        else
        {
            b=a2;
            a2=a1;
            y2=y1;
            a1=b-l*(b-a);
            y1=pow(a1,2)+2*a1;/*这里以上的变量结果和书上对照过,都一样*/
        }
    }
    while(fabs(y2-y1)>e);/*就是这里 貌似跳不出去*/
        a=(a+b)/2;
        printf("最优解为:%d\n",a);
    }

这是用黄金分割法 求y=a*a+2*a 的极小点  do语句里的计算和书上的一样 但是没法判断跳出while循环 有人知道么 求解答
搜索更多相关主题的帖子: double include 
2011-04-19 21:25
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:20 
printf("最优解为:%lf\n",a);

应该是这样  你的格式错了

                                         
===========深入<----------------->浅出============
2011-04-19 21:34
a513210
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-4-19
收藏
得分:0 
谢谢  你说得对  我太不认真了 看了快2个小时了........
2011-04-19 21:45
快速回复:新手求解答 一个简单的程序问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015540 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved