由于近期在学习Python,适逢专业课大作业需要进行简单的数据读取分析并做最小二乘估计,计算潮汐调和函数。
**背景:**潮汐模型在海洋测绘中具有非常重要的作用,在其他各种地形,深度测量时,大多数情况下也需要利用潮汐模型进行水位改正,因而计算出潮汐调和常数,建立潮汐模型异常重要。
**算法设计:**本次任务给出的是txt文件格式的数据,其内容包括2012年3月某验潮站每小时的潮高和各分潮的角速率,相关方程如下:
hi为每时的潮高,S0为长期平均水位高度,ai,bi为模型参数,qi为分潮i的角速率,j为分潮时间。
算法流程为:读入潮高和角速度,存入对应列表,建立B,L矩阵,计算出参数矩阵X,最后进行精度评定和可视化过程。
代码实现:
import numpy as np
from math import *
import matplotlib.pyplot as plt
#读文件部分
j= open(r"C:\Users\yllzxzyq\Desktop\t\tide.txt","r")
v= open(r"C:\Users\yllzxzyq\Desktop\t\velocity.txt","r")
jlist = []
vlist = []
for line in j.readlines():
jlist.append(float(line.split(',