clc;clear   %先对分量进行调和分析,然后利用elli_para2程序计算椭圆要素,ap2ep程序画潮流椭圆

%%

xlsend = [3477 3897 3477 3478];

lat_point = [39+39.922/60    39+42.356/60   39+37.024/60    39+25.933/60];

tidename = ['O1  ';'K1  ';'M2  ';'S2  ';'M4  ';'MS4 '];

color={'r';'g';'b';'k';'c';'m';'r--';'g--';'b--';'k--';'c--';'m--'};

ef_l=[11 17 31 14];%有效水层

depth=[15.5      22    19.8    18.6]    %局地水深

%% 流速分析

%层循环

for i_site = 1:4            %站位循环

%     subplot(3,4,(layer-1)*4+i_site);

time = xlsread('.\QHD_ADCP.xlsx', i_site, 'B2:G2');

if i_site==2

N=xlsread('.\QHD_ADCP.xlsx',i_site,['J2:BZ',num2str(xlsend(i_site))]);

min = xlsread('.\QHD_ADCP.xlsx', i_site, ['F2:F',num2str(xlsend(i_site))]);

idx = find( min==17 | min==37 | min==57);

N = N(idx,:);

intev = 2/6;

else

N=xlsread('.\QHD_ADCP.xlsx',i_site,['J2:DJ',num2str(xlsend(i_site))]);

intev = 1/6;

end

for k=1:ef_l(i_site)

dep_v=N(1,3*k-2);

w = N(:,3*k-1)*0.1;% 换算成cm/s

dir= N(:,3*k);  u1 = w .* sind(dir);  v1 = w.* cosd(dir);%sind,cosd适用于单位为度的角度

fuc=ones(1,5)/5; u=filtfilt(fuc,1,u1); v=filtfilt(fuc,1,v1); %5点平滑

[u_tide,pout]=t_tide(u,'interval',intev, 'start',time,...

'latitude',lat_point(i_site),'output',['tideanalysis_u_',num2str(i_site),'.dat'], 'synthesis',1);

u_left = u - pout; % E--W,余流

[v_tide,pout]=t_tide(v,'interval',intev, 'start',time,...

'latitude',lat_point(i_site),'output',['tideanalysis_v_',num2str(i_site),'.dat'], 'synthesis',2);

v_left = v - pout; % N--S,余流

%%

u_ave = mean(u_left);   v_ave = mean(v_left);

umean(i_site,k)=u_ave; vmean(i_site,k)=v_ave;

[th,w_left] = cart2pol(u_ave,v_ave);

left_dir = 90-th*180/pi;

if left_dir<0

left_dir = left_dir+360;    %%转化成海流坐标系,角度制

end

save([num2str(i_site),'_left_current.mat'],'u_left','v_left','w_left','left_dir');

left(1,i_site,k) = w_left;

left(2,i_site,k) = left_dir;

%     fuc=ones(1,5)/5

%     plot(filtfilt(fuc,1,v_left));%hold on;plot(u_left);

%%

for i_tide = 1:4      %分潮循环

tname = tidename(i_tide,:);

for ii = 1:length(u_tide.name)

if strcmp(u_tide.name(ii,:),tname)==1

idx = ii;

freq = u_tide.freq(ii);

uamp = u_tide.tidecon(ii,1);

upha = u_tide.tidecon(ii,3);

end

if strcmp(u_tide.name(ii,:),tname)==1

idx = ii;

vamp = v_tide.tidecon(ii,1);

vpha = v_tide.tidecon(ii,3);

end

end

[W, w, theta, tao] = elli_para2(uamp, upha, vamp, vpha, freq);

elli(i_tide,1,k,i_site) = W;

elli(i_tide,2,k,i_site) = w/W;

elli(i_tide,3,k,i_site) = theta;

elli(i_tide,4,k,i_site) = tao;

elli(i_tide,5,k,i_site) = sind(upha-vpha);

if elli(i_tide,5,k,i_site)<0

l{i_tide}=color{i_tide};

else

l{i_tide}=color{i_tide+6};

end

[major,eccentricity,inclination,phase,w]=ap2ep(uamp,upha,vamp,vpha);

lli(i_tide,1,k,i_site) = major;

lli(i_tide,2,k,i_site) = eccentricity;

lli(i_tide,3,k,i_site) = inclination;

lli(i_tide,4,k,i_site) = phase;

aaa=squeeze(w);%画椭圆的关键数组

plot(real([aaa;aaa(1)]),imag([aaa;aaa(1)]),l{i_tide},'linewidth',1.5);hold on;%画椭圆图的函数,问题在这里

%-depth(i_site)+0.5-dep_v为对应水深

end           %分潮循环

%       if i_site==1

%            ylabel('V(cm/s)');

%       end

%       if layer==3

%            xlabel('U(cm/s)');

%       end

%       set(gca,'xlim',[-30,30],'ylim',[-30,30]); axis equal;

end           %站位循环

end              %层循环

% saveas(gca,'.\图\秦皇岛椭圆垂向分布.emf');

ellipse.png

(176.02 KB, 下载次数: 27)

2015-3-10 08:58 上传

分潮椭圆垂向结构

如何从椭圆度 matlab,如何利用matlab画出如图潮流椭圆相关推荐

  1. python画折线图详解-利用python画出折线图

    本文实例为大家分享了python画折线图的具体代码,供大家参考,具体内容如下 # encoding=utf-8 import matplotlib.pyplot as plt from pylab i ...

  2. python画折线图-利用python画出折线图

    本文实例为大家分享了python画折线图的具体代码,供大家参考,具体内容如下 # encoding=utf-8 import matplotlib.pyplot as plt from pylab i ...

  3. Matlab:利用Matlab编程实现模拟分子布朗运动的动画展示

    Matlab:利用Matlab编程实现模拟分子布朗运动的动画展示 目录 输出结果 实现代码 输出结果 实现代码 %Brownian motion clf; n=20; s=0.02; x = rand ...

  4. Matlab:利用Matlab实现布朗运动模拟

    Matlab:利用Matlab实现布朗运动模拟 目录 输出结果 实现代码 输出结果 实现代码 n=40 s=0.04 x=rand(n,1)-0.5; y=rand(n,1)-0.5; h=plot( ...

  5. 环形网络潮流计算matlab,利用matlab编程计算任意环形网络牛拉法潮流计算程序

    环形网络潮流计算matlab,利用matlab编程计算任意环形网络牛拉法潮流计算程序,程序通用性强,通过修改参数可以得到任意节点和网络的环形网络牛拉法潮流计算. YID:696064261479453 ...

  6. python画曲线-利用python画出AUC曲线的实例

    以load_breast_cancer数据集为例,模型细节不重要,重点是画AUC的代码. 直接上代码: from sklearn.datasets import load_breast_cancer ...

  7. python中词云图怎样变成特殊图案_如何利用python画出一个多变的词云图?(1)...

    问题描述: 如何利用python画出一个多变的词云图? 解决方法:import numpy as np import matplotlib import matplotlib.pyplot as pl ...

  8. python怎么画出圆润的曲线_利用python画出AUC曲线的实例

    以load_breast_cancer数据集为例,模型细节不重要,重点是画AUC的代码. 直接上代码: from sklearn.datasets import load_breast_cancer ...

  9. python画二维温度云图_利用python画出词云图

    本文将介绍如何利用python中相应的模块画出词云图.首先给出效果图: 其中词云图中的词汇是对手机短信中的垃圾短信的统计,字体越大表示在垃圾短信中出现的频次越高.下面给出具体的步骤. 读取" ...

最新文章

  1. 最小乘积生成树和最小乘积最大匹配
  2. linux下远程控制继电器,更智能的电脑远程开关机-基于继电器
  3. Java concurrent 学习
  4. Nginx反向代理多个应用时,通过BluePring使Flask支持二级路径(URL前缀)
  5. MATLAB之简谐信号声音的生成及其调制性
  6. 安卓手机python数据可视化_python 数据可视化
  7. idea_取消自动import .*
  8. TensorFlow 2.0 - 张量/自动求导/梯度下降
  9. 计算机管理档案有什么好处,利用资料管理系统管理档案有什么好处
  10. 吴恩达机器学习总结五:单变量线性回归实战
  11. Open XML操作Excel导入数据
  12. Pycharm中的Django项目连接mysql数据库(包含出现的错误)
  13. filter-policy应用实验(华为设备)
  14. 标准为先、产业当道,这次大会“探云”深刻……
  15. 软件测试52讲-测试先行:测试驱动开发(TDD)
  16. spring bean生命周期源码剖析
  17. Windows10操作系统搭建C语言开发环境
  18. YOUTUBE API调用 JAVA
  19. jQuery砸金蛋抽奖活动php源码
  20. Java九阳神功-内部类

热门文章

  1. 现代opengl 设计入门,着色器
  2. 《增值电信业务许可》ICP和EDI
  3. 监控设备安装过程九个需要注意的地方
  4. 读取计算机硬件编号vc,计算机硬件技术题库.doc
  5. 症监护室自动临床信息管理系统简介
  6. 支付系统设计三:渠道网关设计02-客户端报文解析
  7. html页面调用OneDrive api,使用OneDrive API获取访问令牌
  8. java异或运算结果数据类型_java中的数据类型和运算符的总结归类。
  9. monkey测试工具
  10. 杨凌九立机器人农博园观后感_陕西乡村旅游精彩亮相第25届杨凌农高会