爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6150|回复: 6

[求助] 哪位大神可以把这段matlab程序改写成fortran程序吗

[复制链接]
气象家园蒙面人  发表于 2016-8-14 15:10:03 |阅读模式

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

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

x
求大神帮忙
QQ截图20160811175518.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-8-14 15:56:25 | 显示全部楼层
程序我给大家写一下,希望有大神帮帮我

程序如下:
clear; clc;
muX=[22;10;2]; sigmaX=[2;0.9;0.6];
sLn=sqrt(log(1+(sigmaX(1)/muX(1))^2));mLn=log(muX(1))-sLn^2/2;
aEv=sqrt(6)*sigmaX(3)/pi;uEv=-pai(1)*aEv-muX(3);
muX1=muX;sigmaX1=sigmaX;% X1:equivalent normalized variable
x=muX;normX=eps;
while abs(norm(x)-normX)/normX>1e-6
        normX=norm(x);
g=x(1)-x(2)-x(3);
gX=[1;-1;-1];
cdfX=[logncdf(x(1),mLn,sLn);1-evcdf(-x(3),uEv,aEv)];
pdfX=[logncdf(x(1),mLn,sLn);evpdf(-x(3),uEv,aEv)];
nc=norminv(cdfX);
sigmaX1(1:2:3)=normpdf(nc)./pdfX;
muX1(1:2:3)=[x(1:2:3)-nc.*sigmaX1(1:2:3)];
gs=gX.*sigmaX1;alphaX=-gs/norm(gs);
bbeta=(g+gX'*(muX1-x))/norm(gs)
x=muX1+bbeta*sigmaX1.*alphaX;
end
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-8-14 22:33:21 | 显示全部楼层
没必要改写,你可以根据数据和要求选取或编写FORTRAN程序,海量。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-8-15 07:31:01 | 显示全部楼层
自己写 或者 网上搜一下    mathwork 中 有这种函数   MATLAB 转 Fortran  
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-8-16 09:50:57 | 显示全部楼层
大力水手 发表于 2016-8-14 22:33
没必要改写,你可以根据数据和要求选取或编写FORTRAN程序,海量。

自己写了,总是有两个错误,没有办法改正,一会发程序给你看看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-8-16 09:51:25 | 显示全部楼层
aas314 发表于 2016-8-15 07:31
自己写 或者 网上搜一下    mathwork 中 有这种函数   MATLAB 转 Fortran

嗯,好谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-8-25 13:00:37 | 显示全部楼层
哭了,大佬请问改写成功了吗,特别是正态分布那一段,急需求帮助
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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