网易首页 > 网易号 > 正文 申请入驻

数学建模国赛一等奖中好看的图表都是怎么做出来的?

0
分享至

合理的数学建模论文插图,会让你的论文增加不少色彩,也会让评委眼前一亮。话不多说,直接上干货,听说点赞+在看今年国赛都会入围国奖哦。

1.二维曲线

二维曲线 是最常见的一种曲线,它能反应两个变量的因果关系

>> x=linspace(1,200,100);%均匀生成数字1~200,共计100个

>> y1 = log(x)+ 1;%生成函数y=log(x)+1

>> y2 =log(x)+2;%生成函数y=log(x)+2

>> figure;

>> plot(x,y1);%作图 y=log(x)+1

>> hold on %多图共存在一个窗口上

>> plot(x,y2,'LineWidth',2);%作图 y=log(x)+2,LineWidth指线型的宽度,粗细尺寸2

>> hold off %关闭多图共存在一个窗口上

>> legend('y1','y2');%生成图例 y1和y2

plot(x,y’color’,‘r’,‘LineWidth’,1.5)
‘color’,‘r’

——color是颜色,‘r’(红),g (绿),b(蓝),c(蓝绿),m (紫红),y(黄),k(黑), w (白)。
LineWidth’1.5——线型的宽度,粗细尺寸1.5

2.二维散点图

x = linspace(1, 200, 100);

y1 = log(x) + 1;

y2 = log(x) + 2;

figure;

y3 = y1 + rand(1, 100) - 0.5;

plot(x, y1, 'LineWidth', 2, 'Color', [0.21, 0.21, 0.671]);%[0.21, 0.21, 0.671]为rbg

hold on

plot(x, y3, 'o', 'LineWidth', 2, 'Color', [0.46, 0.63, 0.90], 'MarkerFaceColor', [0.35, 0.90, 0.89], 'MarkerEdgeColor', [0.18, 0.62, 0.17]);

hold off

这段代码的功能是在同一张图上绘制两条曲线以及散点图。

具体的代码分析如下:

1.使用 linspace 函数生成一个包含 100 个数值的向量 x,范围为从 1 到 200。

x = linspace(1, 200, 100);

2. log 函数计算 y1 和 y2 的值,其中 y1 = log(x) + 1、y2 = log(x) + 2。

y1 = log(x) + 1;

y2 = log(x) + 2;

3.创建一个新的图形窗口。

figure;

4.使用 rand 函数生成一个包含 100 个随机数的向量,每个随机数位于 -0.5 到 0.5 之间。然后将这个随机数向量加到 y1 的结果上得到 y3。

y3 = y1 + rand(1, 100) - 0.5;

5.使用 plot 函数绘制第一个曲线,传入的参数依次为 x 值向量、y1 值向量,以及设置线的宽度为 2、颜色为 [0.21, 0.21, 0.671](即蓝色)。

plot(x, y1, 'LineWidth', 2, 'Color', [0.21, 0.21, 0.671]);

6.使用 hold on 命令保持图形窗口的当前状态,使得后续的绘图命令不会清除先前的图形。

7.使用 plot 函数绘制第二个曲线和散点图,传入的参数依次为 x 值向量、y3 值向量,以及设置线的样式为 ‘o’(表示使用圆形标记)、线的宽度为 2、颜色为 [0.46, 0.63, 0.90](即浅蓝色)、标记填充颜色为 [0.35, 0.90, 0.89](即浅绿色)、标记边缘颜色为 [0.18, 0.62, 0.17](即深绿色)。

plot(x, y3, 'o', 'LineWidth', 2, 'Color', [0.46, 0.63, 0.90], 'MarkerFaceColor', [0.35, 0.90, 0.89], 'MarkerEdgeColor', [0.18, 0.62, 0.17]);

8.使用 hold off 命令取消保持图形窗口的当前状态。

综上所述,该代码的作用是在同一张图上绘制两条曲线和散点图,展示了 x 值与 log(x)+1 的关系,并以不同的颜色和标记样式区分曲线和散点图。

3.二维渐变图

x = linspace(0,3*pi,200);

y= cos(x)+rand(1,200);%随机生成1*200,位于[0,1]的数字

sz=25;%尺寸为25

c = linspace(1,10,length(x));

scatter(x,y,sz,c,'filled')

这段代码的功能是生成一个散点图,其中 x 值为从 0 到 3π 之间等间隔的 200 个数值,y 值为对应的 cos(x) 值加上一个位于 0 到 1 之间的随机数。散点图中的每个点都有不同的颜色,颜色的取值范围和 x 值一致。

具体的代码分析如下:

1.使用 linspace 函数生成一个包含 200 个数值的向量 x,范围为从 0 到 3π。

3.使用 rand 函数生成一个包含 200 个随机数的向量,每个随机数位于 0 到 1 之间。然后将这个随机数向量加到 cos(x) 的结果上,得到 y 值。

设置变量 sz 的值为 25,表示散点的尺寸为 25。

4.使用 linspace 函数生成一个包含与向量 x 的长度相同的向量 c,范围为从 1 到 10。

5.使用 scatter 函数绘制散点图。传入的参数依次为 x 值向量、y 值向量、散点的尺寸向量、颜色向量和 ‘filled’ 表示用实心点绘制。

综上所述,该代码的作用是生成一个带有颜色映射的散点图,展示了 x 值与 cos(x) 和随机数之和之间的关系,并以尺寸大小和颜色来区分不同的数据点。

4.条形图

A = [60.689; 87.714; 143.1; 267.9515];

C = [127.5; 160.4; 231.9; 400.2];

B = C - A;

D = [A, B, C];

bar1 = bar([2:5:17], A, 'BarWidth', 0.2, 'FaceColor', 'k');

hold on;

bar2 = bar([3:5:18], B, 'BarWidth', 0.2, 'FaceColor', [0.5 0.5 0.51]);

hold on;

bar3 = bar([4:5:19], C, 'BarWidth', 0.2, 'FaceColor', 'w');

ylabel('耗时/s');

xlabel('GMM阶数');

legend('训练耗时', '测试耗时', '总耗时');

labelID = {'8阶', '16阶', '32阶', '64阶'};

set(gca, 'XTick', 3:5:20);

set(gca, 'XTickLabel', labelID);

这段代码用于绘制柱状图显示不同 GMM 阶数下的训练耗时、测试耗时和总耗时。

首先,代码定义了四个向量 A、C、B 和 labelID:

A:包含 GMM 阶数为 8、16、32 和 64 时的训练耗时(单位为秒)。

C:包含 GMM 阶数为 8、16、32 和 64 时的测试耗时(单位为秒)。

B:通过计算 C 减去 A 得到,表示不同 GMM 阶数下的测试耗时减去训练耗时的差值。

labelID:包含四个字符串,表示对应的 GMM 阶数。

然后,代码使用 bar 函数绘制柱状图:

bar1:绘制 GMM 阶数为 8、16、32 和 64 时的训练耗时,位于 x 轴上的位置为 [2:5:17]。柱状图的宽度为 0.2,颜色为黑色。

bar2:绘制 GMM 阶数为 8、16、32 和 64 时的测试耗时减去训练耗时的差值,位于 x 轴上的位置为 [3:5:18]。柱状图的宽度为 0.2,颜色为灰色。

bar3:绘制 GMM 阶数为 8、16、32 和 64 时的测试耗时,位于 x 轴上的位置为 [4:5:19]。柱状图的宽度为 0.2,颜色为白色。

接着,代码设置了图表的标题、标签和图例:

ylabel('耗时/s'):设置 y 轴的标签为 “耗时/s”。

xlabel('GMM阶数'):设置 x 轴的标签为 “GMM阶数”。

legend('训练耗时', '测试耗时', '总耗时'):设置图例,分别对应训练耗时、测试耗时和总耗时。

最后,代码使用 set 函数设置 x 轴刻度的位置和标签:

set(gca, 'XTick', 3:5:20):设置 x 轴的刻度位置为 [3, 8, 13, 18]。

set(gca, 'XTickLabel', labelID):设置 x 轴的刻度标签为 labelID 中的字符串。

通过这段代码,我们可以直观地比较不同 GMM 阶数下的训练耗时、测试耗时和总耗时,从而进行性能分析和比较。

5.填充图

x = 0.4:0.1:2*pi;

y1 = sin(2*x);

y2 = sin(x);

% 确定y1和y2的上下边界

maxY = max([y1; y2]);

minY = min([y1; y2]);

% 确定填充多边形,按照顺时针方向来确定点

xFill = [x, fliplr(x)];

yFill = [maxY, fliplr(minY)];

figure;

fill(xFill, yFill, [0.21, 0.21, 0.67]);

hold on;

% 绘制轮廓线

plot(x, y1, 'k', 'LineWidth', 2);

plot(x, y2, 'k', 'LineWidth', 2);

hold off;

上面的代码实现了以下功能:

首先,通过x = 0.4:0.1:2*pi;生成了一个从0.4到2π的等差数列作为x轴的坐标。

接下来,使用sin(2*x)和sin(x)分别计算了两个函数yl和y2关于x的取值。

通过maxY = max([yl; y2]);和minY = min([yl; y2]);确定了两个函数的上下边界。

使用xFill = [x, fliplr(x)];生成了一个用于填充的多边形的x轴坐标,通过yFill = [maxY, fliplr(minY)];生成了对应的y轴坐标。

创建一个图形窗口 figure;。

使用fill(xFill, yFill, [0.21, 0.21, 0.67]);将多边形填充颜色设置为淡蓝色。

进行图形绘制操作时,使用hold on;来保持图形窗口不关闭。

使用plot(x, y1, 'k', 'LineWidth', 2);和plot(x, y2, 'k', 'LineWidth', 2);分别绘制了函数y1和y2的轮廓线。这里的'k'表示线的颜色为黑色,'LineWidth', 2表示线的宽度为2。

使用hold off;释放图形窗口,使其可以响应进一步的交互操作。

这段代码的作用是绘制两个函数的轮廓线,并在函数曲线和曲线之间的区域使用填充色进行区分。

6.多Y轴图

figure;

load('accidents.mat', 'hwydata')

ind = 1:51;

drivers = hwydata(:, 5);

yyaxis left

scatter(ind, drivers, 'LineWidth', 2);

title('Highway Data');

xlabel('States');

ylabel('Licensed Drivers (thousands)');

pop = hwydata(:, 7);

yyaxis right

scatter(ind, pop, 'LineWidth', 2);

ylabel('Vehicle Miles Traveled (millions)');

上述代码主要涉及到绘制散点图以及设置图形的标题和轴标签。下面是对代码进行分析的解释:

figure;:创建一个新的图形窗口,用于显示绘图结果。

load('accidents.mat', 'hwydata'):从名为accidents.mat的MAT文件中加载变量hwydata。

ind = 1:51;:创建一个数组ind,包含从1到51的整数,用于表示各个州。

drivers = hwydata(:, 5);:将第5列(Licensed Drivers)的数据提取到变量drivers中。

yyaxis left:设置左侧y轴为活动状态,用于在该轴上绘制数据。

scatter(ind, drivers, 'LineWidth', 2);:绘制散点图,x轴为ind,y轴为drivers,线条宽度为2。

title('Highway Data');:设置图形的标题为"Highway Data"。

xlabel('States');:设置x轴的标签为"States"。

ylabel('Licensed Drivers (thousands)');:设置左侧y轴的标签为"Licensed Drivers (thousands)"。

pop = hwydata(:, 7);:将第7列(Vehicle Miles Traveled)的数据提取到变量pop中。

yyaxis right:将右侧y轴设置为活动状态,用于在该轴上绘制数据。

scatter(ind, pop, 'LineWidth', 2);:绘制散点图,x轴为ind,y轴为pop,线条宽度为2。

ylabel('Vehicle Miles Traveled (millions)');:设置右侧y轴的标签为"Vehicle Miles Traveled (millions)"。

通过这段代码,你可以同时展示各个州的已领驾照人数和车辆行驶里程的情况,并且能够直观地比较这两个数据之间的关系。

7.三维散点图

figure;

[X, Y, Z] = sphere(16);

x = [0.5*X(:); 0.75*X(:); X(:)];

y = [0.5*Y(:); 0.75*Y(:); Y(:)];

z = [0.5*Z(:); 0.75*Z(:); Z(:)];

S = repmat([70, 50, 20], numel(X), 1);

C = repmat([1, 2, 3], numel(X), 1);

s = S(:);

c = C(:);

h = scatter3(x, y, z, s, c);

h.MarkerFaceColor = [0 0.5 0.5];

上述代码执行了以下操作:

创建一个新的图形窗口(figure)。

使用sphere函数生成一个球体模型,并返回球体上16个等距点的坐标,分别存储在X、Y和Z三个矩阵中。

根据球体坐标,创建新的x、y、z向量,将球体的各个点分别按照0.5倍、0.75倍和原始大小进行缩放。

使用repmat函数将一个大小为(numel(X)*3)×3的矩阵S复制扩展为一个与x、y、z向量长度相同的矩阵,用于指定散点的大小。

使用repmat函数将一个大小为(numel(X)*3)×3的矩阵C复制扩展为一个与x、y、z向量长度相同的矩阵,用于指定散点的颜色。

将大小和颜色的矩阵展平为一维向量。

使用scatter3函数在3D坐标系中绘制散点图,其中x、y、z为散点的坐标,s为散点的大小,c为散点的颜色。

设置散点的实心标记的颜色为[0 0.5 0.5]。

总结起来,该代码的目的是在3D坐标系中绘制一个球体的散点图,散点的大小和颜色根据距离和索引进行变化。

x = linspace(1,200,100);

y1 = log(x) + 1;

y2 = log(x) + 2;

y3 = y1 + rand(1,100) - 0.5;

figure;

scatter3(x,y2,y3, x, x,'filled');

上述代码执行了以下操作:

创建一个长度为100的向量x,其中元素从1到200等间隔分布。

使用log函数对向量x进行运算,并加上常数1,将结果存储在向量y1中。

使用log函数对向量x进行运算,并加上常数2,将结果存储在向量y2中。

生成一个1行100列的随机数矩阵,每个元素从0到1之间均匀分布,然后减去0.5,将结果与向量y1相加,将最终结果存储在向量y3中。

创建一个新的图形窗口(figure)。

使用scatter3函数在三维坐标系中绘制散点图,其中x轴对应向量x,y轴对应向量y2,z轴对应向量y3。散点的大小和颜色都使用x向量的值进行映射,并设置为填充形式。

总结起来,该代码的目的是绘制一个三维散点图,其中x轴对应线性间隔的向量x,y轴对应log(x)+2的结果,z轴对应log(x)+1与生成的随机数相加的结果,散点的大小和颜色由x轴的值确定。

8.等高线图

figure;

[X, Y, Z] = peaks;

subplot(2,2,1);

contour(X, Y, Z, 20, 'LineWidth', 2);

subplot(2,2,2);

contour(X, Y, Z, '--', 'LineWidth', 2);

subplot(2,2,3);

v = [1, 1];

contour(X, Y, Z, v, 'LineWidth', 2);

x = -2:0.2:2;

y = -2:0.2:3;

[X, Y] = meshgrid(x, y);

Z = X .* exp(-X.^2 - Y.^2);

subplot(2,2,4);

contour(X, Y, Z, 'ShowText', 'on', 'LineWidth', 2);

上述代码执行了以下操作:

创建一个新的图形窗口(figure)。

使用peaks函数生成一个默认大小的山峰数据,将生成的x、Y、Z坐标分别存储在对应的变量中。

创建一个2行2列的图形子区域,并选取第1行第1列的子图作为当前绘图区域。

在第1行第1列的子图中使用contour函数绘制等高线图,使用20个等高线线,并将线宽设置为2。

在第1行第2列的子图中使用contour函数绘制等高线图,使用虚线样式’–',并将线宽设置为2。

在第2行第1列的子图中使用contour函数绘制等高线图,指定了一个特定的等高线值v为[1,1],并将线宽设置为2。

重新定义x和y的取值范围,并利用meshgrid函数生成新的二维网格。

使用新的网格数据和函数Z=X.*exp(-X.^2 - Y.^2)生成新的Z值。

在第2行第2列的子图中使用contour函数绘制新的等高线图,并设置显示等高线上的数值,线宽设置为2。

总结起来,该代码的目的是在一个图形窗口中绘制四个子图。第一个子图是原始山峰数据的等高线图,第二个子图是带有虚线的原始山峰数据的等高线图,第三个子图是指定等高线值的原始山峰数据的等高线图,第四个子图是基于新生成的网格和函数生成的等高线图,并显示等高线上的数值。每个子图中的等高线线宽都为2。

9.热图

z = rand(50);

z(z >= 0.0 & z < 0.6) = 0.5;

z(z >= 0.6 & z < 0.8) = 0.7;

z(z >= 0.8 & z <= 1) = 0.9;

for i = 1:30

z(randi(50,1,1):end, i) = nan;

end

for i = 31:50

z(30 + randi(20,1,1):end, i) = nan;

end

z(20:25, 40:45) = nan;

figure;

ax = pcolor(z);

view(0, 90);

ax.EdgeColor = [1 1 1];

以下是对代码的分析:

代码开始处通过rand函数生成了一个大小为50x50的随机矩阵z,其中的元素值在0到1之间。

使用逻辑条件运算符&对矩阵z进行筛选操作,将满足条件的元素值区间[0.0, 0.6)的元素设置为0.5,将区间[0.6, 0.8)的元素设置为0.7,将区间[0.8, 1]的元素设置为0.9。

使用循环结构,首先对前30列的每一列进行操作,通过随机数生成一个行索引,将该行及其以下的元素设置为NaN,即缺失值。

接着对第31到50列的每一列进行类似的操作,生成一个行索引,将从该行开始的元素设置为NaN。

使用行和列索引的方式,将矩阵中的20到25行、40到45列的元素设置为NaN。

创建一个新的图形窗口。

使用pcolor函数绘制z的伪彩色图,将z的值表示为颜色。返回一个图块对象ax。

使用view函数将视角设置为0度仰视、90度旋转。

使用ax.EdgeColor将图块的边界颜色设置为白色。

通过上述分析,可以得出以下结论:该代码主要是对一个随机矩阵进行一系列的操作,包括将特定区域的元素置为特定值、设置部分元素为缺失值NaN,以及绘制矩阵的伪彩色图形。这些操作有助于对随机矩阵的特征和可视化展示进行分析。

文章来源:数模乐园整理编辑,部分内容源于csdn,未经允许,禁止转载

2023数维杯国际大学生数学建模挑战赛报名开启

数维杯已成为数学建模行业内仅次于国赛和美赛的的第三赛事,国内外具有较高的影响力。被众多所高校推广甚至列为国家级赛事选拔赛,国内外具有较高的影响力。

国际赛与美赛赛制完全相同,适合作为美赛前大型练习赛和选拔赛,比赛的题目均以英文形式给出,题目类型分别为MCM(A、B题,比较注重理论和思路)和ICM(C、D题,比较注重实际应用),各参赛队可从4套题中任选一题,要求参赛者提供英文的解决方案。

近期领取历年真题及论文资料

或复制报名网址http://www.nmmcm.org.cn/match_detail/30上自行注册报名,集体报名可由学校指导老师或建模协会负责人带队组织报名,报名成功后不予退费。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
俄罗斯真的敢在乌克兰境内使用核武器?德国总理:完全没必要担心

俄罗斯真的敢在乌克兰境内使用核武器?德国总理:完全没必要担心

种花家的评论员
2024-06-13 12:00:02
消亡的“东方哈佛”:曾在中国碾压一切名校,校友都是泰斗级大神

消亡的“东方哈佛”:曾在中国碾压一切名校,校友都是泰斗级大神

天气观察站
2024-06-16 07:35:08
王思聪和21岁女友高调秀恩爱,躺其腿上睡觉,发际线抢镜

王思聪和21岁女友高调秀恩爱,躺其腿上睡觉,发际线抢镜

娱记掌门
2024-06-16 23:33:29
为什么飞机一定要烧煤油?用汽油、柴油不好吗?

为什么飞机一定要烧煤油?用汽油、柴油不好吗?

史小纪
2024-06-16 16:37:48
属兔人:6月17号要乐开花了,你知道6月17号是什么日子吗?

属兔人:6月17号要乐开花了,你知道6月17号是什么日子吗?

牛锅巴小钒
2024-06-16 16:49:22
曼联4200万可签德里赫特!拉爵或改变新中卫目标,大英铁卫亦候选

曼联4200万可签德里赫特!拉爵或改变新中卫目标,大英铁卫亦候选

罗米的曼联博客
2024-06-16 09:09:49
蒂亚戈-梅西:自己踢比赛比看父亲比赛更紧张,我的左脚不太行

蒂亚戈-梅西:自己踢比赛比看父亲比赛更紧张,我的左脚不太行

直播吧
2024-06-16 20:56:03
1981年,他被连队关禁闭借故爬上大树解闷,一亮光改变了他的人生

1981年,他被连队关禁闭借故爬上大树解闷,一亮光改变了他的人生

百年历史老号
2024-06-12 07:38:26
小米公司两位总经理涉贪腐被开除!

小米公司两位总经理涉贪腐被开除!

互联网坊间八卦
2024-06-15 17:51:11
潜伏美国37年的中共谍王暴露始末,因国际惯例,我方无法进行交换

潜伏美国37年的中共谍王暴露始末,因国际惯例,我方无法进行交换

干史人
2024-05-25 19:18:25
旅行者 1 号满血复活,NASA 修复人类最遥远的探测器

旅行者 1 号满血复活,NASA 修复人类最遥远的探测器

IT之家
2024-06-16 06:53:06
我和老公体质健全却生下智障儿子,偷偷做了亲子鉴定后,我心凉了

我和老公体质健全却生下智障儿子,偷偷做了亲子鉴定后,我心凉了

星辰故事屋
2024-06-02 17:14:18
万达集团创始人王健林宣布退出公司并将全部股权转让给中国儒意

万达集团创始人王健林宣布退出公司并将全部股权转让给中国儒意

鹏飞深文
2024-04-22 12:19:28
周海媚从小就有阴阳眼,离世前曾有诡异预兆?靠撞鬼走红是真的吗

周海媚从小就有阴阳眼,离世前曾有诡异预兆?靠撞鬼走红是真的吗

洞鉴历史
2024-06-11 14:23:53
王思聪彻底栽了!黄一鸣孩子有“法定继承权”,万达迎来真公主?

王思聪彻底栽了!黄一鸣孩子有“法定继承权”,万达迎来真公主?

木子爱娱乐大号
2024-06-14 14:01:41
七国要普京赔款,北约50万大军备战,普京给美国集团上硬菜

七国要普京赔款,北约50万大军备战,普京给美国集团上硬菜

青年的背包
2024-06-16 23:46:39
华为纯血鸿蒙完全独立于安卓iOS 采用纯国产微内核

华为纯血鸿蒙完全独立于安卓iOS 采用纯国产微内核

3DMGAME官方号
2024-06-16 11:26:13
马斯克说到做到:4000亿工资到手后,将特斯拉迁走

马斯克说到做到:4000亿工资到手后,将特斯拉迁走

互联网.乱侃秀
2024-06-14 10:28:34
经济体量全球第二的数据真的太虚了吗?

经济体量全球第二的数据真的太虚了吗?

流苏晚晴
2024-06-10 11:01:25
预测顺位飙升!火箭锁定2冠中锋,场均9板2.7帽,内线防守不愁了

预测顺位飙升!火箭锁定2冠中锋,场均9板2.7帽,内线防守不愁了

领袖阿尔弗图
2024-06-16 21:00:40
2024-06-17 02:40:49
数模乐园官方
数模乐园官方
专注于数学建模,分享干货知识
1135文章数 793关注度
往期回顾 全部

教育要闻

剑南春2024高考专题报道

头条要闻

冷藏货车违规乘人致8人窒息后遇难 河南叶县通报

头条要闻

冷藏货车违规乘人致8人窒息后遇难 河南叶县通报

体育要闻

没人永远年轻 但青春如此无敌还是离谱了些

娱乐要闻

上影节红毯:倪妮好松弛,娜扎吸睛

财经要闻

打断妻子多根肋骨 上市公司创始人被公诉

科技要闻

iPhone 16会杀死大模型APP吗?

汽车要闻

售17.68万-21.68万元 极狐阿尔法S5正式上市

态度原创

房产
教育
旅游
数码
公开课

房产要闻

万华对面!海口今年首宗超百亩宅地,重磅挂出!

教育要闻

北京高考阅卷进行中,语文已有多篇作文有望拿满分!

旅游要闻

@毕业生,江苏这些景区可享免票或优惠

数码要闻

PCIe 5.0 SSD终于要便宜了!群联E31T主控无缓存能跑12GB/s

公开课

近视只是视力差?小心并发症

无障碍浏览 进入关怀版