weixin_58884337 2022-12-12 15:15 采纳率: 25%
浏览 47
已结题

利用matlab通过海洋波高以及方向进行画玫瑰图过程中的数据读取

利用matlab通过海洋波高以及方向进行画玫瑰图
https://blog.csdn.net/weixin_38672958/article/details/123565691

clc;clear all;
data=importdata('wave.dat');
save data.mat data;
load('data.mat');
months={'April';'May';'June';...
    'July';'August';'September';'October';'November';'December';'January';'February';'March';}; %月份表用于成标题
Options .anglenorth=0;      %确定正方向
Options .angleeast= 90;     %确定正方向
Options .freqlabelangle='auto';   %百分比标签角度自动在case较少方向
Options .lablegend= "有效波高(m)";     %图例名称
Options.labels = {'N ', 'E ', 'S ', 'W '}; %径向标签
Options.LegendType= 1;  %选择图例模式
Options.nFreq=2;    %圆形网格线数量
Options.cmap='jet'; %颜色表inv+'hot','parula','jet','hat','cool''spring'...
Options.vWinds=[0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0];  %风速分隔值
wind_all=data.data(:,[1:3,8,11]);%提取数据 年,月,日,风向,波高
set(gcf,'outerposition',get(0,'screensize'),'Name','wave2012-2013 '); 
%定义窗口为屏幕大小和名称
for month=1:12
    W_dir_sp=wind_all(wind_all(:,2)==month,4:5); %提取相应月份数据
    Options.TitleString=['Wind Rose for 2012-2013 ',char(months(month))]; %根据月份生成标题
    Options.axes=subplot(3, 4, month); %划分3行4列,放置每月图像
    WindRose(W_dir_sp(:,1),W_dir_sp(:,2), Options); %生成WindRose图
end

问题是关于导入数据


    W_dir_sp=wind_all(wind_all(:,2)==month,4:5); %提取相应月份数据

关于这个句子不能理解
该如何改成对应数据的行和列进行数据的导入
感谢各位的指点

  • 写回答

1条回答 默认 最新

  • ShowMeAI 2022-12-12 15:37
    关注

    望采纳


    首先,这段代码使用了Matlab的importdata函数来导入一个数据文件,并将数据存储在一个名为data的变量中:

    data=importdata('wave.dat');
    

    接下来,将data变量存储为一个.mat文件,并从这个文件中加载数据:

    save data.mat data;
    load('data.mat');
    

    紧接着,使用了一个for循环来处理数据,每次循环处理一个月份的数据。

    在每次循环中,首先提取数据中的每月数据,并将其存储在一个名为W_dir_sp的变量中。这段代码就是你所问的那一行:

    W_dir_sp=wind_all(wind_all(:,2)==month,4:5); %提取相应月份数据
    

    其中,wind_all是用于存储所有数据的变量。

    wind_all(:,2)==month表示取出wind_all变量中的第二列,并将其与当前月份的值进行比较,取出第二列中值等于当前月份的所有行。最后提取第四列和第五列的数据。

    如果想要按行和列提取数据,可以使用类似 wind_all(2:3,4:5) 的语法。它表示提取表格中第 2 到第 3 行和第 4 到第 5 列的数据。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月20日
  • 已采纳回答 12月12日
  • 创建了问题 12月12日

悬赏问题

  • ¥500 寻找一名机械工程师完成pcb主板设计(拒绝AI生成式答案)
  • ¥15 关于#mysql#的问题:UNION ALL(相关搜索:sql语句)
  • ¥15 matlab二位可视化能否针对不同数值范围分开分级?
  • ¥15 已经创建了模拟器但是不能用来运行app 怎么办😭自己搞两天了
  • ¥15 关于#极限编程#的问题,请各位专家解答!
  • ¥20 win11账户锁定时间设为0无法登录
  • ¥45 C#学生成绩管理系统
  • ¥30 matlab appdesigner私有函数嵌套整合
  • ¥15 vb6.0使用jmail接收smtp邮件并另存附件到D盘
  • ¥30 vb net 使用 sendMessage 如何输入鼠标坐标