【Matlab】中国沿岸潮滩宽度和坡度分布

【Matlab】中国沿岸潮滩宽度和坡度分布
参考文献见最后或者阅读原文!
中国沿岸潮滩宽度和坡度分布:
figure 1在这里插入图片描述

a 潮滩宽度分布。b 潮滩坡度分布。
图中标注了中国沿海各省,分别为辽宁(LN)、河北(HB)、山东(SD)、江苏(JS)、浙江(ZJ)、福建(FJ)、广东(GD)、广西(GX)、海南(HN)和台湾(TW)。
地图上的红色框表示宽度或坡度较大的区域,蓝色框表示数值最小的区域。图中的数值代表框内数据的中位数。潮滩宽度和坡度随纬度的变化展示在右侧面板中,阴影区域表示第 25 和第 75 百分位之间的范围。

c 各组中潮滩宽度与中位坡度之间的关系。
N 表示数据点数量。箱线图的上须延伸至第 75 百分位加上 1.5 倍四分位距的位置,下须延伸至第 25 百分位减去 1.5 倍四分位距的位置。

潮滩宽度定义:

图片在这里插入图片描述

潮滩宽度截取方法。
棕色区域表示潮滩分布图,红色线段表示垂直于岸线的岸向剖面,黄色点表示 OSM(OpenStreetMap)岸线(分辨率为1公里)。

潮滩坡度定义:
图片在这里插入图片描述

坡度计算方法。橙色线表示剖面高程分布。

matlab 代码:.rtcContent { padding: 30px; } .lineNode {font-size: 12pt; font-family: "Times New Roman", Menlo, Monaco, Consolas, "Courier New", monospace; font-style: normal; font-weight: normal; }
clear
load nearshore_province.mat
table_tidalflat = readtable('China_tidalflat.csv','VariableNamingRule','preserve');
tidalflat = table2array(table_tidalflat);
width_loc=isnan(tidalflat(:,6));%no width
tidalflat(width_loc,:)=[];
%%
World =shaperead('landareas.shp','UseGeoCoords',true);
ChinaL=shaperead('china1.shp');
ChinaP=shaperead('china2.shp');
rivers = shaperead('hyd2_4l.shp');
x=720;
y=710;
figure('Position', [0, 0, x, y])%550
cmap = [256,256,256;251 227 213;246 178 147;220 109 87;183 34 48;109,1,31]/256;
n = size(cmap, 1);  
xq = linspace(1, n, 256);
cmap_smooth1 = interp1(1:n, cmap, xq, 'linear');
plot1 = subplot('Position', [60/x, 370/y, 200/x, 300/y]);
title('A','fontsize',15,'fontname','times new roman','fontweight','bold','position',[105,45])
hold on
geoshow(World,'facecolor',[.99 .99 .99],'edgecolor',[.3 .3 .3])
mapshow(ChinaL,'color',[.5 .5 .5])
mapshow(ChinaP(yanhai,:),'facecolor',[.7 .7 .7],'edgecolor',[.5 .5 .5])
mapshow(ChinaP(~yanhai,:),'facecolor',[.9 .9 .9],'edgecolor',[.5 .5 .5])
mapshow(rivers(heliu,:),'color',[.8 .8 .8])
scatter(tidalflat(:,2),tidalflat(:,3),8,log(tidalflat(:,6)),'filled')
load box_shandong.mat
patch('Faces',[1 2 3 4],'Vertices',polygon,...'EdgeColor','b','FaceColor','none','LineWidth',1.2)
text(mean(polygon(:,1)), max(polygon(:,2)), '74m' ,'Color','b','HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom')
load box_jiangsu
patch('Faces',[1 2 3 4],'Vertices',polygon,...'EdgeColor','red','FaceColor','none','LineWidth',1.2)
text(mean(polygon(:,1)), max(polygon(:,2)), '3088m' ,'Color','red','HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom')
ylabel('Latitude (deg)','FontSize',12,'fontweight','bold');
ax=gca;
ax.FontName = 'times new roman';
xticks([110 120])
xticklabels({'110°E','120°E'})
yticks([20 30 40])
yticklabels({'20°N','30°N','40°N'})
clim(log([min(tidalflat(:,6)) max(tidalflat(:,6))]));
colormap(cmap_smooth1);
cMap=colormap;
c = [10 100 1000 10000];
h = colorbar('Location', 'south', 'Position', [105/x, 300/y, 200/x, 20/y]);
set(h,'YTick',log(c),'YTickLabel',c,'fontsize',9);
ylabel(h,'Width (m)','fontsize',9,'fontname','times new roman') 
xlim([105 125])
ylim([15 45])
ax.TickLength = [0.01, 0.01];
ax.LineWidth = 1.5;
ax.XRuler.TickDirection = 'out';
ax.YRuler.TickDirection = 'out';
ax.Layer = 'top';
box on
subplot('Position', [270/x, 370/y, 80/x, 300/y]);
latitudes = tidalflat(:, 3); 
widths = tidalflat(:, 6);
bin_width = 0.5;
min_latitude = floor(min(latitudes)/bin_width)*bin_width; 
max_latitude = ceil(max(latitudes)/bin_width)*bin_width; 
num_bins = (max_latitude - min_latitude) / bin_width + 1;
averaged_widths = zeros(num_bins, 1);
percentile25 = zeros(num_bins, 1);
percentile75 = zeros(num_bins, 1);
for i = 1:num_bins-1lat_min = min_latitude + (i-1)*bin_width;lat_max = lat_min + bin_width;indices = find(tidalflat(:, 3) >= lat_min & tidalflat(:, 3) < lat_max);averaged_widths(i) = median(tidalflat(indices, 6));bin_widths = tidalflat(indices, 6);percentile25(i) = prctile(bin_widths, 25);percentile75(i) = prctile(bin_widths, 75);
end
latitudes_flipped = min_latitude + bin_width/2 : bin_width : max_latitude + bin_width/2;
plot(averaged_widths, latitudes_flipped, 'Color', [109,1,31]/256, 'LineWidth', 1);
hold on
fill([percentile25; flipud(percentile75)],[latitudes_flipped, fliplr(latitudes_flipped)], [109,1,31]/256,'edgecolor','none', 'FaceAlpha', 0.3);
box off
ax = gca;
pos = ax.Position;
xlim = ax.XLim;
ylim = ax.YLim;
ax.FontName = 'times new roman';
ax = gca; 
xpos = ax.Position(1); 
ypos = ax.Position(2); 
xwidth = ax.Position(3); 
ywidth = ax.Position(4); 
annotation('arrow',[xpos,xpos+xwidth],[ypos,ypos],'Color','black','HeadLength',8,'HeadWidth',8,'LineWidth',0.5,'LineStyle','-');
annotation('arrow',[xpos,xpos],[ypos,ypos+ywidth],'Color','black','HeadLength',8,'HeadWidth',8,'LineWidth',0.5,'LineStyle','-');
xlabel('Width (units)');
axis([0, 8000, 15, 45])
set(gca, 'YTick', [])
set(gca, 'FontSize', 8)
set(gca, 'XTick', [0:2000:6000], 'XTickLabel', [0:2:6], 'FontSize', 9)
xlabel('Width (Km)', 'FontSize', 9)
%%
clearvars -except plot1 cMap x y province_list
load nearshore_province.mat
table_tidalflat = readtable('China_tidalflat.csv','VariableNamingRule','preserve');
tidalflat = table2array(table_tidalflat);
width_loc=isnan(tidalflat(:,4));
tidalflat(width_loc,:)=[];
nanloc1=tidalflat(:,4)<10^(-5);%no slope
tidalflat(nanloc1,:)=[];
%%
World =shaperead('landareas.shp','UseGeoCoords',true);
ChinaL=shaperead('china1.shp');
ChinaP=shaperead('china2.shp');
rivers = shaperead('hyd2_4l.shp');
bou2_4lx=[ChinaL(:).X];
bou2_4ly=[ChinaL(:).Y];
bou2_4px=[ChinaP(:).X];
bou2_4py=[ChinaP(:).Y];
subplot('Position',  [410/x, 370/y, 200/x, 300/y])
title('B','fontsize',15,'fontname','times new roman','fontweight','bold','position',[105,45])
cmap = [256,256,256;144 201 231;33 158 188;19 103 131;2,48,74]/256;
hold on
n = size(cmap, 1); 
xq = linspace(1, n, 256);
cmap_smooth2 = interp1(1:n, cmap, xq, 'linear');
J = customcolormap([0 .35 .65 .95 1], flipud([256,256,256;144 201 231;33 158 188;19 103 131;2,48,74]/256),256);
geoshow(World,'facecolor',[.99 .99 .99],'edgecolor',[.3 .3 .3])
mapshow(ChinaL,'color',[.5 .5 .5])
mapshow(ChinaP(yanhai,:),'facecolor',[.7 .7 .7],'edgecolor',[.5 .5 .5])
mapshow(ChinaP(~yanhai,:),'facecolor',[.9 .9 .9],'edgecolor',[.5 .5 .5])
mapshow(rivers(heliu,:),'color',[.8 .8 .8])
scatter(tidalflat(:,2),tidalflat(:,3),8,tidalflat(:,4),'filled')
load box_fujian.mat
patch('Faces',[1 2 3 4],'Vertices',polygon,...'EdgeColor','r','FaceColor','none','LineWidth',1.2)
text(mean(polygon(:,1)), max(polygon(:,2)), '1.8\times10^{-2}' ,'Color','r','HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom')
load box_jiangsu.mat
patch('Faces',[1 2 3 4],'Vertices',polygon,...'EdgeColor','b','FaceColor','none','LineWidth',1.2)
text(mean(polygon(:,1)), max(polygon(:,2)), '2.3\times10^{-3}' ,'Color','b','HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom')
xlabel('Longitude (deg)','FontSize',12,'fontweight','bold');
xlabh = get(gca,'xlabel');
ylabel('Latitude (deg)','FontSize',12,'fontweight','bold');
ylabh = get(gca,'ylabel');
ax=gca;
ax.FontName = 'times new roman';
xticks([110 120])
xticklabels({'110°E','120°E'})
yticks([20 30 40])
yticklabels({'20°N','30°N','40°N'})
colormap(J);
h = colorbar('Location', 'south', 'Position', [455/x, 300/y, 200/x, 20/y]);
set(h,'fontsize',9);
ylabel(h,'Slope','fontsize',9,'fontname','times new roman') 
set(plot1, 'Colormap', cMap);
xlim([105 125])
ylim([15 45])
ax.TickLength = [0.01, 0.01];
ax.LineWidth = 1.5;
ax.XRuler.TickDirection = 'out';
ax.YRuler.TickDirection = 'out';
ax.Layer = 'top';
box on
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
subplot('Position', [620/x, 370/y, 80/x, 300/y])
latitudes = tidalflat(:, 3); 
widths = tidalflat(:, 4); 
bin_width = 0.5;
min_latitude = floor(min(latitudes)/bin_width)*bin_width; 
max_latitude = ceil(max(latitudes)/bin_width)*bin_width; 
num_bins = (max_latitude - min_latitude) / bin_width + 1;
averaged_widths = zeros(num_bins, 1);
percentile25 = zeros(num_bins, 1);
percentile75 = zeros(num_bins, 1);
for i = 1:num_bins-1lat_min = min_latitude + (i-1)*bin_width;lat_max = lat_min + bin_width;indices = find(tidalflat(:, 3) >= lat_min & tidalflat(:, 3) < lat_max);averaged_widths(i) = median(tidalflat(indices, 4));bin_widths = tidalflat(indices, 4);percentile25(i) = prctile(bin_widths, 25);percentile75(i) = prctile(bin_widths, 75);
end
latitudes_flipped = min_latitude + bin_width/2 : bin_width : max_latitude + bin_width/2;
plot(averaged_widths, latitudes_flipped, 'Color', [2,48,74]/256, 'LineWidth', 1);
hold on
fill([percentile25; flipud(percentile75)],[latitudes_flipped, fliplr(latitudes_flipped)], [2,48,74]/256,'edgecolor','none', 'FaceAlpha', 0.3);
box off
ax = gca; 
xpos = ax.Position(1); 
ypos = ax.Position(2); 
xwidth = ax.Position(3);
ywidth = ax.Position(4); 
ax.FontName = 'times new roman';
annotation('arrow',[xpos,xpos+xwidth],[ypos,ypos],'Color','black','HeadLength',8,'HeadWidth',8,'LineWidth',0.5,'LineStyle','-');
annotation('arrow',[xpos,xpos],[ypos,ypos+ywidth],'Color','black','HeadLength',8,'HeadWidth',8,'LineWidth',0.5,'LineStyle','-');
xlabel('Width (units)');
ylim([15 45])
set(gca, 'YTick', [])
set(gca, 'FontSize', 8)
set(gca, 'XTick', [0.02 0.04], 'XTickLabel', [0.02 0.04], 'FontSize', 9)
xlabel('Slope', 'FontSize', 9)
%%
clearvars -except plot1 cMap x y
table_tidalflat = readtable('China_tidalflat.csv','VariableNamingRule','preserve');
tidalflat = table2array(table_tidalflat);
width_loc=find(isnan(tidalflat(:,6)));
tidalflat(width_loc,:)=[];
width_loc2=find(isnan(tidalflat(:,4)));
tidalflat(width_loc2,:)=[];
nanloc1=find(tidalflat(:,4)==0);
tidalflat(nanloc1,:)=[];
slope0 = tidalflat(:, 6);
% Load data from file
slope1 = tidalflat(:, 6);
slope_avg = tidalflat(:, 4);
% Divide slope into 20 bins
nbins = 8;
bin_edges = [0 50 100 200 400 600 1000 1500 30000];
bin_counts = histcounts(slope1, bin_edges);
lo=8;
% Prepare data for boxplot
bin_indices = discretize(slope1, bin_edges);
boxplot_data = cell(lo, 1);
for i = 1:loboxplot_data{i} = slope_avg(bin_indices == i);
end
X2 = strings(1, lo);
for i = 1:loX2(i) = sprintf('%.0f - %.0f', bin_edges(i), bin_edges(i+1));
end
X2(end) = ">1500";
% X2 = categorical(X2, X2);
% Plot the boxplot
subplot('Position', [60/x, 60/y, 600/x, 160/y])
boxplot(slope_avg,bin_indices,'Labels',X2, ...'Widths', 0.7, 'Colors', 'k', 'Symbol', '', 'Whisker', 1, 'Notch', 'on');
boxes = findobj(gca, 'Tag', 'Box');
yy = accumarray(discretize(slope1, bin_edges), slope_avg, [], @median);
for i =1:length(yy)
colors(i,:) = [182-(yy(i)-min(yy))/ ...(max(yy)-min(yy))*180 215-(yy(i)-min(yy))/(max(yy)-min(yy)) ...*167 232-(yy(i)-min(yy))/(max(yy)-min(yy))*158]/256 ;
end
colors = flipud(colors);
for j = 1:length(yy)patch(get(boxes(j), 'XData'), get(boxes(j), 'YData'), colors(j, :));
end
% 修改中位数线的颜色,使其与箱体颜色一致
medians = findobj(gca, 'Tag', 'Median');
for j = 1:length(medians)x = get(medians(j), 'XData');y = get(medians(j), 'YData');line(x, y, 'Color', 'w', 'LineWidth', 1); % 重新绘制中位数线,设置颜色和线宽
end
hold on
for i = 1:lo-1text(i, prctile(boxplot_data{i},75), strcat('N = ', num2str(bin_counts(i))), ...'HorizontalAlignment', 'center', 'VerticalAlignment', 'top', ...'Color', 'w', 'FontName', 'times new roman');
end
i = lo;
text(i,0.0056159,strcat('N = ', num2str(bin_counts(i))), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom', 'Color', 'k','FontName', 'times new roman')
box off
ax = gca;
ax.FontSize = 9;
ax.FontName = 'times new roman';
xlabel('Width (m)', 'FontSize', 12, 'fontweight', 'bold')
ylabel('Median of Slope', 'FontSize', 12, 'fontweight', 'bold')
ax.TickLength = [0.005, 0.005];
ax.LineWidth = 1.5;
ax.XGrid = 'off';
ax.YGrid = 'off';
ax.XRuler.TickDirection = 'out';
ax.YRuler.TickDirection = 'out';
ax.Layer = 'top';
ylim([-0.001 0.04])
title('C', 'fontsize', 15, 'fontname', 'times new roman', 'fontweight', 'bold', 'position', [0.5, 0.04])
%%
set(gcf,'Units','Inches');
pos = get(gcf,'Position');
set(gcf,'PaperPositionMode','Auto','PaperUnits','Inches','PaperSize',[pos(3), pos(4)])
print('-djpeg','-r300','中国沿岸潮滩宽度和坡度分布.jpg')参考文献:
Liu, S., Hu, Z., Grandjean, T.J.et al.Dynamics and drivers of tidal flat morphology in China.Nat Commun16, 2153 (2025). https://doi.org/10.1038/s41467-025-57525-y

参考文献:
Liu, S., Hu, Z., Grandjean, T.J.et al.Dynamics and drivers of tidal flat morphology in China.Nat Commun16, 2153 (2025). https://doi.org/10.1038/s41467-025-57525-y

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/76585.shtml

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

相关文章

理解.NET Core中的配置Configuration

什么是配置 .NET中的配置&#xff0c;本质上就是key-value键值对&#xff0c;并且key和value都是字符串类型。 在.NET中提供了多种配置提供程序来对不同的配置进行读取、写入、重载等操作&#xff0c;这里我们以为.NET 的源码项目为例&#xff0c;来看下.NET中的配置主要是有…

windows服务器及网络:论如何安装(虚拟机)

今天我要介绍的是&#xff1a;在Windows中对于安装系统&#xff08;虚拟机的步骤以及相关的安装事宜&#xff09;&#xff0c;事不宜迟&#xff0c;让我们来看看系统安装&#xff08;虚拟机&#xff09;是怎么操作的&#xff1a; 对现在来说&#xff0c;安装电脑系统已经是非常…

shardingsphere-jdbc集成Seata分布式事务

1、导入相关依赖 <!-- shardingsphere-jdbc --><dependency><groupId>org.apache.shardingsphere</groupId><artifactId>shardingsphere-jdbc</artifactId><version>5.5.1</version></dependency><!-- shardingspher…

05-DevOps-Jenkins自动拉取构建代码

新建Gitlab仓库 先在Gitab上创建一个代码仓库&#xff0c;选择创建空白项目 安装说明进行填写&#xff0c;然后点击创建项目 创建好的仓库是空的&#xff0c;什么都没有 新建一个springboot项目&#xff0c;用于代码上传使用。 只是为了测试代码上传功能&#xff0c;所以代码…

C#核心(24)结构体和类的区别,抽象类和接口的区别(面试常问)

前言 随着上一节我们对StringBulider的讲解落下帷幕&#xff0c;c#核心的知识点我们也即将告一段落,我们讲完了面向对象要用的三大特性&#xff08;封装&#xff0c;继承&#xff0c;多态&#xff09;和七大原则。期中自然也不乏一些小的散的碎的的知识点。 今天我们要讲的也…

HTMLCSS实现异环网站,期末web作业

本网站是我在学习前端时敲得&#xff0c;仅供学习使用。 这段代码是一个完整的 HTML 网页项目&#xff0c;包含 HTML、CSS 和 JavaScript 部分&#xff0c;用于构建一个名为 “异环” 的网页。网页具备头部导航栏、主体视频展示、图片交互元素、音乐播放控制、视频弹窗播放以及…

Oracle表的别名不能用as,列的别名可以用as

在 Oracle 数据库中&#xff0c;‌表的别名‌和‌列的别名‌在使用 AS 关键字时确实有不同规则&#xff0c;以下是详细说明&#xff1a; 1. 表的别名&#xff08;Table Alias&#xff09;‌ ‌不支持 AS 关键字‌&#xff0c;直接跟在表名后即可。‌语法示例‌&#xff1a; S…

【SAP ME 44】在 HANA DB中报废SFC时的SHOP_ORDER表记录锁定

症状 SELECT…FROM SHOP_ORDER FOR UPDATE 在 SFC 报废期间持有锁,当同时调用数量较大时,可能会导致 HANA 数据库出现大量锁积压。这有时会导致因等待 HANA 数据库释放“选择更新”锁而导致报废 SFC 花费数分钟。 HANA 数据库日志中的示例: # begin PreparedStatement_ex…

Vscode开发Vue项目NodeJs启动报错处理

文章目录 背景一、npm启动报错报错信息定位原因处理方案第一步、下载安装高版本 二、node 无法识别报错信息处理方案定位原因第一步、检测环境变量第二步、重新开启界面 背景 使用Vscode开发Vue项目&#xff0c;使用到NodeJs&#xff0c;记录出现的问题及处理方案&#xff0c;…

破局遗留系统!AI自动化重构:从静态方法到Spring Bean注入实战

在当今快速发展的软件行业中,许多企业都面临着 Java 遗留系统的维护和升级难题。这些老旧系统往往采用了大量静态方法,随着业务的不断发展,其局限性日益凸显。而飞算 JavaAI 作为一款强大的 AI 工具,为 Java 遗留系统的重构提供了全新的解决方案,能够实现从静态方法到 Spring B…

2025妈妈杯数学建模C题完整分析论文(共36页)(含模型建立、可运行代码、数据)

2025 年第十五届 MathorCup 数学建模C题完整分析论文 目录 摘 要 一、问题分析 二、问题重述 三、模型假设 四、 模型建立与求解 4.1问题1 4.1.1问题1思路分析 4.1.2问题1模型建立 4.1.3问题1代码&#xff08;仅供参考&#xff09; 4.1.4问题1求解结果&#xff08;仅…

【Python爬虫详解】第一篇:Python爬虫入门指南

什么是网络爬虫&#xff1f; 网络爬虫&#xff08;Web Crawler&#xff09;是一种自动获取网页内容的程序。它可以访问网站&#xff0c;抓取页面内容&#xff0c;并从中提取有价值的数据。在信息爆炸的时代&#xff0c;爬虫技术可以帮助我们高效地收集、整理和分析互联网上的海…

【JavaWeb后端开发02】SpringBootWeb + Https协议

课程内容&#xff1a; SpringBootWeb 入门 Http协议 SpringBootWeb案例 分层解耦 文章目录 1. SpringBootWeb入门1.1 概述1.2 入门程序1.2.1 需求1.2.2 开发步骤1.2.3 常见问题 1.3 入门解析 2. HTTP协议2.1 HTTP概述2.1.1 介绍2.1.2 特点 2.2 HTTP请求协议2.2.1 介绍2.2.2…

MATLAB 控制系统设计与仿真 - 37

范数鲁棒控制器的设计 鲁棒控制器的设计 根据双端子状态方程对象模型结构&#xff0c;控制器设计的目标是找到一个控制器K(s),它能保证闭环系统的范数限制在一个给定的小整数下&#xff0c;即 这时控制器的状态方程为&#xff1a; 其中X与Y分别为下面两个代数Riccati方程的解…

依赖冲突,缺失插件导致无法启动项目 强制安装命令(npm install --legacy-peer-deps)

小白终成大白 文章目录 小白终成大白前言总结 前言 运维工程师说搞一个自动化打包流程 在服务器装了hbuilder 找前端来启动项目 我没启动起来 … 启动报错 failed to load config from D:\zhuque-uniapp\vite.config.js 16:17:31.601 error when starting dev server: 16:17:3…

数据战略新范式:从中台沉淀到服务觉醒,SQL2API 如何重塑数据价值链条?

一、数据中台退烧&#xff1a;从 “战略神话” 到 “现实拷问” 曾几何时&#xff0c;数据中台被视为企业数字化转型的 “万能解药”&#xff0c;承载着统一数据资产、打破业务壁垒的厚望。然而&#xff0c;大量实践暴露出其固有缺陷&#xff1a;某零售企业投入 500 万元建设中…

警惕阿里云中的yum update操作不当导致:/sbin/init被清空导致Linux无法正常启动

由于使用阿里云进行部署测试&#xff0c;因而会对yum update进行操作&#xff0c;这两天更新了systemd-239-82.0.3.4.al8.2.x86_64&#xff0c;但存在报错&#xff0c;然后进行yum history undo和清空yum cache&#xff0c;但出现操作Linux命令行无效。具体来说&#xff0c;几个…

论文阅读:2023 ICLR Safe RLHF: Safe Reinforcement Learning from Human Feedback

总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 Safe RLHF: Safe Reinforcement Learning from Human Feedback 安全 RLHF:通过人类反馈进行安全强化学习 https://arxiv.org/pdf/2310.12773 https://github.com/PKU-Alignment/safe…

android rom打包解包工具,Android ROM定制:boot.img、recovery解包打包

安卓boot.img和recovery.img解析与修改指南 安卓映像文件结构解析 大家都知道安卓的核心更换是在boot.img里面&#xff0c;那么如何在Windows下解开它呢&#xff1f;这里介绍一个实用的方法。 首先需要获取bootimg.exe工具&#xff0c;这个工具最初是为华为设备开发的&#…

cdp-(Chrome DevTools Protocol) browserscan检测原理逆向分析

https://www.browserscan.net/zh/bot-detection 首先,打开devtools后访问网址,检测结果网页显示红色Robot,标签插入位置,确定断点位置可以hook该方法,也可以使用插件等方式找到这个位置,本篇不讨论. Robot标签是通过insertBefore插入的. 再往上追栈可以发现一个32长度数组,里面…