fortran log的表示问题 运行错误 意思是说 没有alog这个数组 fortran里不是自定义了这个函数?

real::tw(0:n)!湿球温度估算值序列real::etireal::etw!饱和水汽压real,parameter::a=8.15*10**(-4)real::e... real::tw(0:n) !湿球温度估算值序列
real::eti
real::etw !饱和水汽压
real,parameter::a=8.15*10**(-4)
real::ej(0:n) !水汽压的计算值
real::err(0:n) !计算误差
real::ermin !计算误差的最小值
real::twmin !合理的湿球温度

do while(.true.)

!输入变量
write(*,*)"相对湿度为"
read(*,*)u
write(*,*)"干球温度为"
ead(*,*)t
write(*,*)"本站气压为"
read(*,*)p
!计算水汽压 t0=273.15+t
if(t>0)then
alog10(eti)=10.79574*(1-t1/t0)-5.02800*alog10(t0/t1)+1.50475*10**(-4)*(1-10**((-8.2969*(t0/t1-1))))+0.42873*10**(-3)*(10**(4.76955*(1-t1/t0))-1)+0.78614
else
alog10(eti)=-9.09685)*(t1/t0-1)-3.56654*alog10(t1/t0)+0.87682*(1-t0/t1)+0.78614
end if
e=eti*u
!算出误差序列
tw(0)=t-15
do i=0,n
if(tw(i)>0)then
alog10(etw)=10.79574*(1-t1/t0)-5.02800*alog10(t0/t1)+1.50475*10**(-4)*(1-10**((-8.2969*(t0/t1-1))))+0.42873*10**(-3)*(10**(4.76955*(1-t1/t0))-1)+0.78614
else
alog10(etw)=-9.09685)*(t1/t0-1)-3.56654*alog10(t1/t0)+0.87682*(1-t0/t1)+0.78614
end if
ej(i)=etw-a*p*(t-tw(i)) !算出水汽压的计算值
err(i)=abs(e-ej(i))
if(i==n) exit
tw(i+1)=tw(i)+0.01
end do
!算出最合适的湿球温度
errmin=err(0)
do i=1,n
if(err(i)<err(i-1))then
errmin=err(i)
end if
twmin=tw(i) end do
write(*,"('合理的湿球温度为',F5.1)") twmin
end do
stop end

请达人修改,谢谢。主要是两个公式 我不会怎么表示

log(eti)=10.79574*(1-t1/t0)-5.02800*log(t0/t1)+1.50475*10**(-4)*(1-10**((-8.2969*(t0/t1-1))))+0.42873*10**(-3)*(10**(4.76955*(1-t1/t0))-1)+0.78614

log(eti)=-9.09685)*(t1/t0-1)-3.56654*log(t1/t0)+0.87682*(1-t0/t1)+0.78614
展开
 我来答
天河流纹石
2013-03-21 · TA获得超过1.3万个赞
知道大有可为答主
回答量:7624
采纳率:76%
帮助的人:4829万
展开全部
alog10(eti)=10.79574*(1-t1/t0)-5.02800*alog10(t0/t1)+1.50475*10**(-4)*(1-10**((-8.2969*(t0/t1-1))))+0.42873*10**(-3)*(10**(4.76955*(1-t1/t0))-1)+0.78614

这句你想做什么?
等号左边是alog10(eti) 是一个函数返回值。
等号右边是一个表达式。
你不能让一个函数返回值等于一个表达式。这从逻辑上就是说不通的。
你是想解方程么?
更多追问追答
追问
恩 就是通过这个表达式  算出 eti    不知道标准的fortran语句怎么通过这个公式算出或者表示出eti  下面的计算要用到这个值。
追答
如果你要算 eti,那么应该写成:
eti = ...
这样的形式。
直接写一个方程在哪里,编译器不会帮你解方程。任何编译器都不可能。
为什么?

f1(x) = f2(y,z)
你说解 x,为什么不是解 y 呢?为什么不是解 z 呢?
编译器凭什么认为是在解 eti ?而不是解出 t0 t1 ??

如果你需要解方程,那么自己推算公式,最后写成显式的式子:
eti = 某个表达式
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
_whales
2013-03-22 · TA获得超过2282个赞
知道大有可为答主
回答量:1814
采纳率:85%
帮助的人:621万
展开全部
1)另外定义一个实数
real::logeti
2)然后
if .... then
logeti=10.79574*(1-t1/t0)-5.02800*alog10(t0/t1)+1.50475*10**(-4)*(1-10**((-8.2969*(t0/t1-1))))+0.42873*10**(-3)*(10**(4.76955*(1-t1/t0))-1)+0.78614
else
logeti =-9.09685)*(t1/t0-1)-3.56654*alog10(t1/t0)+0.87682*(1-t0/t1)+0.78614
endif
如果需要求
eti

eti=10**logeti
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式