首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实数乘法

实数乘法
EN

Stack Overflow用户
提问于 2016-07-24 22:27:29
回答 1查看 156关注 0票数 0

我有一个代码,它包含一些实数的乘法事件,无论输入变量如何,我总是得到那个特殊子程序的答案为零。

所有变量都是声明的real*4类型,并且具有类似于a=5、b=3.5和c=0.0005之类的值。

我正在使用柏拉图IDE

`

代码语言:javascript
复制
Subroutine Load_Modulation_100()

Real*4  ::  Te      
Real*4  ::  Ee      
Real*4  ::  Et      
Real*4  ::  QLHV    
Real*4  ::  mfg     
Real*4  ::  Qfeul   
Real*4  ::  mf      
Real*4  ::  Pe      
Real*4  ::  Pt

Te      =   100  
Ee      =   28.2  
mf      =   0.0005  
QLHV    =   47141  
Et      =   66.8    
Cpfg    =   4.5  

            Qfeul = (mf * QLHV)
            Pe = (Qfeul * (Ee / 100))
            Pt = (Qfeul * (Et / 100))

Write (*,*) Pe, 'kW'  
Write (*,*) Pt, 'kW'  

End Subroutine Load_Modulation_100`
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-25 08:10:58

可能不是这样,但整数截断可能是个问题.我会更加明确,也许会使用一些调试。

代码语言:javascript
复制
Subroutine Load_Modulation_100()
IMPLICIT NONE 
Real*4  ::  Te      
Real*4  ::  Ee      
Real*4, PARAMETER  ::  Et = 66.8E0
Real*4  ::  QLHV    
Real*4  ::  mfg     
Real*4  ::  Qfeul   
Real*4  ::  mf      
Real*4  ::  Pe      
Real*4  ::  Pt
LOGICAL*4  ::  IO = .TRUE.

! Te      =   100  ! This is a float, it just does;t jump off the page as one
Te      =   100.0E0  !
Ee      =   28.2  
mf      =   0.0005  
QLHV    =   47141  ! This is a float, it just does't jump off the page as one
!Moved to parameter Et      =   66.8    
Cpfg    =   4.5  

     IF(IO) WRITE(*,*)' (Ee / 100)=', (Ee / 100)
        Qfeul = (mf * QLHV)
!        Pe = (Qfeul * (Ee / 100))
        Pe = (Qfeul * (Ee / FLOAT(100)))
!        Pt = (Qfeul * (Et / 100))
        Pt = (Qfeul * (Et / 100.0E0))

Write (*,*) Pe, 'kW'  
Write (*,*) Pt, 'kW'  

RETURN
End Subroutine Load_Modulation_100!`
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38557447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档