MATLAB教程PPT课件复现指南:从看懂到跑通再到复用
简介这份MATLAB教程PPT课件面向高校学生、初学者及需要系统梳理MATLAB基础的工程技术人员帮助其掌握矩阵运算、数据可视化、数值计算与程序编写等核心技能。压缩包内共1个PPT文件整体约8.97MB以幻灯片形式组织教学内容便于课堂讲解与自学翻阅。课件从MATLAB发展历史与产品家族讲起涵盖桌面环境入门、语言基础、数据可视化方法、数值计算实现并延伸至信号处理、图像处理等专业工具箱的应用场景同时给出课程安排、上机实验要求与参考书目理论与实践结合紧密。目前已有152人学习浏览适合作为线性代数、控制理论、信号处理等课程的配套学习材料也可用于上机实验前的知识预习与复习帮助读者由浅入深理解MATLAB的编程思路与工程应用方式。1. 从一份“matlab教程ppt课件.ppt”说起为什么老手也常翻车很多人第一次拿到“matlab教程ppt课件.ppt”这类文件时第一反应是把它当成一份普通讲义翻两页就丢进硬盘角落。但真正带过新人、做过课程设计或企业内训的工程师会告诉你一份结构完整的 MATLAB 课件其实是一张被压缩过的知识地图它把矩阵运算、脚本函数、绘图可视化、Simulink 建模这些看似分散的点用一条教学路径串了起来。问题在于PPT 天然是“讲”的载体不是“练”的载体直接照着幻灯片敲代码十有八九会在某个不起眼的语法细节上翻车。这篇笔记想聊的就是怎么把一份 MATLAB 教程 PPT 课件从“看得懂”变成“跑得通”再变成“能改能用”。适合刚接手 MATLAB 教学任务的讲师、需要做内部培训的工程师以及想靠一套课件系统补基础的自学者。核心不是复述课件内容而是拆解它背后的知识骨架补上 PPT 讲不到的操作细节和参数边界。2. 拆解课件骨架一份 MATLAB 教程 PPT 通常藏了哪几层知识2.1 从目录页反推知识依赖顺序拿到一份 MATLAB 教程 PPT别急着从第一页往后翻。先看目录页或章节导航把一级标题抄下来通常能归成四类基础语法与矩阵操作、脚本与函数、数据可视化、工具箱或 Simulink 入门。这四类的依赖关系非常强矩阵操作不熟后面写函数就会在索引和维度上反复出错脚本流程没理清绘图时连数据怎么传进去都搞不明白。我一般会按下面的顺序重新排一遍学习路径而不是完全跟着 PPT 页码走PPT 常见章节实际建议顺序原因MATLAB 界面介绍最后看界面操作可以边用边记先学反而记不住矩阵与数组第 1所有运算的底座必须最先过脚本与函数第 2把矩阵操作组织成可复用单元绘图与可视化第 3依赖前两步的数据结构工具箱/Simulink第 4属于应用层基础不牢会变成黑匣子这个顺序不是绝对的但如果你发现课件里把绘图放在矩阵之前大概率是面向演示型教学设计的自学时要主动调整。判断依据很简单打开任意一个绘图示例看它生成数据的代码用了哪些矩阵操作如果那些操作你还不熟就说明还没到学绘图的时候。2.2 识别 PPT 里的“演示代码”和“可运行代码”PPT 上的代码块分两种一种是为了说明语法片段故意省略了变量定义和上下文另一种是完整可运行的示例。前者直接复制到编辑器里必然报错后者才值得动手跑。区分方法很直接看代码里有没有...省略号、有没有未定义的变量名、有没有% 此处省略这类注释。我一般会先把所有完整示例挑出来在本地建一个ppt_demo文件夹按章节编号存成.m文件比如ch03_matrix_basic.m。这样做的目的是把课件从阅读材料变成练习材料后面每改一个参数都能立刻看到反馈。% ch03_matrix_basic.m % 对应 PPT 第 3 章矩阵基础示例补全了 PPT 中省略的变量定义 A [1 2 3; 4 5 6; 7 8 9]; % 3x3 矩阵PPT 里直接用了 A 但没给定义 B A; % 转置验证行列互换 C A * B; % 矩阵乘法注意不是点乘 disp(A 的维度); disp(size(A)); disp(C 的对角线元素); disp(diag(C));这段代码的关键在于补全了 PPT 省略的输入数据并加了size和diag两个验证点。参数说明A是手动构造的 3x3 矩阵实际课件里可能用rand或magic生成换成magic(3)效果类似B A是共轭转置如果矩阵是实数等价于普通转置C A * B用的是矩阵乘法如果误写成A .* B会变成逐元素相乘结果完全不同。跑完这段至少能确认矩阵乘法和转置这两个概念在代码层面是对得上的。2.3 把“知识点标题”翻译成可验证的小任务PPT 的章节标题往往是“矩阵的运算”“函数的定义”这种概括性表述直接看容易滑过去。更有效的做法是把每个标题改写成一句可验证的任务比如“矩阵的运算”改成“构造两个矩阵分别做加、乘、点乘比较结果差异”。这样每学完一节都有一个明确的完成标准。下面这张表是我常用的翻译对照你可以直接套PPT 标题可验证任务验证方式矩阵的运算构造 3x3 矩阵做加、乘、点乘检查size和具体数值函数的定义写一个带两个输入一个输出的函数用不同参数调用看输出是否符合预期二维绘图画一条正弦曲线并加标签检查坐标轴范围、线宽、图例循环与判断用 for 循环计算累加和和sum函数结果对比这种翻译的好处是你不再依赖 PPT 的讲解节奏而是自己控制验证节奏。每完成一个任务就在对应的.m文件里加一段注释记录当时用的参数和观察到的现象。后面回头查的时候这些注释比 PPT 截图有用得多。3. 把课件跑起来从 PPT 示例到本地可复现脚本的完整操作3.1 环境准备与版本差异的提前排查在动手之前先确认本地 MATLAB 的版本和 PPT 课件对应的版本是否接近。常见做法是看 PPT 里有没有用到较新的函数比如string类型、tiledlayout、arguments块这些。如果课件比较老用的是subplot和cell数组那在新版本上跑通常没问题反过来新课件在老版本上跑就可能报“未定义函数”。我一般会在脚本开头加一段版本检查避免后面调试时被环境问题干扰。% check_env.m % 检查当前 MATLAB 版本是否满足课件示例的基本要求 verInfo ver(MATLAB); fprintf(当前 MATLAB 版本%s\n, verInfo.Release); if verLessThan(matlab, 9.0) warning(版本低于 R2016a部分示例可能不支持 table 或 string 类型); end % 检查常用工具箱是否存在 toolboxes {Signal Processing Toolbox, Image Processing Toolbox}; for i 1:length(toolboxes) if isempty(ver(toolboxes{i})) fprintf(未检测到%s相关章节示例可能无法运行\n, toolboxes{i}); end end这段代码的逻辑是先取 MATLAB 主版本号再用verLessThan做阈值判断。参数说明9.0对应 R2016a是一个比较保守的基线很多现代课件示例在这个版本之后都能跑工具箱检查用的是ver函数传入工具箱名称返回空则表示未安装。注意ver的参数是工具箱的完整名称拼写要和官方一致否则会误报。跑完这个检查你就能提前知道哪些章节需要跳过或找替代方案而不是跑到一半才发现缺工具箱。3.2 逐章复现以矩阵运算和绘图为例的最小闭环复现课件示例时不要一次把整章代码全贴进去跑。更稳的做法是按“输入—处理—输出”拆成三段每段单独验证。以矩阵运算和绘图为例先构造数据再算结果最后画图。下面是一个最小闭环示例对应 PPT 里常见的“矩阵运算后绘图”组合。% ch04_matrix_plot.m % 复现 PPT 中“矩阵运算 绘图”组合示例 x linspace(0, 2*pi, 100); % 生成 0 到 2π 的 100 个点 A [1 0.5; 0.5 1]; % 2x2 矩阵用于线性变换 Y [cos(x); sin(x)]; % 2x100 矩阵每列是一个坐标 Y_transformed A * Y; % 矩阵乘法对每个坐标做线性变换 figure; plot(Y(1,:), Y(2,:), b--, LineWidth, 1.2); hold on; plot(Y_transformed(1,:), Y_transformed(2,:), r-, LineWidth, 1.5); axis equal; grid on; legend(原始单位圆, 线性变换后); xlabel(X); ylabel(Y); title(矩阵运算对单位圆的影响);逻辑说明先用linspace生成角度序列再用cos和sin构造单位圆上的点存成 2x100 矩阵。A是一个对称正定矩阵用来做线性变换。A * Y是矩阵乘法对每一列坐标做变换。绘图部分用hold on叠加两条曲线axis equal保证坐标轴比例一致否则圆会看起来像椭圆。参数说明LineWidth控制线宽b--是蓝色虚线r-是红色实线legend的顺序要和plot的顺序一致否则标注会错位。跑完这段如果红色曲线还是圆说明A接近单位矩阵如果变成椭圆说明变换生效了。这个闭环能帮你同时验证矩阵乘法和绘图两个知识点。3.3 把 PPT 里的 Simulink 框图转成可运行模型如果课件里有 Simulink 部分PPT 通常只给一张框图截图不会给.slx文件。这时候需要手动搭一个最小模型来验证。常见做法是新建一个 Simulink 模型拖入Sine Wave、Gain、Scope三个模块连起来跑。参数设置上Sine Wave的频率设为2*piGain设为0.5仿真时间设为10秒。跑完后双击Scope看波形如果是一条振幅 0.5 的正弦波说明模型搭对了。这一步的关键不是复现 PPT 里的复杂系统而是确认自己会搭最基本的信号流。PPT 上的框图再漂亮不能跑就是一张图能跑起来才有调试的可能。4. 参数与边界课件里不会写但实际调试必须知道的几个点4.1 矩阵维度不匹配的三种典型报错与排查矩阵维度不匹配是 MATLAB 新手最常见的翻车点PPT 里通常只写“注意维度一致”但不会告诉你报错信息怎么读。下面三种报错对应不同的维度问题报错信息含义排查方法Inner matrix dimensions must agree矩阵乘法维度不满足检查size(A,2)是否等于size(B,1)Matrix dimensions must agree逐元素运算维度不一致检查两个操作数size是否完全相同Index exceeds matrix dimensions索引超出范围检查索引值是否大于对应维度长度排查时不要靠猜直接在命令行敲size(A)和size(B)对比数字。如果是逐元素运算两个矩阵的size必须完全一致如果是矩阵乘法前一个的列数必须等于后一个的行数。这个习惯能省掉大量反复试错的时间。4.2 绘图参数线宽、颜色、坐标轴范围的常见取值PPT 里的绘图示例往往用默认参数实际做报告或论文时默认线宽和字体大小通常偏小。我一般会把线宽调到 1.5 到 2.0字体调到 12 到 14坐标轴范围根据数据手动设而不是完全交给axis auto。下面是一组常用参数% plot_style.m % 统一设置绘图风格适合课件示例和报告插图 set(groot, defaultLineLineWidth, 1.5); set(groot, defaultAxesFontSize, 12); set(groot, defaultAxesGridLineStyle, :); % 绘图时手动指定坐标轴范围 x 0:0.01:2*pi; y sin(x); figure; plot(x, y, LineWidth, 1.8, Color, [0.2 0.4 0.8]); xlim([0 2*pi]); ylim([-1.2 1.2]); xlabel(角度 (rad)); ylabel(幅值); title(正弦曲线); grid on;set(groot, ...)设置的是全局默认值只影响之后新建的图形不影响已经打开的图。Color用 RGB 三元组可以精确控制颜色比b这种单字母更灵活。xlim和ylim手动设范围避免数据边界被自动裁剪。这些参数在 PPT 里通常不会写但实际出图时几乎每次都要调。4.3 函数文件与脚本文件的混用边界PPT 讲函数时经常把函数定义和脚本代码放在同一页但实际 MATLAB 里脚本文件和函数文件的组织方式有明确边界。一个.m文件如果以function开头就是函数文件外部只能通过函数名调用如果以普通语句开头就是脚本文件可以直接运行。混用的常见错误是在脚本里定义函数然后期望在命令行直接调用那个函数结果报“未定义”。正确做法是每个函数单独存一个文件文件名和函数名一致。如果确实想把多个函数放在一个文件里只有第一个函数能被外部调用后面的函数只能被同文件内的函数调用。这个边界在 PPT 里往往一笔带过但实际写代码时踩坑率很高。5. 避坑与排查复现 MATLAB 课件时最容易翻车的 5 个地方5.1 现象复制 PPT 代码后报“未定义变量 x”原因PPT 为了节省版面经常省略输入数据的定义直接写plot(x, y)但x和y在前文没有赋值。 解决在代码开头补上数据生成语句比如x 0:0.1:10; y sin(x);。如果 PPT 里有多个示例共用变量按章节单独建脚本不要跨章节复用变量名。5.2 现象循环里画图结果只显示最后一帧原因plot默认会覆盖当前坐标轴循环里每次调用都会清掉上一次的图。 解决在循环前加figure; hold on;循环内用plot叠加循环后加hold off;。如果想让每帧单独显示用drawnow强制刷新但要注意性能数据量大时会明显变慢。5.3 现象函数文件保存后调用报“输入参数太多”原因函数定义时的输入参数个数和调用时不一致或者函数文件名和函数名不匹配MATLAB 实际调用的是另一个同名文件。 解决检查函数声明行function y myfun(a, b)和调用行myfun(1, 2)的参数个数是否一致用which myfun确认 MATLAB 找到的是哪个文件。如果路径下有多个同名文件优先删除或重命名旧的。5.4 现象Simulink 模型跑起来报“代数环”原因模型中存在直接反馈路径某个模块的输出直接或间接依赖自身输入没有延迟环节。 解决在反馈路径上插入Unit Delay或Memory模块打破代数环。PPT 里的框图通常不会标出这个问题但实际搭建时只要出现直接反馈就大概率触发。5.5 现象绘图中文标签显示成方框原因MATLAB 默认字体不支持中文或者当前字体集里没有中文字形。 解决在绘图前设置set(groot, defaultAxesFontName, SimHei)或系统里已安装的其他中文字体。如果仍然显示异常检查系统字体缓存或者临时改用英文标签出图后再用其他工具加中文。6. 从课件到自己的工具箱把 PPT 示例改造成可复用函数学完一份 MATLAB 教程 PPT如果只是把示例跑一遍过两周基本就忘了。更有效的收尾方式是挑几个高频操作改写成带参数检查的可复用函数存进自己的工具箱文件夹。比如课件里反复出现“生成正弦数据并绘图”就可以封装成一个函数输入频率、采样点数、线宽输出图形句柄。这样下次做类似任务时不用再翻 PPT直接调用自己的函数。function h plot_sine(freq, nPoints, lineWidth) % PLOT_SINE 绘制指定频率的正弦曲线 % 输入 % freq - 频率单位 Hz默认 1 % nPoints - 采样点数默认 500 % lineWidth - 线宽默认 1.5 % 输出 % h - 图形句柄 if nargin 1, freq 1; end if nargin 2, nPoints 500; end if nargin 3, lineWidth 1.5; end t linspace(0, 1, nPoints); y sin(2*pi*freq*t); h figure; plot(t, y, LineWidth, lineWidth); xlabel(时间 (s)); ylabel(幅值); title(sprintf(正弦波频率 %.2f Hz, freq)); grid on; end这个函数的参数说明写在注释里nargin用来处理默认值调用时只传频率也能跑。sprintf把频率值嵌进标题避免每次手动改。封装的好处是以后遇到类似需求改一个参数就行不用重新写绘图代码。我自己的习惯是每学完一章 PPT至少封装一个函数存到matlab_tools文件夹并在文件夹里放一个README.md记录每个函数的用途和参数。时间长了这个文件夹比任何课件都值钱。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

基于PLC的交通信号灯控制系统开题报告:四相位时序与I/O选型实战要点

基于PLC的交通信号灯控制系统开题报告:四相位时序与I/O选型实战要点

简介:一份基于PLC的交通信号灯控制系统的开题报告文档,面向计算机、自动化等专业学生,可作为撰写同类开题报告的结构参考。资源包仅含1个doc文件,大小约13KB,内容轻量;目前已有四十三人学习浏览。基于课题核…

2026/10/17 20:27:33 阅读更多 →
LeetCode刷题汇总方法论:从零构建解题思维框架与模板

LeetCode刷题汇总方法论:从零构建解题思维框架与模板

1. 刷题汇总这件事,到底该怎么理解LeetCode刷题汇总,说白了就是把一段时间内做过的题目,按照某种逻辑重新梳理一遍,把散落的知识点串成线、连成面。很多人刷题刷了几百道,遇到新题还是发懵,根本原因就是缺少…

2026/10/17 20:27:33 阅读更多 →
STM32 GPIO配置全攻略:引脚模式、寄存器、中断与避坑指南

STM32 GPIO配置全攻略:引脚模式、寄存器、中断与避坑指南

简介:这份STM32-GPIO篇专题笔记专为嵌入式初学者打造,围绕通用输入输出端口的核心概念展开,从什么是通用输入输出、八种可选工作模式,到各类控制寄存器的功能以及不同应用场景下的选择依据,均做了细致归纳,…

2026/10/17 20:27:33 阅读更多 →

最新新闻

2026降AI工具实测:免费与付费效果差距全解析

2026降AI工具实测:免费与付费效果差距全解析

“降AI工具”这个词,最近在内容创作圈子里出现的频率越来越高了。起因也简单:主流AI检测器越做越强,很多人发现直接拿大模型生成的文章,被检测出AI痕迹的概率相当高。于是,怎么让机器判断“这内容像是人写的”&#xf…

2026/10/17 21:16:24 阅读更多 →
Vue3集成Dify iframe的会话隔离与身份锚定方案

Vue3集成Dify iframe的会话隔离与身份锚定方案

简介:本资源是一份面向Web前端开发者与Vue技术实践者的实战解决方案,聚焦于在Vue应用中通过Iframe安全嵌入Dify对话窗口并实现用户级会话隔离。针对Dify原生嵌入不支持传入用户ID、导致历史对话丢失的痛点,方案利用localStorage动态写入用户t…

2026/10/17 21:16:24 阅读更多 →
Flutter适配OpenHarmony:宿舍系统欢迎区域跨端实战解析

Flutter适配OpenHarmony:宿舍系统欢迎区域跨端实战解析

把 Flutter 跑在 OpenHarmony 上做应用,很多人一听就觉得“又要从零学一套新的 UI 框架了”。我接某高校宿舍管理系统的跨端需求时也是这个反应:移动端要跑 Android,楼栋自助终端要跑 OpenHarmony,最怕的就是同一套界面写两遍。结…

2026/10/17 21:16:24 阅读更多 →
Unity 3D模型展示实战:轨道相机、3D标注与拆装动画全解析

Unity 3D模型展示实战:轨道相机、3D标注与拆装动画全解析

简介:围绕Unity 3D模型交互展示的完整工程资源,面向Unity开发者、三维可视化从业者及数字孪生/工业仿真学习者,重点解决模型导入、场景布置、交互注释与装配过程演示等问题。资源涵盖静态/动态模型展示、光照系统搭建、3D标注UI与Shader特效、…

2026/10/17 21:15:23 阅读更多 →
从工具调用到具身执行:AI-Agent走向物理世界的技术实践

从工具调用到具身执行:AI-Agent走向物理世界的技术实践

上个月我在调试一个机械臂抓取任务时,突然意识到一件很有意思的事情:同样是让AI Agent执行"把桌上的蓝色方块放到红色区域",在纯数字环境里,它只需要调用一个函数、传几个参数就完成了;但在物理世界里&#…

2026/10/17 21:15:23 阅读更多 →
HTML+CSS家乡网页模板:四页面响应式设计与验收指南

HTML+CSS家乡网页模板:四页面响应式设计与验收指南

简介:这是一套以“我的家乡”为主题的HTMLCSS网页制作模板,面向网页设计初学者与需要快速搭建展示型站点的开发者,可用于个人故乡文化展示、课程作业或小型静态网站项目。资源包共73个文件,约3.69MB,包含6个html页面、…

2026/10/17 21:15:23 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →