| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 572 人关注过本帖
标题:定义一个 k 函数,这样写正确吗?
只看楼主 加入收藏
dutwlsy
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-4-24
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
定义一个 k 函数,这样写正确吗?
我这里有一个程序的一部分,大家能帮我看一下这段程序正确吗?定义一个k函数,这样写正确吗?
double CF2DH_FieldCalc_316L::uf_k(long a_m, long a_l,long double  r,long double x)
{

    double k,T;
    T = m_T[1][a_m][a_l];
    x = m_det_x*a_l;      //m_det_x是一个定值,前面已经定义了,a_l是一个变量,,是从1-10000
        r = m_det_r*a_m;          //m_det_x是一个定值,前面已经定义了,a_m是一个变量,,是从1-10000
    if (x < sSpecimen.dMB_x)  
    {
        if (r < sSpecimen.dMB_r)
        {
            if ( T <=  660)
        {
            k =240.50-0.0065437*T-0.000059278*T*T;
        }
           else
        {
            k =61.1476;
        }
        }
        else
        {
           if ( T <=  660)
        {
            k =240.50-0.0065437*T-0.000059278*T*T;
        }
           else
        {
            k =61.1476;
        }
        }
    }
  else
    {
        if (r < sSpecimen.dMB_r)
        {
            if ( T <= 1398)
        {
            k =12.309 + 0.0168/T/T/T-0.0000031592*T*T;
        }
            else
        {
            k =29.62097;
        }
        }
        else
        {
            if ( T <= 1398)
        {
            k =12.309 + 0.0168/T/T/T-0.0000031592*T*T;
        }
            else
        {
            k =29.62097;
        }
        }
    }

       return k;

}
搜索更多相关主题的帖子: double 
2014-04-25 11:11
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:10 
正确与否还用问吗  自己调试一下不就ok了  

能得到预期结果  则 基本正确  否则绝对不正确

DO IT YOURSELF !
2014-04-25 11:14
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
若測試過符合要求、達到目的,就是正確的。至於這樣寫好不好,就是另一回事,這份代碼肯定寫的不好。先把代碼寫正確了,是第一步,一定要確保正確性,然後在正確的基礎上修改各項指標,用原先正確的結果去檢驗後來的修改代碼是否正確,這樣逐步遞進,直到各項指標都相對滿意。沒有一步到位的,所謂多寫,無非是這樣,不是不同類型的題目都去做,反覆雕琢比不斷創造有益得多。

[ 本帖最后由 TonyDeng 于 2014-4-25 11:37 编辑 ]

授人以渔,不授人以鱼。
2014-04-25 11:34
dutwlsy
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-4-24
收藏
得分:0 
回复 3 楼 TonyDeng
谢谢指导。
2014-04-25 13:31
dutwlsy
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-4-24
收藏
得分:0 
回复 3 楼 TonyDeng
我刚开始写程序,有很多地方还不太懂,写的代码开始肯定不是很好,我现在是想先把代码的逻辑顺序弄对了,简单的弄好了,等学好了,再对程序改进、优化。我上面那个程序是一个判断语句,想表达的意思是当x<sSpecimen.dMB_x ,r<sSpecimen.dMB_r时和x<sSpecimen.dMB_x ,r>sSpecimen.dMB_r时执行
if(T<= 660)
        {
          c = 874.4 + 0.52*T ;
        }
        else
    {
         c=1178
       }
当x>sSpecimen.dMB_x ,r<sSpecimen.dMB_r时和x>sSpecimen.dMB_x ,r>sSpecimen.dMB_r时执行

if(T<=1398)
         {
     c= 444.00681 + 0.3329*T -0.000193451 * T*T+ 0.0000000726966 *T*T*T;
         }
         else
         {
             c=729.94538;
         }
麻烦您帮我看一下我上面那个判断对吗?谢谢我刚开始写程序,有很多地方还不太懂,写的代码开始肯定不是很好,我现在是想先把代码的逻辑顺序弄对了,简单的弄好了,等学好了,再对程序改进、优化。我上面那个程序是一个判断语句,想表达的意思是当x<sSpecimen.dMB_x ,r<sSpecimen.dMB_r时和x<sSpecimen.dMB_x ,r>sSpecimen.dMB_r时执行
if(T<= 660)
        {
          c = 874.4 + 0.52*T ;
        }
        else
    {
         c=1178
       }
当x>sSpecimen.dMB_x ,r<sSpecimen.dMB_r时和x>sSpecimen.dMB_x ,r>sSpecimen.dMB_r时执行

if(T<=1398)
         {
     c= 444.00681 + 0.3329*T -0.000193451 * T*T+ 0.0000000726966 *T*T*T;
         }
         else
         {
             c=729.94538;
         }
麻烦您帮我看一下我上面那个判断对吗?谢谢
2014-04-25 13:51
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
想表达的意思是当x<sSpecimen.dMB_x ,r<sSpecimen.dMB_r时x<sSpecimen.dMB_x ,r>sSpecimen.dMB_r时执行
if(T<= 660)
        {
          c = 874.4 + 0.52*T ;
        }
        else
    {
         c=1178
       }
当x>sSpecimen.dMB_x ,r<sSpecimen.dMB_r时x>sSpecimen.dMB_x ,r>sSpecimen.dMB_r时执行

if(T<=1398)
         {
     c= 444.00681 + 0.3329*T -0.000193451 * T*T+ 0.0000000726966 *T*T*T;
         }
         else
         {
             c=729.94538;
         }


你這裡兩個描紅的“和”是什麽意思?在文字上最好描述清楚了,才能整理自己的思路,如果自然語言描述不清楚,就用數學公式。

授人以渔,不授人以鱼。
2014-04-26 11:49
dutwlsy
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-4-24
收藏
得分:0 
回复 6 楼 TonyDeng
好的,谢谢
2014-05-06 18:41
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你這段代碼讀起上來很費勁,不對照數學公式,很難說你寫的對不對。其次,這個代碼的硬編碼(魔數)太多了,應該用代數(有意義的變量名)取代具體數字,才能把意圖表達清楚。

授人以渔,不授人以鱼。
2014-05-07 09:59
快速回复:定义一个 k 函数,这样写正确吗?
数据加载中...
 
   



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

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