基于MATLAB的GNSS卫星位置的计算及精度分析

  • 前言
  • 一、GNSS卫星坐标计算的程序实现
    • 1. 基于 Matlab 读取标准 RINEX 格式星历数据
    • 2基于Matlab的GPS/GALILEO卫星位置计算
    • 3 基于Matlab的北斗卫星位置计算
    • 4 基于Matlab的GLONASS卫星位置计算
  • 总结


前言

为了研究GNSS卫星的广播星历的精度,需要获得GNSS卫星的坐标与实际位置的差值。使用MATLAB编程,实现提取广播星历参数和精密星历精确坐标的过程,并基于利用广播星历计算GNSS卫星位置的原理计算得到GNSS卫星的瞬时坐标。将计算得到的GNSS卫星瞬时坐标与编程提取到的同一时刻的精密星历中的精确坐标对比进行精度分析,进而得到GNSS卫星广播星历的精度。

提示:以下是本篇文章正文内容,下面案例可供参考

一、GNSS卫星坐标计算的程序实现

(1)利用stuct()函数建立空结构体,用以存储读取导航电文获取的参数,根据卫星计算原理的不同,结构体存储变量的数目也不同。
(2)从头文件结束标志‘END OF HEADER’开始,遍历存储导航电文,将每个卫星的参数赋给相应的结构体,同时使用str2num()函数将字符变为数值,方便后续计算。
(3)选取要计算的卫星,调用对应结构体里面的参数,作为输入参数赋给即将调用的函数 。函数,从而获得返回值,即卫星的坐标。可调用的函数有GPScucalation(),bdscaculation(),glonasscaculation()。
(4)将计算的卫星坐标统一放在一个结构体中,便于后续的精度分析。

1. 基于 Matlab 读取标准 RINEX 格式星历数据

计算GNSS卫星的瞬时位置需要用到卫星的广播星历,而广播星历多为RINEX格式。想要获得所需要的参数,还需要对RINEX 格式进一步处理。而使用matlab对RINEX数据进行处理的思路,是根据RINEX格式本身的特点,从特殊字符串‘END OF HEADER’头文件的结束标志开始,通过简单的循环语句,将星历数据存储进预先定义好的结构体中。具体代码实现如下:
(1)通过stuct()函数创建存储星历数据的空结构体


navdata=struct('prn',nan,'year',nan,'month',nan,'day',nan,'hour',nan,'min',nan,'sec',nan,'a0',nan,'a1',nan,'a2',nan,'aode',NaN,'crs',NaN,'dn',NaN,.'m0',NaN,'cuc',NaN,'e',NaN,'cus',NaN,'a',NaN,'toe'NaN,'cic',NaN,'om0',NaN,'cis',NaN,'i0',NaN,'crc',NaN,'w',NaN,'dom',NaN,'di',NaN,'cflg12',NaN,'weekno',NaN,'pflg12',NaN,'svaccuracy',NaN,'svhealth',NaN,'tgd',NaN,'aodc',NaN,'transmission', NaN,'s1',NaN,'s2',NaN,'s3',NaN);

所创建结构体的字段名与星历提供的参数有关,GPS卫星,GALILEO卫星与北斗卫星都可以采用这段函数来存放他们自己的星历数据,字符‘nan’是不为该字符指定任何一种格式。而glonass因为星历所提供的参数不同,创建结构体所用的字段名自然也不同,其创建结构体的代码如下:

navdata=struct('prn',nan,'year',nan,'month',nan,'day',nan,'hour',nan,'min',nan,'sec',nan,'sv1',nan,'sv2',nan,'utc',nan,'x',NaN,'u',NaN,'ax',NaN,'bn',NaN,'y',NaN,'v',NaN,'ay',NaN,'icd',NaN,'z',NaN,'w',NaN,'az',NaN,'age',NaN);

(2)打开导航电文后,通过简单的while循环,利用findstr()函数逐行查找特殊字符‘END OF HEADER’,获得读取数据的起始位置。因为GPS与GLONASS卫星的广播星历所采用的为rinex2.02的格式,所以可以在获取函数位置的同时,可以同时获取星历的行数,来计算星历中卫星的个数。GALILEO卫星与北斗卫星采用的为rinex3.02格式,可直接通过findstr()函数来获取起始位置,部分代码如下。

fid = fopen('rinex');
while 1 
headlines = headlines+1;
line = fgetl(fid);
answer = findstr(line,'END OF HEADER');
if ~isempty(answer)
break;
end
end
while 1
noeph = noeph+1;
line = fgetl(fid);
if line == -1
break
end
end
noeph = noeph/8;

在计算glonass卫星个数时,因为星历文件只提供四行参数,所以应使用noeph = noeph/4语句。
(3)通过for循环使空结构体数组中能够存储获取GNSS卫星的星历数据。最后能通过简单的循环语句来读取调用各卫星星历数据。对于GPS与glonass卫星所采用的的rinex2.0格式星历文件,可以通过计算卫星数来建立一个简单的for循环,从而逐行获取数据,每8行或者4作为一组数据。而对于北斗与GALILEO卫星所采用的rinex3.02格式可通过findstr()函数匹配字符串寻找所需要的卫星参数,同样每8行可以作为一组数据。星历每列对应的数据作为提取的依据。部分代码如下:

for l = 1:head_lines
line = fgetl(fid);
end
for i = 1:noeph
line = fgetl(fid); 
navdata(i).prn = str2num(line(1:2));
y = str2num(line(3:6));
if y >79
navdata(i).year = y+1900;
else
navdata(i).year = y+2000;
end
navdata(i).m = str2num(line(7:9));
navdata(i).d = str2num(line(10:12));
navdata(i).h = str2num(line(13:15));
navdata(i).min = str2num(line(16:18));
navdata(i).sec = str2num(line(19:22));
end
status = fclose(fid);

同样注意,由于rinex2.0格式与rinex3.02格式不同,所以在使用line()函数提取相应的字符时应注意是否对应参数所在的列数。同时需要使用str2num()函数将字符型转化为数值型,提取的参数才能正常使用。另外还需要注意,在提取GLONASS函数时需要注意,因为参数的单位为千米,所以要将其化为米,方便后续计算。
(4) 要想分析广播星历的精度,还要获得精密星历对应时刻的准确坐标值来作比较。精密星历的读取与广播星历的读取类似,都是通过简单的循环结构依次给空结构体赋值,但要注意的是精密星历读取不用寻找开始位置,直接跳过32行开始赋值。另外精密星历的单位为千米,需要转换为米,其实现的部分代码如下:

for i=1:32 line=fgetl(fid);
end
while 1 line=fgetl(fid);result=findstr(line,'EOF');if(isempty(result))SP3_data(t).year=str2num(line(4:7));for j=1: nasdfgmumline=fgetl(fid);if ~isempty(findstr(line,'PG'))SP3_data(t).sate(j)=0;endSP3_data(t).PRN(j)=str2num(line(3:4));SP3_data(t).x(j)=str2num(line(5:18)); end
end
fclose(fid);

nasdfgmum为该星历所含卫星的个数,每个星历含有的卫星数目不同。另外根据需要将每种卫星赋予标记值,GPS卫星的标记为0, GLONASS卫星的标记为1,Galileo卫星的标记为2, BDS卫星的标记为3,其余卫星的标记为4.
想要获得卫星的精密星历的坐标,可以遍历结构体,通过判定给每种卫星赋予的特定的标记,可以获得特定卫星在24h内的全部坐标。

for i=1:tfor k=1:nasdfgmumif SP3_data(i).minute==0if SP3_data(i).sate(k)==0&&SP3_data(i).PRN(k)==01temp(m,1)= SP3_data(i).x(k)*1000;temp(m,2)=SP3_data(i).y(k)*1000;temp(m,3)=SP3_data(i).z(k)*1000;m=m+1;endendend
end

2基于Matlab的GPS/GALILEO卫星位置计算

根据基于广播星历计算卫星位置的原理来设计matlab程序,同时在使用matlab计算GPS卫星的位置时,需要注意一些问题:
(1)计算真近点角时,要使用四象限反正切函数atan2()来计算。
(2)偏近点角的计算需要进行迭代,使用while…end函数,当满足 ∣Ek+1-Ek∣< 10-12时,停止循环。
GALILEO卫星位置的计算原理与GPS相同,所以此函数同样可以应用计算GALILEO卫星的位置。虽然galieo卫星所采用的坐标系与GPS略有不同,但因为影响很小,所以可以忽略掉此项误差,GPS卫星与GALILEO卫星因为采用时间系统不同而造成的坐标间的误差可以忽略。
GPS/GALILEO卫星位置计算函数gpsposition部分代码如下:

n0=sqrt(GM)/(a^3); 
n=n0+dn;
UT=hour+(min/60)+(sec/3600); 
julianday=fix(362.25*year)+fix(30.6001*(month+1))+day+(UT/24)+1720981.5; 
t=fix((julianday -2444244.5)/7); 
t=( julianday -2444244.5-t*7)*24*3600; 
t=t-(a0+a1*(t-toe)+a2*(t-toe)*(t-toe)); 
tk=t-toe;
if tk>302400tk=tk-604800;
elseif tk<-302400tk=tk+604800;
endmk=m0+n*tk; ek=mk;ek0=inf;while abs(ek0-ek)>=1e-12ek0=ek;ek=mk+e*sin(ek0);endsinfk=(sqrt(1-e*e)*sin(ek))/(1-e*cos(ek));  cosfk=(cos(ek)-e)/(1-e*cos(ek));fk=atan2(sinvk,cosvk);faik=vk+w;deltu=cuc*cos(2*faik)+cus*sin(2*faik); deltr=crc*cos(2*faik)+crs*sin(2*faik);delti=cic*cos(2*faik)+cis*sin(2*faik);uk=faik+deltu; rk=a*a*(1-e*cos(ek))+deltr;ik=i0+delti+di*tk;
xk=rk*cos(uk); 
yk=rk*sin(uk);
zk=0;
lk=om0+(dom-we)*tk-we*toe; 
X=xk*cos(lk)-yk*cos(ik)*sin(lk) 
Y=xk*sin(lk)+yk*cos(ik)*cos(lk)
Z=yk*sin(ik

要调用此函数时,可以使用代码:

position=gpsposition( navdata(i).y,navdata(i).m,navdata(i).d,navdata(i).h,navdata(i).min,navdata(i).sec,navdata(i).a0,navdata(i).a1,navdata(i).a2,navdata(i).crs,navdata(i).dn,navdata(i).m0,navdata(i).cuc,navdata(i).e,navdata(i).cus,navdata(i).a,navdata(i).toe,navdata(i).cic,navdata(i).om0,navdata(i).cis,navdata(i).i0,navdata(i).crc,navdata(i).w,navdata(i).dom,navdata(i).di);

3 基于Matlab的北斗卫星位置计算

由于3种不同的卫星系统组成了北斗卫星导航系统,其中IGSO卫星与MEO卫星的matlab计算程序可以用计算GPS卫星坐标的原理计算,而GEO卫星位置的计算可以根据第二章的原理利用以下程序计算。使用matlab计算北斗卫星时应注意:
(1)在计算归化时间时,需要将民用日转化为儒略日,而因为北斗卫星与GPS卫星的时间系统并不统一,需要将归化时间减去14s来将北斗卫星的时间系统纳入到GPS时间系统中。
(2)在计算Rx旋转矩阵时,因为-5°不是弧度,需要使用cosd()/sind()函数计算正余弦的值。
(3)因为要计算三种卫星,所以在计算卫星的位置时,要使用if…elseif…elsef…else…end函数
北斗卫星GEO卫星部分计算代码如下:

lk=om0+(dom)*tk-we*toe;
%计算BDS卫星在坐标系中的坐标
Xg=xk*cos(lk)-yk*cos(ik)*sin(lk);
Yg=xk*sin(lk)+yk*cos(ik)*cos(lk);
Zg=yk*sin(ik);
temp=[Xg;Yg;Zg];
Rx=[1,0,0;0,cosd(-5),sind(-5);0,-sind(-5),cosd(-5)];
Rz=[cos(we*tk),sin(we*tk),0;-sin(we*tk),cos(we*tk),0;0,0,1];
temp=Rz*Rx*temp;
X=temp(1);
Y=temp(2);
Z=temp(3);
result=[X,Y,Z]; 

调用此函数的方法与GPS卫星计算坐标函数的调用方式相同

4 基于Matlab的GLONASS卫星位置计算

GLONASS卫星的计算原理与其他卫星都不同,大多数卫星的瞬时坐标是根据参考时刻的开普勒轨道根数与摄动改正数按照一定的原理计算的,而由于GLONASS卫星星历只提供卫星参考时刻的三维坐标,速度向量,以及日月摄动加速度。所以要计算GLONASS卫星任意时刻的位置,需要采用轨道数值积分的方法。一般采用经典四阶龙贝格-库塔方法来计算GLONASS卫星位置。
计算GLONASS卫星坐标需要注意的地方是,因为GPS时与GLONASS时的时间系统起点不同,而GLONSS时跟着UTC时间一起变化所以存在跳秒现象[7]。所以在计算积分长度时需要减去17s来将GLONASS时并入到GPS时中。同时因为坐标系统不同带来的误差很小,所以在具体计算时不计入误差。考虑积分出来的精度问题,积分步长选择30s,积分长度选择30min[5]。
计算glonass卫星坐标的部分代码为:

function result = gloposition( x,y,z,u,v,w,xls,yls,zls )
length =30*60-17;
h=30;
for i=h:h:lengtha1=f(x,y,z,u,v,w,xls,yls,zls);u1=u;v1=v;w1=w;    
a2=f(x+u1*h/2,y+v1*h/2,z+w1*h/2,u+a1(1)*h/2,v+a1(2)*h/2,w+a1(3)*h/2,xls,yls,zls);u2=u+a1(1)*h/2;v2=v+a1(2)*h/2;w2=w+a1(3)*h/2;   a3=f(x+u2*h/2,y+v2*h/2,z+w2*h/2,u+a2(1)*h/2,v+a2(2)*h/2,w+a2(3)*h/2,xls,yls,zls);u3=u+a2(1)*h/2;v3=v+a2(2)*h/2;w3=w+a2(3)*h/2;    
a4=f(x+u3*h,y+v3*h,z+w3*h,u+a3(1)*h,v+a3(2)*h,w+a3(3)*h,xls,yls,zls);u4=u+a3(1)*h;v4=v+a3(2)*h;w4=w+a3(3)*h;u=u+h*(a1(1)+2*a2(1)+2*a3(1)+a4(1))/6;v=v+h*(a1(2)+2*a2(2)+2*a3(2)+a4(2))/6;w=w+h*(a1(3)+2*a2(3)+2*a3(3)+a4(3))/6;x=x+h*(u1+2*u2+2*u3+u4)/6;y=y+h*(v1+2*v2+2*v3+v4)/6;z=z+h*(w1+2*w2+2*w3+w4)/6; 
end
result=[x,y,z]

其中,所调用的f()函数的部分代码如下:

format long e;
r = sqrt(xi*xi+yi*yi+zi*zi);
ax=-GM*xi/(r^3)-1.5*C02*GM*ae*ae*xi*(1-(5*(zi^2))/(r^2))/(r^5)+we*we*xi+2*we*vy+xls;
ay=-GM*yi/(r^3)-1.5*C02*GM*ae*ae*yi*(1-(5*(zi^2))/(r^2))/(r^5)+we*we*yi-2*we*vx+yls;
az = -GM*zi/(r^3)-1.5*C02*GM*ae*ae*zi*(3-(5*(zi^2))/(r^2))/(r^5)+zls;
result = [ax,ay,az];

调用此函数时,可使用以下代码:

position=gloposition( navdata(i).x,navdata(i).y,navdata(i).z,navdata(i).u,navdata(i).v,navdata(i).w,navdata(i).ax,navdata(i).ay,navdata(i).az);

计算GLONASS卫星位置时,也可以使用MATLAB的内置函数ODE45来计算,与通过经典四阶龙贝格-库塔计算出来的结果相差不大。

总结

全部代码在我上传的资源里面,可以自行下载,代码运行的一些细节在这篇文章里也有,这篇文章仅做交流参考用。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 用filebeat收集容器内日志到kafka

    通常 filebeat可以用sidecar的模式来收集容器内的日志到kafka或es。但是如果使用rancher配置了将日志收集到es,若同时希望将日志收集到kafka。在rancher2.4.5中无法配置,此时也无法使用sidecar模式来收集日志。最简单的方式是将filebeat打包到镜像内,在同一容器内启动多进程…...

    2024/4/26 4:38:21
  2. u_net项目实战遇到的问题

    u_net项目实战遇到的问题1Python报错SyntaxError: Non-UTF-8 code starting with \xb6 iModuleNotFoundError: No module named skimage Python报错 SyntaxError: Non-UTF-8 code starting with ‘\xb6’ i 在运行data.py时出现错误: SyntaxError: Non-UTF-8 code starting wi…...

    2024/5/3 11:39:23
  3. 一个超简单的android任务列队(排队)3

    一个超简单的android任务列队(排队)3 上一篇讲到了列队中的任务超时,这一篇继续对列队任务进行扩展,新增插入任务到列队中,可以实现插队功能,实现异步请求列队。来看代码,在LineUpTaskHelp类中新增insertTask(index,T)方法。 package com.example.lineuppoject;import a…...

    2024/4/25 3:23:40
  4. 拓扑排序+判环

    拓扑排序+判环...

    2024/5/4 18:29:33
  5. 归并排序和搜索

    归并排序 归并排序是采用分治法的一个非常典型的应用。归并排序的思想就是先递归分解数组,再合并数组。 将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把…...

    2024/5/4 14:33:40
  6. Java -- 一句话木马

    用Java调用计算机程序 import java.io.IOException;public class WebShell {public static void main(String[] args) throws IOException {Runtime.getRuntime().exec("calc");}}调用cmd命令 import java.io.IOException; import java.io.InputStream; import java.…...

    2024/5/4 17:33:00
  7. 耳机插入听不到声音或者对方听不见你说话问题

    每次把耳机插进去能听见,但是拔掉第二次就听不见了,说话也没声。我一度以为我电脑坏了,或者耳机坏了,但是在手机上试了耳机一切正常。。。后来百度说是什么不支持热插拔,,那咋整,感觉不是啊,自己琢磨设置了以下两个地方,解决了。 两个问题: 1.听不见声音: 打开realt…...

    2024/4/21 21:02:14
  8. 三维点云学习(9)2-Registration ICP-part2

    三维点云学习(9)2-Registration ICP-part2Point-to-PlaneSummary...

    2024/4/11 21:44:53
  9. Tcpreplay回放流量遇到的坑

    1.Tcpreplay做不到服务端能实时响应的回放 回答 :使用Tcpreplay回放Pcap流量,Tcpreplay只能保证发出去,如果想要服务端响应的话,需要使用tcpliveplay(使用tcpreplay回放tcp的时候,不能同步TCP里面Syn/Ack的编号)。 2.在Tcpreplay服务端只能抓到单方向的流量 问题描述:在服…...

    2024/5/4 20:37:07
  10. JUnit 5和Selenium基础(二)

    使用Selenium内置的PageFactory实现页面对象模式JUnit 5和Selenium基础(一)在这一部分中,将通过Selenium的内置PageFactory支持类来介绍Page Object模式的实现。PageFactory提供一种机制来初始化任何声明WebElement或List<WebElement>带有@FindBy注释的字段的Page Obj…...

    2024/4/22 13:37:45
  11. Mybatis-基于注解开发基础介绍

    注解开发 本文只讲解基础注解开发方式,如果想查看全特性请参考映射器注解 注解和XML标签对应关系注解 作用对象 XML标签 说明@Insert 方法 <insert> value:标签内SQL@Update 方法 <update> value:标签内SQL@Delete 方法 <delete> value:标签内SQL@Select…...

    2024/4/29 15:52:06
  12. Java中抽象类和接口的介绍及二者间的区别

    接口(Interface)和抽象类(Abstract Class)是支持抽象类定义的两种机制。一、抽象类在Java中被abstract关键字修饰的类称为抽象类,被abstract关键字修饰的方法称为抽象方法,抽象方法只有方法的声明,没有方法体。抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用…...

    2024/4/27 1:00:11
  13. Codeforces 1400E Clear the Multiset(贪心 + 分治)

    链接:https://codeforces.com/problemset/problem/1400/E 来源:Codeforces思路:给你一个数组,现在你可以进行两种操作,操作1:将一段没有 0 的区间进行减一的操作,操作2:将 i 位置上的元素归零。最终问:将这个数组的全部元素归零后操作的最少的次数。首先如果我们只使用…...

    2024/4/29 18:20:18
  14. redis集群搭建脚本及linux命令

    介绍 依照以下顺序手把手教你用docker容器搭建一个简单的主从复制的redis集群。 设置redis集群网卡及查看 docker network create redis --subnet 172.38.0.0/16 docker network ls docker network inspect redisredis节点创建及设置 for port in $(seq 1 6); do mkdir -p /myd…...

    2024/5/3 11:10:30
  15. 2020-0824system verilog学习笔记

    4、连接设计和测试平台1、 测试平台模仿设计的整个运行环境。如处理器模型需要连接到不同的总线和器件,则总线和器件在测试平台中就被建模成总线功能模型。V端口繁琐需要一种更高层次的方法来和设计建立通信--接口。 需要可靠的时序方法在正确的时间点驱动和采样同步信号,避免…...

    2024/5/4 16:13:47
  16. Ubuntu 16.04 安装Opencv 3.4.3

    ref:https://www.jianshu.com/p/f646448da265https://blog.csdn.net/u013066730/article/details/79411767去官网下载opencv,在本教程中选用的时opencv3.4.3,其他版本的配置方法异曲同工。 下载链接 http://opencv.org/releases.html,选择sources版本。unzip opencv-3.4.3.z…...

    2024/4/21 21:29:06
  17. 并发编程:fork/join框架:创建一个fork/join框架

    目录fork/join框架与Executor框架的区别fork/join框架的限制fork/join框架的两个核心类ForkJoinTask的3个子类案例说明一、主程序二、产品类(model)三、产品工厂类四、任务类五、执行结果fork/join框架该框架的设计目的是以分治思想来解决那些可以分解成较小任务的问题。(给…...

    2024/5/4 18:45:05
  18. 一招教你Kill THE 流氓软件

    前段时间去出差,和顾客闲聊,他说电脑里很多流氓软件,怎么卸载都卸载不干净,问我如何杀死流氓软件,现在就来告诉一下大家怎么办。 首先,使用我们的win+R引出快捷入口,然后输入mrt下一步最后点击完成即可,快去打流氓吧~~...

    2024/4/21 23:44:58
  19. 我的第一篇Markdown——SWUSTOJ 310: Welcome

    SWUST OJ 310: Welcome题目描述输入输出样例输入输出我的示例 2020年8月26日 题目描述欢迎参加这次比赛!希望这次比赛能给大家带来乐趣。 本题很简单,要求输出比赛的欢迎信息。输入输出 输入:没有输入 输出:Welcome To Our Program Contest 样例输入输出 样例输出:Welcome…...

    2024/4/30 2:09:23
  20. 函数节流scroll,兼容火狐滚轮事件

    //函数节流var wheelTimeout;var wheelFun = function (func) {if (wheelTimeout) {return;}func();wheelTimeout = setTimeout(function () {wheelTimeout = 0;}, 1000);};//如果是火狐浏览器就mousewheelevt=DOMMouseScroll;否则mousewheelevt=mousewheel,因为火狐绑定滚轮事…...

    2024/4/22 0:07:15

最新文章

  1. USP技术提升大语言模型的零样本学习能力

    大语言模型&#xff08;LLMs&#xff09;在零样本和少样本学习能力上取得了显著进展&#xff0c;这通常通过上下文学习&#xff08;in-context learning, ICL&#xff09;和提示&#xff08;prompting&#xff09;来实现。然而&#xff0c;零样本性能通常较弱&#xff0c;因为缺…...

    2024/5/5 0:14:54
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 设计模式——责任链模式13

    责任链模式 每个流程或事物处理 像一个链表结构处理。场景由 多层部门审批&#xff0c;问题分级处理等。下面体现的是 不同难度的问题由不同人进行解决。 设计模式&#xff0c;一定要敲代码理解 传递问题实体 /*** author ggbond* date 2024年04月10日 07:48*/ public class…...

    2024/5/4 19:10:11
  4. 零基础 HTML 入门(详细)

    目录 1.简介 1.1 HTML是什么? 1.2 HTML 版本 1.3 通用声明 2.HTML 编辑器 3.标签的语法 4.HTML属性 5.常用标签 5.1 head 元素 5.1.1 title 标签 5.1.2 base 标签 5.1.3 link 标签 5.1.4 style 标签 5.1.5 meta 标签 5.1.6 script 5.2 HTML 注释 5.3 段落标签…...

    2024/5/1 13:12:05
  5. 爬虫学习第一天

    爬虫-1 爬虫学习第一天1、什么是爬虫2、爬虫的工作原理3、爬虫核心4、爬虫的合法性5、爬虫框架6、爬虫的挑战7、难点8、反爬手段8.1、Robots协议8.2、检查 User-Agent8.3、ip限制8.4、SESSION访问限制8.5、验证码8.6、数据动态加载8.7、数据加密-使用加密算法 9、用python学习爬…...

    2024/5/2 19:23:10
  6. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/4 12:05:22
  7. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/4 11:23:32
  8. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/4 14:46:16
  9. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/4 23:54:44
  10. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/4 12:10:13
  11. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/4 23:54:49
  12. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/4 23:54:44
  13. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/4 14:46:12
  14. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/4 14:46:11
  15. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/4 14:46:11
  16. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/4 2:14:16
  17. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/4 21:24:42
  18. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/4 12:39:12
  19. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/4 13:16:06
  20. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/4 16:48:41
  21. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/4 14:46:05
  22. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/4 2:00:16
  23. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/4 23:54:30
  24. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/4 9:07:39
  25. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/4 14:46:02
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57