爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 9348|回复: 4

[程序设计] MATLAB绘位势高度和温度图,m_contourf语句一直提示错误

[复制链接]

新浪微博达人勋

发表于 2022-3-25 22:25:16 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 月城明熙 于 2022-3-25 22:29 编辑

clc;clear;close all;

namelist=['E:\z.201103.nc'];
lat   = ncread(namelist,'latitude');
lon   = ncread(namelist,'longitude');
plev   = ncread(namelist,'level');

for t=1:24%:24
    year_c=2011;
    month_c=3;
    day_c=22;
    hour_c=t;
    plev_c=300;

    namelist2=['E:\z.',num2str(year_c),'0',num2str(month_c),'.nc'];
    if day_c<21
         Tmboxo1  = ncread(['E:\z.201103.nc'],'time');
        Tmboxo2  = ncread(['E:\t.201103.nc'],'time');
        h        = ncread(['E:\z.201103.nc'],'z',[1 1 find(plev==plev_c) hour_c+(day_c-1)*24],[length(lon) length(lat) 1 1]);
        T        = ncread(['E:\t.201103.nc'],'t',[1 1 find(plev==plev_c) hour_c+(day_c-1)*24],[length(lon) length(lat) 1 1]);
    else
        Tmboxo1   = ncread(['E:\z.201103.nc'],'time');
        Tmboxo2   = ncread(['E:\t.201103.nc'],'time');
        z        = ncread(['E:\z.201103.nc'],'z',[1 1 find(plev==plev_c) hour_c+(day_c-1)*24],[length(lon) length(lat) 1 1]);
        T        = ncread(['E:\t.201103.nc'],'t',[1 1 find(plev==plev_c) hour_c+(day_c-1)*24],[length(lon) length(lat) 1 1]);

    end





    Tmbox1    = datevec(double(Tmboxo1)/24+datenum(1900,1,1));
    Tmbox2    = datevec(double(Tmboxo2)/24+datenum(1900,1,1));
    if Tmbox1==Tmbox2
        year_c1=Tmbox1(hour_c+(day_c-1)*24,1);
        month_c1=Tmbox1(hour_c+(day_c-1)*24,2);
        day_c1=Tmbox1(hour_c+(day_c-1)*24,3);
        hour_c1=Tmbox1(hour_c+(day_c-1)*24,4);
    end

     z = permute(z,[2,1]);
    T = permute(T,[2,1]);
    %speed=sqrt(u.^2+v.^2);
    lat=lat(end:-1:1);
    z =z(end:-1:1,:);
    T =T(end:-1:1,:);

    [x,y]=meshgrid(lon,lat);
    cosdd=cosd(y);
   xxx=x*111700.*cosdd;
    yyy=y*111700;
    z=nan*zeros(length(lat),length(lon));
    T=nan*zeros(length(lat),length(lon));
    %for i=2:721-1
     %   for j=2:1440-1
      %      divv(i,j)=(u(i,j+1)-u(i,j-1))/(xxx(i,j+1)-xxx(i,j-1))+(v(i+1,j)-v(i-1,j))/(yyy(i+1,j)-yyy(i-1,j));
       % end
    %end

    %for i=2:721-1
     %   for j=2:1440-1
      %      vorrt(i,j)=(v(i,j+1)-v(i,j-1))/(xxx(i,j+1)-xxx(i,j-1))-(u(i+1,j)-u(i-1,j))/(yyy(i+1,j)-yyy(i-1,j));
       % end
    %end

    %divv=divv*10^6;
    %vorrt=vorrt*10^6;

    hhh=figure;
    set(hhh,'visible','off');
    axes('Position',[.1 .15 .8 .7]);
    m_proj('equidistant','lat',[18 60],'lon',[60 150]);
    [x,y]=meshgrid(lon,lat);
    hold on;

     c1=200:4:500;
      m_contourf(x,y,z,c1,'linestyle','-');
%m_contourf(x,y,z,c1,'linewidth',0.2,'linestyle','-','color','w');
%[cs,h]=m_contour(x,y,z,'levellist','color','r','linewidth',1,'linestyle','-');
    % hold on;
    %[cs,h]=m_contour(x,y,T,'levellist','color','r','linewidth',1,'linestyle','-');
   % set(h,'ShowText','on','TextList',[60]);
   % hcl=clabel(cs,h,'fontsize',12,'color','r','margin',0.2,'background','w','labelspacing',600);
    %set(hcl,'name','value');
   % for i = 1:length(hcl)
    %    oldLabelText = get(hcl(i), 'String');
     %   percentage = str2double(oldLabelText)*1;
      %  newLabelText = [num2str(percentage) 'gpm'];
     %   set(hcl(i), 'String', newLabelText);
   % end
   % hold on;



    c=-40:4:50;
   m_contourf(x,y,T,c,'linewidth',0.2,'linestyle','-','color','w');
    hold on;
%     [cs,h]=m_contour(x,y,divv,'levellist',[-0.5],'color','k','linewidth',1,'linestyle','-');
%     set(h,'ShowText','on','TextList',[-0.5]);
%     clabel(cs,h,'fontsize',8,'color','k','margin',0.2,'background','w','labelspacing',600);
%     hold on;
%     [cs,h]=m_contour(x,y,divv,'levellist',[0.5],'color','k','linewidth',1,'linestyle','-');
%     set(h,'ShowText','on','TextList',[0.5]);
%     clabel(cs,h,'fontsize',8,'color','k','margin',0.2,'background','w','labelspacing',600);
%     hold on;
%     [cs,h]=m_contour(x,y,divv,'levellist',[-1 2],'color','k','linewidth',1,'linestyle','-');
%     set(h,'ShowText','on','TextList',[-2 2]);
%     clabel(cs,h,'fontsize',8,'color','k','margin',0.2,'background','w','labelspacing',600);
%     hold on;


    n=10;
    for i=1:n
        colormap1(i,1:3)=[i/n i/n 1];
        colormap1(n,1:3)=[1 1 1];
        colormap1(i+n,1:3)=[1 (n+1-i)/n (n+1-i)/n];
        colormap1(n+1,1:3)=[1 1 1];
    end
    map=colormap(colormap1);
    caxis([min(c) max(c)]);
    h=colorbar('southoutside','position',[0.25 0.05 0.5 0.03]);
    set(h,'xlim',[min(c) max(c)],'xtick',c(1:2:end),'FontSize',10);
        %colorbar;
    %
    hold on;




    hold on;
    a=shaperead('bou2_4p.shp');%读取shp文件的内容
    bou1_4lx=[a(:).X];%提取经度信息
    bou1_4ly=[a(:).Y];%提取纬度信息
    m_plot(bou1_4lx,bou1_4ly,'Color',[0.7 0.7 0.7],'linewidth',1);%绘图
    hold on;

    % r=load('J:\Work_1\map\China.txt');
    % bou1_4lx=r(2:end,1);%提取经度信息
    % bou1_4ly=r(2:end,2);%提取纬度信息
    % m_plot(bou1_4lx,bou1_4ly,'Color','r','LineWidth',1);%绘图
    % hold on;

    % r=load('J:\Work_1\map\YellowRiver.txt');
    % bou1_4lx=r(2:end,1);%提取经度信息
    % bou1_4ly=r(2:end,2);%提取纬度信息
    % m_plot(bou1_4lx,bou1_4ly,'Color','r','LineWidth',2);%绘图
    % hold on;
    % r=load('J:\Work_1\map\YangtzeRiver.txt');
    % bou1_4lx=r(2:end,1);%提取经度信息
    % bou1_4ly=r(2:end,2);%提取纬度信息
    % m_plot(bou1_4lx,bou1_4ly,'Color','r','LineWidth',2);%绘图

    m_coast('color',[0.7 0.7 0.7],'LineWidth',1);



    % hold on;
    % lat_c1=40;
    % lat_c2=60;
    % lon_c1=80;
    % lon_c2=120;
    % m_line(lon_c1:0.5:lon_c2,lat_c1*ones(1,length(lon_c1:0.5:lon_c2)),'LineWidth',2,'color',[.2 .6 .1],'linestyle','--');
    % m_line(lon_c1:0.5:lon_c2,lat_c2*ones(1,length(lon_c1:0.5:lon_c2)),'LineWidth',2,'color',[.2 .6 .1],'linestyle','--');
    % m_line(lon_c1*ones(1,length(lat_c1:0.5:lat_c2)),lat_c1:0.5:lat_c2,'LineWidth',2,'color',[.2 .6 .1],'linestyle','--');
    % m_line(lon_c2*ones(1,length(lat_c1:0.5:lat_c2)),lat_c1:0.5:lat_c2,'LineWidth',2,'color',[.2 .6 .1],'linestyle','--');
    % hold on;
    % lat_c1=35;
    % lat_c2=41;
    % lon_c1=110;
    % lon_c2=122;
    % m_line(lon_c1:0.5:lon_c2,lat_c1*ones(1,length(lon_c1:0.5:lon_c2)),'LineWidth',2,'color','k','linestyle','--');
    % m_line(lon_c1:0.5:lon_c2,lat_c2*ones(1,length(lon_c1:0.5:lon_c2)),'LineWidth',2,'color','k','linestyle','--');
    % m_line(lon_c1*ones(1,length(lat_c1:0.5:lat_c2)),lat_c1:0.5:lat_c2,'LineWidth',2,'color','k','linestyle','--');
    % m_line(lon_c2*ones(1,length(lat_c1:0.5:lat_c2)),lat_c1:0.5:lat_c2,'LineWidth',2,'color','k','linestyle','--');
    % hold on;




    m_grid('xtick',[60,70,80,90,100,110,120,130,140,150],'xticklabels',[' 60\circE';' 70\circE';' 80\circE';' 90\circE';'100\circE';'110\circE';'120\circE';'130\circE';'140\circE';'150\circE'],'ytick',[20,30,40,50,60],'yticklabels',['20\circN';'30\circN';'40\circN';'50\circN';'60\circN'],'TickDir','out','LineWidth',3,'FontSize',14);
    set(gca,'xgrid','on','ygrid','on');
    set(gcf,'Color','w');



    m_line(112.63,37.75,'marker','o','markerfacecolor','g','markeredgecolor','g','markersize',5);
    m_text(151,37.75,'Time: 13:30','fontsize',8,'color','k');
    m_text(151,35.75,'Hight: 8400m','fontsize',8,'color','k');
    m_text(151,33.75,'Strength: Severe','fontsize',8,'color','k');


    m_text(80,63,['Hgt and Temperature at ',num2str(plev_c),' hPa on ',num2str(year_c1),' - ',num2str(month_c1),' - ',num2str(day_c1),' - ',num2str(hour_c1),':00'],'fontsize',12,'color','K')

    print('-dpng','-loose','-r600',['D:\BISHE\M\zt_HT_',num2str(year_c),'_',num2str(month_c),'_',num2str(day_c),'_',num2str(hour_c)]);
end
%print('-depsc','-loose','-r600',['J:\Work_4\Work_LHW_aircraft\uv_',num2str(year_c),'_',num2str(month_c),'_',num2str(day_c),'_',num2str(hour_c)]);

报错

报错

HgtT.m

7.63 KB, 下载次数: 1, 下载积分: 金钱 -5

程序

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

新浪微博达人勋

 成长值: 32430
发表于 2022-3-26 09:06:27 | 显示全部楼层
不放示例数据,没有注释,还有很多无用语句,让人怎么看?
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 成长值: 32430
发表于 2022-3-26 09:07:29 | 显示全部楼层
还有就是,这个是warning,不是error
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2023-12-20 14:07:42 | 显示全部楼层
二爷名声在外 发表于 2022-3-26 09:07
还有就是,这个是warning,不是error

感谢大神
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2024-4-14 17:28:18 | 显示全部楼层
确实是没有出现error,如果有waring没关系的
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

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

本版积分规则

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

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

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