爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2589|回复: 1

[求助] 最小方差法拟合雨滴谱gamma分布三参数的问题

[复制链接]

新浪微博达人勋

发表于 2016-4-20 11:15:58 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
下面这个是自己编写的程序,参考彭国伦的Fortran95的对雨滴谱gamma分布求最小方差法!
雨滴谱gamma分布形式为:N(D)=X1*D^(X2)*EXP(-X3*D),其中X1,X2,X3是三个参数,现需要用最小方差求三个参数,
文件“1.txt”是一条雨滴谱的数据。
现在存在问题是:拟合出的参数带回雨滴谱形式,发现和实际雨滴谱没有一点一致,不是最小方差法的拟合。
请问问大家是什么问题?
program fit
  use IMSL
  implicit none
  integer, parameter::fileid=10
  integer, parameter::rows=1
  integer e,f,i,j,o,q,row,column
  real,parameter::pi=3.15159
  real N2(32,rows)
  real :: d(32)=(/0.0625,0.1875,0.3125,0.4375,0.5625,0.6875,0.8125,&     !雨滴谱直径
  &0.9375,1.0625,1.1875,1.375,1.625,1.875,2.125,2.375,2.75,3.25,3.75,&
  &4.25,4.75,5.5,6.5,7.5,8.5,9.5,11.0,13.0,15.0,17.0,19.0,21.5,24.5/)
  integer, parameter :: INTCEP = 0  !0:是不计算函数和X轴交点;1:是计算函数和X轴的交点
  integer, parameter :: NBASIS = 3  !应用函数由两个基本函数构成
  integer, parameter :: NDATA = 32  !输入数据数目
  integer, parameter :: IWT = 1     !使用数据N2中的值作为权重
  real, external :: N               !构建函数N
  real P(INTCEP+NBASIS)             !函数的系数
  real SSE
  open(fileid,file='1.txt',status="old")
  open(15,file='three parameter.dat')
  read(fileid,*) N2
  call FNLSQ(N, INTCEP, NBASIS, NDATA, d, N2, IWT, N2, P, SSE)
  write(*,"('N(d)='F5.2'*d**'F5.2'*exp('F5.2'*d)')") P
  write(*,*) P
stop
end program
real function N(K, X)
  implicit none
  integer K
  real X
  select case(K)
  CASE(1)
    N = X
  case(2) ! 第1种基本函数
    N = x**x
  case(3) ! 第2种基本函数
    N = exp(x)
  case default ! 错误的值
    write(*,*) "unknown"
  end select
  return
end function

1.txt

162 Bytes, 下载次数: 23, 下载积分: 金钱 -5

雨滴谱

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2024-7-23 16:07:56 | 显示全部楼层
59265_weather_YDP_value_20201230.txt
我的也是这样格式的雨滴谱数据,找不到bin格式,请问你解决了吗
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表