010_documentation_in_Matlab中的帮助与文档

Matlab中的帮助与文档

1. 前言

一眨眼已经写了十篇文章。

  1. 000在Matlab中使用Python包CoolProp
  2. 001Matlab运行时间测试与时间复杂度分析
  3. 002避免使用for循环
  4. 003Matlab中的向量约定
  5. 004Matlab中的矩阵约定
  6. 005Matlab中的数组索引
  7. 006Matlab中的逻辑数组索引
  8. 007Matlab学习的启动与加速
  9. 008Matlab中的函数约定
  10. 009Matlab中的左值和右值约定

写第一篇和第二篇的时候就是随手而为,写完这两篇我就想干脆写个300篇算。

在007(第8篇)里,我已经觉得可能需要梳理一下到底要写什么,主要的想法就是,怎么才能凑300篇呢?现在已经放飞自我,感觉300篇也不是什么难事。

如果一个刚上大学,没有接触计算机的同学把这几篇看完,应该已经能够用Matlab进行一些简单的计算,甚至能够编一个小程序来解决一些真正的问题。但是所有这些帖子,归根结底还是授人以鱼,要真正授人以渔,还是应该好好学习Matlab的帮助与文档。

2. Matlab的帮助与文档

2.1 Matlab的帮助安装

Matlab的最新版帮助文档有一个在线的版本,可以在MathWorks的网站上查看。以前有段时间Mathworks还搞点必须注册登录才能看之类的,现在好像又没有了。Matlab能够得到这么广泛的使用,其中一个原因就是Matlab的帮助文档写得很好。在Matlab之前,代数计算的openblas一直是存在的,GNU还有一个C版本的科学计算库,GSL(其实文档也不错)。Matlab最好的就是提供了一个比较直观的DSL(M语言,虽然简陋,但是有用),并且提供了一个很好的帮助文档。

Matlab的帮助文档也可以安装在本地,这样可以在没有网络的情况下查看帮助文档。旧版本的我已经忘记是怎么装的了,最新版的Matlab可以直接在菜单里选择把文档安装到本地。如果是下载的DVD版本的Matlab 文档,把那个ISO挂在到虚拟光驱上,在虚拟光驱里的bin/win64目录下有一个命令行程序mpm,可以用这个程序安装Matlab的帮助文档。

mpm install-doc --matlabroot="C:\Program Files\MATLAB\R2023b"

在这里插入图片描述

2.2 Matlab的帮助文档查看

Matlab帮助文档可以通过菜单的帮助按钮来访问,然后就是一个跟电子书差不多的东西,左边可以选不同的内容,右上角的搜索框可以全文搜索。

不过我们一般也可以采用命令行的方式来查看文档。

跟文档相关的命令行函数有以下几个。

  • help:查看函数的帮助
  • doc:打开帮助文档
  • docsearch:搜索帮助文档

还有一个可以搜索所有的函数文件的全文内容的命令lookfor,以及查找命令对应函数文件的which命令。

下面我们应该干的第一件事情,就是查看一下help命令的帮助。

3. help命令

help命令是Matlab中最常用的命令之一,它可以查看函数的帮助文档。

help help

这里其实有一个很好玩的约定,就是help help命令到底是什么?

约定:当采用不带括号的方式调用函数时,Matlab会把后面的内容当做字符串处理。

也就是help help实际上就是调用help('help')函数。

那么还有第二个问题,help('help')函数返回的到底是什么?

关于这个问题,请运行以下代码。

edit help

这个等效于

edit('help')

或者

open('help')

请一定要自己试试看。

这个命令会打开help函数的源代码,这个源代码是一个M文件,可以看到这个文件里面有一些%开头的注释,这些注释就是help函数的帮助文档。

约定:Matlab的帮助文档是通过在函数文件的开头添加注释来实现的。

这部分的内容包括从函数定义function语句之后第一个注释开始,到下一个注释之间的内容。也就是接下来所有连续的%开头的行。

自己编写自己的函数式,也最好能够遵循这个约定,当然,首先应该是多打开你感兴趣的函数,看看到底是怎么写的注释,如果你愿意仔细去看函数是怎么写的,那么你就已经是一个超有好奇心的天才Matlab程序员了。

当然我们可以看到,有些函数的源文件,就只有注释,没有实际的代码,这就是一个纯粹的文档文件。函数可能是一个MEX文件,或者是一个内置函数,这些函数的源代码是不可见的。

4. 作为报错的帮助

另外,Matlab中的报错信息也是一个很好的帮助文档。当你在Matlab中输入一个错误的命令时,Matlab会返回一个错误信息,这个错误信息是一个很好的帮助文档。

a = 1;
a(1,2)
>> a(1,2)
位置 2 处的索引超出数组边界(不能超出 1)。

不过Matlab没有那种直接返回错误信息和Exception的功能。一般只能

try
    a(1,2)
catch ME
    disp(ME)
end
MException - 属性:

  identifier: 'MATLAB:badsubscript'
     message: '位置 2 处的索引超出数组边界(不能超出 1)。'
       cause: {}
       stack: [0×1 struct]
  Correction: []

可以看到,这个错误是一个MATLAB:badsubscript错误,这个错误的信息是位置 2 处的索引超出数组边界(不能超出 1)。

5. 结论

  1. Matlab的帮助文档是一个很好的学习工具;
  2. 可以通过help命令查看函数的内置帮助文档;
  3. Matlab的内置帮助文档是通过在函数文件的开头添加注释来实现的;
  4. Matlab的报错信息也是一个很好的帮助文档。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Word、Excel、PPT文件转PDF文件(C#)

一、添加依赖 为wpf项目引用Microsoft.Office.Interop.Excel、Microsoft.Office.Interop.PowerPoint、Microsoft.Office.Interop.Word、Office,依赖文件已经打到源代码包里了。 二、先定义一些命名空间 using Word Microsoft.Office.Interop.Word;using Excel M…

C++项目——集群聊天服务器项目(七)Model层设计、注册业务实现

在前几节的研究中,我们已经实现网络层与业务层分离,本节实现数据层与业务层分离,降低各层之间的耦合性,同时实现用户注册业务。 网络层专注于处理网络通信与读写事件 业务层专注于处理读写事件到来时所需求的各项业务 数据层专…

Polar靶场web(三)

期待得到某一件事物的时候,才是最美好的。 签到 发现不能提交,看一下f12 发现提交按钮被禁用了,且最大输入9个字符,我们可以改一下。 现随便提交一个发现要提交ilovejijcxy session文件包含 发现有文件包含,那先包含…

02正式学习第一天

1、windows上加载socket库 链接输入ws2_32.lib 代码code&#xff1a; #ifdef _WIN32 #include<windows.h> #else #include <sys/socket.h> #include<sys/types.h> #include<unistd.h> #include<cstring> #include<arpa/inet.h> #include…

基于Unity+Vue3通信交互的WebGL项目发布实践

基于UnityVue3通信交互的WebGL项目发布实践 实践路线 基于UnityVue3通信交互的WebGL项目发布实践问题背景准备工作解决方案项目实践小目标搭建Unity测试项目 创建Vue3测试项目运行项目验证unity和vue通信功能总结与展望 问题背景 我们最近需要把unity开发的pc项目迁移到web端&…

文心一言 VS 讯飞星火 VS chatgpt (225)-- 算法导论16.3 7题

七、推广赫夫曼算法&#xff0c;使之能生成三进制的码字(即码字由符号0、1、2组成)&#xff0c;并证明你的算法能生成最优三进制码。如果要写代码&#xff0c;请用go语言。 文心一言&#xff1a; 推广赫夫曼算法以生成三进制码字需要对算法进行一定的修改&#xff0c;确保在每…

阿里云国际DDoS高防如何添加网站配置?

将网站域名配置到DDoS高防后&#xff0c;DDoS高防会为网站生成一个CNAME地址&#xff0c;您需要将网站域名的DNS解析指向高防CNAME地址&#xff0c;DDoS高防才能转发业务流量为网站防御DDoS攻击。本文介绍如何添加网站配置。 注意事项 接入DDoS高防&#xff08;中国内地&#…

WPF中获取TreeView以及ListView获取其本身滚动条进行滚动

实现自行调节scoll滚动的位置(可相应获取任何控件中的内部滚动条) TreeView:TreeViewAutomationPeer lvap new TreeViewAutomationPeer(treeView); var svap lvap.GetPattern(PatternInterface.Scroll) as ScrollViewerAutomationPeer; var scroll svap.Owner as ScrollVie…

2024最新软件测试20个基础面试题及答案

什么是软件测试&#xff1f; 答案&#xff1a;软件测试是指在预定的环境中运行程序&#xff0c;为了发现软件存在的错误、缺陷以及其他不符合要求的行为的过程。 软件测试的目的是什么&#xff1f; 答案&#xff1a;软件测试的主要目的是保证软件的质量&#xff0c;并尽可能大…

C# OpenCvSharp-HoughCircles(霍夫圆检测) 简单计数

目录 效果 项目 代码 下载 效果 项目 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OpenCvSharp; using O…

基于Springboot的研究生调研管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的研究生调研管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结…

【基于springboot分析Quartz(v2.3.2)的启动流程】

基于springboot分析Quartz&#xff08;v2.3.2&#xff09;的启动流程 最近公司的定时任务使用了Quartz框架&#xff0c;在开发中经常出现定任务不执行了的问题&#xff0c;但是我又找不到原因所在&#xff0c;可把我愁坏了。于是我决定看看Quartz框架是怎么调度任务的。&#x…

基于单片机模糊算法温度控制系统设计

**单片机设计介绍&#xff0c; 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机模糊算法温度控制系统设计是一个综合性的项目&#xff0c;结合了单片机技术、传感器技术、模糊控制算法等多个方面。以下是对该设计的概要…

162.乐理基础-和声大调、旋律大调

内容参考于&#xff1a; 三分钟音乐社 上一个内容&#xff1a;161.音程、和弦板块总结、重点、建议 首先需要回忆一下18.调式、自然大调式&#xff08;C大调、D大调。。。&#xff09;与19.音阶是什么、有什么用&#xff0c;在18.调式、自然大调式&#xff08;C大调、D大调。…

openPLC_Editor C语言编程 在mp157 arm板上调用io等使用记录

1.编程界面比较简单&#xff0c;具备PLC开发编程的四种编程方式。梯形图语言LD &#xff0c;指令表语言IL&#xff0c;结构化文本语言ST&#xff0c;功能模块图语言FBD。 2.官方使用手册。学习资料实在是太少&#xff0c;目前都是自己比较费劲的研究。 3.2 Creating Your First…

UE5 SQLite笔记

开发环境&#xff1a; 系统&#xff1a;Windows 10 64 bit 引擎&#xff1a;Unreal Engine 5.1.1 IDE&#xff1a;JetBrains Rider 2023.2.1 语言&#xff1a;C 工具&#xff1a;DB Browser for SQLite SQLite数据类型&#xff1a; //INTEGER TEXT BLOB REAL NUMERIC/*integer…

家庭网络防御系统搭建-配置流量镜像到NDR系统

由于需要将家庭网络中的全部流量送到NDR分析系统进行分析&#xff0c;因此需要一个具备流量镜像功能的交换机或者路由器。在前面文章所提及的家庭网络架构中&#xff0c;需要一台交换机即可拷贝东西向流量以及南北向流量。当然如果家庭中的路由器或者其他设备具备交换机镜像功能…

EXCEL通过VBA字典快速分类求和

EXCEL通过VBA字典快速分类求和 汇总截图 Option ExplicitOption Explicit Sub answer3() Dim wb As Workbook Dim sht As Worksheet Set wb ThisWorkbook Set sht wb.Worksheets(2) Dim ss1 As Integer Dim ss2 As Integer Dim i As Integer Dim j As Integer j 1Dim aa()…

Moonbeam 开发工具集合:打造 Web3 开发游乐场

原文&#xff1a;https://moonbeam.network/blog/moonbeam-developer-tooling-ecosystem/ 作者&#xff1a;Moonbeam 团队 编译&#xff1a;OneBlock Moonbeam 一直以来都在支持以太坊和 Dotsama 生态系统中的构建者和开发者。它特别为 Solidity 开发者提供了熟悉的工具&…

vue2处理跨域问题

vue中访问springboot中的RestController中的服务 &#xff08;vue.config.js不生效-CSDN博客&#xff09; 1、创建项目 使用vue init webpack my_frontend 创建vue项目 在HelloWorld.vue文件中添加内容&#xff1a; HelloWorld.vue 文件内容&#xff1a; <template>&…