matlab EOF程序

article/2025/6/19 20:56:35
% eof第一模态图用变量eof的第一列,以此类推;相应的时间系数用pc第一行
clear
clcx = [2 6 1 5 2;9 4 0 5 4;12 2 55 9 10;4 55 78 2 13];        %原始数据,列为站点或格点,行为时间序列上的值
x(1,:) = x(1,:) - mean(x(1,:));
x(2,:) = x(2,:) - mean(x(2,:));       %距平处理c = x*x'/5;    %协方差矩阵[eof,eigenvalue] = eig(c);% eof为特征向量,eigenvalue为特征值
pc = eof' * x;% pc为主成分,即时间系数eigenvalue = fliplr(flipud(eigenvalue));% flipud矩阵上下翻转;fliplr矩阵左右翻转
lambda = diag(eigenvalue);%lambda(λ)
eof = fliplr(eof);
pc = flipud(pc);% check
I2 = eof * eof';    % = I
lambda2 = pc * pc'/5;     % = lambda
x2 = eof * pc;     % = x%计算方差贡献
r = lambda(1,1)/sum(lambda(:,1));
clear;
clc;
in_data = importdata('Precipitation_mo(20-20).txt');
stations = xlsread('数据库对应站名.xlsx');
for i = 2 : length(in_data)for j = 2 : 88if in_data(i,j) == 9999in_data(i,j) = 0;endend
end%补上经纬度
n = 1;
for i = 2 : 88for j = 1 : 91if in_data(1,i) == stations(j,1)jwd(n,1) = in_data(1,i);jwd(n,2) = stations(j,2);jwd(n,3) = stations(j,3);n = n + 1;endend
end
%% 提取冬季数据
time_str = num2str(in_data(:,1));
r = 1;
for i = 2 : length(in_data)if str2num(time_str(i,5:6)) == 12 | str2num(time_str(i,5:6)) == 1 | str2num(time_str(i,5:6)) == 2data(r,:) = in_data(i,:);r = r + 1;end
end%% 冬季降水距平
for k = 1 : 41pre(k,1) = 1977 + k;pre(k,2:88) = sum(data((1 + 3*(k-1)):(3 + 3*(k-1)),2:end),'omitnan');%各年9-11月(3个月)总降水量
end
pre(1,:)=[]; % 删除1978年数据
pre_m = mean(pre(:,2:88),'omitnan');
for i = 1 : 40for j = 2 : 88jupin(i,1) = pre(i,1);jupin(i,j) = pre(i,j)-pre_m(1,j-1);end
end%eof第一模态图用变量eof的第一列,以此类推;相应的时间系数用pc第一行
x = jupin(:,2:end)';                  %原始数据,列为站点或格点,行为时间序列上的值
c = x*x'/87; %协方差矩阵
[eof,eigenvalue] = eig(c);% eof为特征向量,eigenvalue为特征值
pc = eof' * x;% pc为主成分,即时间系数
eigenvalue = rot90(eigenvalue,2); % flipud矩阵上下翻转;fliplr矩阵左右翻转
lambda = diag(eigenvalue); %lambda(λ)
eof = fliplr(eof);
pc = flipud(pc);
draw_eof = [jwd,eof]; %绘图用% check
I2 = eof * eof';    % = I 
lambda2 = pc * pc';   % = lambda
x2 = eof * pc;     % = x%计算方差贡献
r(1,1) = lambda(1,1)/sum(lambda(:,1));
r(1,2) = lambda(2,1)/sum(lambda(:,1));
r(1,3) = lambda(3,1)/sum(lambda(:,1));
r(1,4) = lambda(4,1)/sum(lambda(:,1));
r(1,5) = lambda(5,1)/sum(lambda(:,1));
disp(['总方差贡献率',num2str(sum(r))])%时间系数图
for i = 1:40time_xishu(1,i) = mean(pc(1,i));
end
plot(1979:2018,pc(1,1:40),'r')
hold on
plot(1979:2018,pc(2,1:40),'b')
plot(1979:2018,pc(3,1:40),'g')
legend('第一模态','第二模态','第三模态')

有问题联系我,备注CSDN
在这里插入图片描述


http://chatgpt.dhexx.cn/article/9LiJqROf.shtml

相关文章

C语言——EOF的用法——while(scanf(“%d“,num)!=EOF)

简介: EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。通常在文本的最后存在此字符表示资料结束。、 概念: 在C语言中,或更精确地说成C标准函数库中…

cat << EOF 什么意思?

cat <<EOF 什么意思&#xff1f; cat命令表示查看&#xff0c;而cat <<EOF命令表示将进行输入&#xff0c;直到以EOF终止符来结束输入&#xff08;最后的新行&#xff09;。EOF必须写在一行的头部&#xff0c;前面不能有制表符或者空格。如果结束符EOF前面有制表符…

【C语言中的EOF】零基础看懂EOF如何使用while(scanf(“%d %d”,a,b)感叹号=EOF)

&#x1f31f;前言 ✨如今我们努力奔跑&#xff0c;不过是为了追上那个曾经被寄予厚望的自己&#xff01; 【&#x1f47b;&#x1f47b;&#x1f47b;大家好&#xff0c;我是姜姜爱柚子&#xff0c;将在这里分享所学所得&#xff0c;如果有不正确的地方&#xff0c;希望大家多…

c语言中eof的作用,eof在c语言中表示什么

eof在c语言中表示文件结束符。在while循环中以EOF作为文件结束标志&#xff0c;这种以EOF作为文件结束标志的文件&#xff0c;必须是文本文件。在文本文件中&#xff0c;数据都是以字符的ASCII码值的形式存放的。 在C语言中&#xff0c;或更精确地说成C标准函数库中表示文件结束…

QPSK调制解调过程,包括串并转换,电平转换,载波调制,相干解调,抽样判决等

目录 一、理论基础 二、核心程序 三、仿真结论 一、理论基础 QPSK是英文Quadrature Phase Shift Keying的缩略语简称&#xff0c;意为正交相移键控&#xff0c;是一种数字调制方式。在19世纪80年代初期,人们选用恒定包络数字调制。这类数字调制技术的优点是已调信号具有相对…

通信原理学习笔记2-1:模拟调制——相干解调的载波恢复、锁相环(平方环/Costas环)、变频/混频技术

原始信号为基带模拟信号&#xff0c;要想在空气中传播信号&#xff0c;必须使用频带信号&#xff08;频率高则天线长度降低&#xff0c;且可能进行频分复用等&#xff09; 要产生频带信号&#xff0c;需要频谱搬移&#xff0c;这就是调制&#xff1b;基带信号经过调制&#xff…

MATLAB编程实现2FSK信号的调制与解调(非相干解调)

2FSK信号的产生 数字频率调制又称频移键控&#xff08;FSK&#xff09;&#xff0c;二进制频移键控记作2FSK。数字频移键控是用载波的频率来传送数字消息&#xff0c;即用所传送的数字消息控制载波的频率。2FSK信号便是符号“1”对应于载频f1&#xff0c;而符号“0”对应于载…

杨学志《通信之道》9.3节相干解调公式推导

CS出身的本菜鸡&#xff0c;由于硕士研究方向为射频指纹(radio frequency fingerprint)&#xff0c;最近在恶补杨学志老师的《通信之道》&#xff0c;数学上遇到很多问题。本篇博客主要是对于书中9.3节相干解调中涉及到的公式的推导。 文章目录 1. 相干解调基本公式2. 公式&am…

FM非相干解调原理及Keil代码

FM非相干解调原理及Keil代码 原理拉格朗日插值代码 原理 原理部分因为有很多人解释就不赘述&#xff0c;需要的人会给出链接自行学习 相干解调&#xff1a;相干解调也叫同步检波&#xff0c;它适用于所有线性调制信号的解调。实现相干解调的关键是接收端要恢复出一个与调制载波…

2ASK非相干解调matlab

2ASK非相干解调matlab 2ASK信号产生 振幅键控是利用载波的幅度变化来传递数字信息&#xff0c;而其频率和初始相位保持不变。在2ASK中&#xff0c;载波的幅度只有两种变化状态&#xff0c;分别对应二进制信息“0”或“1”。一种常用的、也是最简单的二进制振幅键控方式称为通…

2dpsk差分相干解调matlab,2DPSK差分相干解调器设计.doc

您所在位置&#xff1a;网站首页 > 海量文档 &nbsp>&nbsp办公文档&nbsp>&nbsp简明教程 2DPSK差分相干解调器设计.doc9页 本文档一共被下载&#xff1a;次,您可全文免费在线阅读后下载本文档。 下载提示 1.本站不保证该用户上传的文档完整性&#xf…

2ASK非相干解调

2ASK非相干解调 **matlab程序实现****目录**2ASK信号产生2ASK信号非相干解调完整代码 matlab程序实现 目录 2ASK信号产生2ASK信号非相干解调全波整流器低通滤波器抽样判决器 2ASK信号产生 振幅键控是利用载波的幅度变化来传递数字信息&#xff0c;而其频率和初始相位保持不…

通信原理 简易2DPSK的相干解调与非相干解调的matlab实现

2DPSK信号的解调主要有两种方法。第一种方法是直接比较相邻码元的相位&#xff0c;从而判决接收码元是“0”还是“1”。为此&#xff0c;需要将前一码元延迟1码元时间&#xff0c;然后将当前码元的相位和前一码元的相位作比较。这种方法称为相位比较法。此方法对于延迟单元的延…

matlab相干解调,心电信号的调制与解调(AM调制、相干解调)

陈超 11108125 一. 系统构思: 1)、通信原理课程介绍了模拟信号的调制与解调。调制可以实现将低频信号频谱搬移到载频位置,解调相当于 调制的反过程。 2)、调制和解调的应用举例:3.4kHZ的话音信号经过调制后可经信道进行远距离传输,在接收端通过解调不失 真的恢复出原始信号…

关于相干解调

c实现数字信号通过低通滤波器 对前面采集的数字信号进行相干解调的过程中&#xff0c;使用到一个滤波器数组和接收信号数组的线性卷积的过程。 //lb2.c //离散序列线性卷积 #include <stdio.h> float convolute(double *f,double *g,unsigned int k) {unsigned int n0…

走进波分 -- 12.相干光解调技术

对于ASK调制信号&#xff0c;接收端可以直接检测幅度就可以进行解调 对于PSK和QAM调制&#xff0c;由于使用了相位来承载信息&#xff0c;所以必须采用相干解调即对相位进行解调的技术 相干&#xff0c;就是相互干扰 相干的概念来源于波动光学 在接收端&#xff0c;利用与发送…

Modis数据下载及后处理

最近需要用大量的modis数据&#xff0c;这里记录一下最近踩的坑吧 下载modis的地址&#xff1a; https://ladsweb.modaps.eosdis.nasa.gov/ 点击上面的find data就可以愉快找数据了。我一开始只知道上面这个网址&#xff0c;后面还会给别的选择。 首先我想要MOD16A2和MOD43A…