- 积分
- 6155
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2017-9-11
- 最后登录
- 1970-1-1
![[用户3898940107] 粉丝数:10 微博数:3 新浪微博达人勋](source/plugin/sina_login/img/light.png)
|
MATLAB
问题截图: |
|
问题概况: |
下载JRA-55数据,需要在matlab 2014a 安装编译器,安装了TDM-GCC无法识别,然后安装了SDK7.1之后安装.NET framework4 显示无法继续安装。 |
我看过提问的智慧: |
看过 |
自己思考时长(天): |
2 |
系统平台: |
win10 |
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 小莹子 于 2018-8-2 22:18 编辑
一、数据下载用FTP专业软件FileZilla批量下载JRA-55数据,之后需要用MATLAB处理。查看JRA数据说明,JRA数据是grib形式。
用matlab处理,需要下载read_grib插件之前,先要安装MinGW64编译器。
二、编译器安装
1.安装TDM-GCC
按照教程安装设置环境http://blog.sina.com.cn/s/blog_167bbdec10102x113.html,总结下就是:
第一步:下载TDM-GCC(注意看清是32位还是64位),TDM-GCC的安装路径不要包括空格; http://tdm-gcc.tdragon.net/download
第二步:新建环境变量MW_MINGW64_LOC,设置为TDM-GCC-64的安装位置;
第三步:在MATLAB命令行内运行命令setenv(‘MW_MINGW64_LOC’,folder),folder为TDM-GCC的安装位置,要加单引号; 最后,重启一下MATLAB;
问题:在matlab命令行输入mex -setup显示:错误使用mex,未找到支持的编译器或SDK。
输入mex -setup -v之后,显示:找不到已安装的编译器‘Microsoft windows SDK7.1(C)’
2.安装SDK7.1
1)SDK7.1
matlab中给出的SDK下载地址:http://www.mathworks.com/support/compilers/R2014a/win64
但是我只找到了Win7的安装包。下载下来试试。能安装成功。
输入mex -setup -v之后,显示:警告: Windows SDK 7.1 appears to be installed, but its compiler was not found. Install .NET Framework 4.0, and then rerun the SDK installation to add the "Visual C++ Compilers" component. See http://www.mathworks.com/support/solutions/en/data/1-IB1G3Q/ for more information.
2).NET Framework 4
安装SDK7.1之前必须安装.Net4.0。下载安装之后显示:您的安装将不会进行。
Microsoft .NET Framework 4 已是此操作系统的一部分。不需要安装 .NET Framework 4 可再发行组件包。<A HREF="http://go.microsoft.com/fwlink/?LinkId=164207">详细信息</A>。
已在此计算机上安装相同或更高版本的 .NET Framework 4。
博客中说:针对matlab找不到编译器问题,matlab官方给的解决方法是下载SDK7.1,而安装SDK7.1需要安装.Net 4.0。win10默认安装的是4.6,所以安装不了SDK7.1。
3)尝试安装更高版本的.NET Framework
官网下载安装4.7.2,安装失败。显示:产生阻滞的问题:此系统不支持.NET Framework 4.7.2。根据阻滞安装的详细信息,查找原因。
不能再已有的版本上安装旧版本,如何确定当前.NET版本?
通过查看注册表来查找 .NET Framework 版本(.NET Framework 4.5 和更高版本)To find .NET Framework versions by viewing the registry (.NET Framework 4.5 and later)- 在“开始”菜单上,选择“运行”。
- 在“打开”框中,输入“regedit.exe”。
你必须具有管理凭据才能运行 regedit.exe。 - 在注册表编辑器中,打开以下子项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
右侧显示: release REG_DWORD 0*0006004f(393295),该值指示的是安装的.NET的版本。393295——仅在Windows 10系统上,.NET Framework 4.6
官方网站:https://docs.microsoft.com/zh-cn ... sions-are-installed
现在陷入僵局,请问怎么解决编译器的问题那?
三、Matlab 2016a安装
转为matlab2016a
下载安装:
http://www.xue51.com/soft/3355.html#xzdz
https://pan.baidu.com/s/1nwFIDXf ... tPath=%2Fxue51_2018
clc;
clear;
setenv('MW_MINGW64_LOC','C:\TDM-GCC-64'); %配置编译器
mex -setup -v %查看编译器能否被找到
mex -setup %查看是哪个编译器
mex -setup C++
%%进入read_grib文件中启动程序
cd F:\MATLAB\JRA\read_grib\read_grib1.4.0
mex BDS_unpack_mex5.c
%%进入数据文件中读取grib数据
cd F:\..\jradata
gribname='anl_surf125.197901';
read_grib(gribname,'invent');
未定义函数或变量 'read_grib'。
帖子:http://blog.sina.com.cn/s/blog_5d7295010101ia5b.html
要read_grib.m真正起作用,需要“安装”和“编译”两步。
1)查找startup.m文件路径:E:\Matlab2016a\install\toolbox\local,但是startupsav.m,所以按照帖子上的方法处理。
2)将read_grib拷贝至E:\Matlab2016a\install\toolbox\目录下
3)打开E:\MATLABR2016a\toolbox\local\pathdef.m文件,打开,添加路径。
matlabroot,'\toolbox\read_grib\read_grib1.4.0;',...
4)运行rehash toolboxcache命令,完成工具箱加载
>>rehash toolboxcache
5)重启Matlab,在命令窗口中运行
>>what read_grib1.4.0
关于“编译”
1)切换到read_grib1.4.0目录下
>>cd ([matlabroot '\toolbox\read_grib\read_grib1.4.0']);
2)编译
>>mex BDS_unpack_mex5.c
3)运行rehash toolboxcache命令,完成工具箱加载
>>rehash toolboxcache
5)重启Matlab,完成!!!
read_grib(gribname,'invent')
错误使用 fileparts
输出参数太多。
出错 read_grib (line 77)
[fpath,fname,fext,fver]=fileparts(gribname);
参数太多,删除,如何删除?
发现是原始数据下载的有问题,anl_surf125有好几层,我只需要code figure=11的 Temperature。
四、JRA-55再下载
根据https://blog.csdn.net/nj_yttp/article/details/53453220JRA-55数据预处理模块:
第一步:确认数据变量的层次数目(可做可不做):在CMD或者LINUX中命令中输入wgrib{文件名},查看数据的层次等信息,以确认层次的数目(注意wgrib.exe需要事先下载好并将其路径添加到环境变量中去)
第二步:修改.ctl文件中的路径,保存
第三步:编写合并多个GRIB文件的.gs文件,并用GRADS运行,生成合并后的.grd文件
1.wgrib.exe下载
http://www.cpc.ncep.noaa.gov/products/wesley/wgrib.html 之windows(gcc/cygwin)ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib/machines/
|
|