MATLAB如何为程序或自定义函数添加帮助说明 | 为你的程序或自定义函数添加帮助说明

MATLAB:未定义函数或变量 ‘crtbp‘问题解决! fun 未定义函数或变量 ‘crtbp’。 出错 fun (line 12) chrom=crtbp(num_ppu,len_ch); %��ʼ�������Ⱥ 阅读详情
AI摘要

本文详细介绍了如何为MATLAB函数和程序添加帮助说明。内容包括创建函数文件、撰写简要说明、详细使用语法及扩展阅读,提供了一个实际的函数示例,并给出了参考资料。

MATLAB如何添加帮助说明

在MATLAB里面,我们经常会自定义一些函数,而且通常会为这个函数写一段帮助说明文字来为我们或他人解释函数是做什么用以及怎么使用,每当我们在命令行(Command Window)里面输入help $SomeFuncion$ 时我们就会看到这段帮助说明文字(当然对于普通的.m程序文件也是同样可以如此操作,见为普通程序文件添加帮助说明。这篇博客会详细阐述如何去写一段说明帮助文字。


1. 创建MATLAB函数文件

我们可以直接创建一个后缀为.m的MATLAB脚本(Script)文件或者通过MATLAB新建一个函数(Function)文件,如下图,两个方式建立的文件格式是一样的,只不过用第二种方法创建的文件会自动生成一个模板(template),更加方便也更为推荐,我以这个方法为代表进行接下来的说明。
新建MATLAB函数文件
用新建一个函数的方式生成的MATLAB文件如下图这样,我这里不去赘述如何去写一个MATLAB函数,网络上有很多比较详细的教程,我只说如何写帮助说明。
在这里插入图片描述

2. 撰写帮助说明

当我们创建好了函数文件并且写好了函数内容以后我们就可以来写我们的帮助说明。

我们首先用pow2函数为例来说明一段详细的函数帮助说明会包含的内容。我们在命令行输入help pow2以后,MATLAB会返回如下图这样的内容,我们把这一大段内容可以分成三个部分(如下图1, 2, 3),接下来分别举例每个部分应该要写什么内容。
在这里插入图片描述

2.1 内容一:简要说明

在这里插入图片描述
第一部分通常只有一到两行,用来简略说明这个函数的作用,不必要包含如何使用。就像pow2里的pow2 Base 2 power and scale floating point number,而且这句话是顶格并且开头的pow2是被加粗的,这段话在MATLAB文件里面的应该是这样写的:

function ...
%POW2 Base 2 power and scale floating point number
...
end

没错,如果想要实现pow2被加粗的效果,需要全大写,即POW2.

2.2 内容二:使用方式和语法(syntax)

在这里插入图片描述
第二部分会比较详细,会有多行,是用来解释如何使用此函数,包括但不限于输入输出,比如我们输入pow2时的使用方式,或者叫语法(syntax)有X = pow2(Y)或者X = pow2(F,E),并且详细解释了每一种语法的输入是对应做什么的。而且主要到这里的pow2还是被加粗了,同样,在MATLAB文件里面我需要全大写这部分,即

function ...
%POW2 Base 2 power and scale floating point number
%    X = POW2(Y) for each element of Y is 2 raised to the power Y.
% 
%    X = POW2(F,E) for each element of the real array F and a integer
%    array E computes X = F .* (2 .^ E).  The result is computed ...
...
end

注意这里如果需要表示一个空行,空行的前面也必须要用%开头。

2.3 内容三:扩展阅读

在这里插入图片描述
一般来说,一个函数文件只要前两个就可以了,但是有时这个函数会跟其他一些函数有一定关系,或者我们有更详细的帮助外部帮助文档,需要在帮助说明里面超链接展示出来。

如果是引用别的函数,可以直接大写这个函数的名字,只要你的另一个函数在同级文件夹下面或者已经提前加入了路径(类似环境变量,如何操作可看参考[2],你就能通过大写这个函数的名字添加引用,用户点击这个超链接,就会自动出现对应的帮助说明。上面的See also log2, realmax, realmin.在MATLAB文件里面就是这样表示的:

...
%
%   See also LOG2, REALMAX, REALMIN.
...

如果需要表示一段链接着外部超链接的文字,则可以这样:

%   For more information, see <a href=
%   "https://blog.youkuaiyun.com/Undefinedefity">my 优快云 blogs</a>.

效果如下
在这里插入图片描述

3. 为普通程序文件添加帮助说明

普通程序文件其实也是一样可以通过help $FileName$看帮助说明的,写作方法其实跟上面对函数的写作方法是一样的,比如这段命名为test.m的程序:

%TEST This is a sample test program to tell you how to write a help
%description
%   This paragrah should be the details of this matlab file
%   This paragrah should be the details of this matlab file
%   This paragrah should be the details of this matlab file
%   This paragrah should be the details of this matlab file
%
%   See also OTHERTEST.
%
%   For more information, see <a href=
%   "https://blog.youkuaiyun.com/Undefinedefity">my 优快云 blogs</a>.

命令行输入help test:
在这里插入图片描述

4. 我的一个函数示例

这是我的一个MATLAB函数和其help说明,这个函数是用来生成旋转矩阵的:

function [R] = rot(axis, angle, homo)
%ROT   Returns a rotational matrix about a specific basic axis
%   R = ROT(axis, angle, 'homo')
%
%   axis = 'x', 'y', or 'z'.
%   angle should be in radian.
%   'homo' is optional if you want an homogenouse form else you do not need
%   to add it.
%
%   See also ROTX, ROTY, ROTZ, ROT2 of <a href=
%   "https://petercorke.com/toolboxes/robotics-toolbox/">The
%Robotics Toolbox for MATLAB (RTB) by Peter Corke</a>.

%   Version:            1.1
%   Author:             Def Li
%   Contact:            def460511281@163.com
%   last modified:      01/27/2021

ct = cos(angle);
st = sin(angle);

if nargin >3
    error('The number of input arguments should not be more than 3!');
    
elseif nargin == 3 && strcmp(homo, 'homo') % homogenouse form   
    if (axis == 'x')
        R = [
            1   0     0    0
            0   ct   -st   0
            0   st    ct   0
            0   0     0    1
            ];

    elseif (axis == 'y')
        R = [
             ct   0   st   0
             0    1   0    0
            -st   0   ct   0
             0    0   0    1
             ];
            

    elseif (axis == 'z')
        R = [
            ct   -st   0   0
            st    ct   0   0
            0     0    1   0
            0     0    0   1
            ];
    else
        error('Check your input!');
        
    end
    
elseif nargin ==2
    if (axis == 'x')
        R = [
            1   0     0
            0   ct   -st
            0   st    ct
            ];

    elseif (axis == 'y')
        R = [
             ct   0   st
             0    1   0 
            -st   0   ct
             ];
            

    elseif (axis == 'z')
        R = [
            ct   -st   0
            st    ct   0
            0     0    1
            ];
    else
        error('Check your input!');
        
    end
    
else
    error('Check your input!');

end

end

效果:
在这里插入图片描述

5. 参考

[1] MathWorks, Add Help for Your Program: https://www.mathworks.com/help/matlab/matlab_prog/add-help-for-your-program.html#d122e42128

[2] qnczmf, Matlab路径设置(3种方法):https://blog.youkuaiyun.com/u012991043/article/details/84836971

[3] 桂哥317, 如何规范地编写一个MATLAB函数文件: https://blog.youkuaiyun.com/qq_15971883/article/details/82884353

返回顶部

MATLAB的addpath和rmpath函数增加或删除路径 在进行MBD建模开发时,模型生成代码时常需要加载一些其他的文件,例如代码生成模版文件cgt文件、模型所涉及的头文件,这个时候可以在模型的回调函数中使用addpath和rmpath函数加载和删除路径,例如设置模型的加载之前的回调函数在模型打开之前加载路径,在模型关闭之后的回调函数中删除路径。MATLAB 会先将所有包含 '.'、'..' 和符号链接的路径名称解析为其目标位置,然后再将其添加到路径,这样操作可以确保 MATLAB 路径中的每个条目代表一个唯一的文件夹位置。即路径更改的范围是全局的。 阅读详情

相关推荐

(matlab调用c++函数)Matlab 添加 c++ 自定义支持库,让matlab也能使用c++的函数

Matlab 是强大的数据处理算法工具,但软件功能方面存在欠缺。对于常使用 Matlab 跑算法且对其软件能力不满的用户,可采用特定方法将自定义的 C++ 函数融入 Matlab 软件项目中,以解决如多线程池(因 Matlab 线程池的许可证检查机制导致开启慢)、网络通讯等问题。

yourgrandfa的博客 1102

MATLAB中怎样书写函数的帮助文档

运用MATLAB编程时,我们经常查询别人书写的函数或模块帮助文档,比如下面这篇博文就详细介绍了如何查看函数或模块的帮助文档: https://blog.youkuaiyun.com/hehe1994/article/details/115801001 我们在书写自己的函数时,为了方便别人调用或者自己以后阅读,也应养成书写帮助文档的好习惯,那么怎么书写呢? 很简单,在函数的定义行之下的注释都是帮助文档。 举例如下: function [ result ] = sm_a_plus_b(a,b) % 这是一个关于MATLAB

昊虹AI笔记 825

Simulink仿真入门到精通(十二) Publish发布M文件

本系列教程是根据孙忠潇编著的<<Simulink仿真及代码生成技术入门到精通>>学习笔记。 目录 Simulink仿真入门到精通(一) Simulink界面介绍 Simulink仿真入门到精通(二) Simulink模块 Simulink仿真入门到精通(三) Simulink信号 Simulink仿真入门到精通(四) Simulink子系统 Simulink仿真入门到精通(五) Simulink模型的仿真 Simulink仿真入门到精通(六) Simulink模型保存为图片 Sim

king110108的专栏 1788

【matlab教程】05、为自定义函数添加函数说明

函数文件由函数声明行、H1行、在线帮助文本区、编写和修改记录、函数主体等几个部分组成。 注意: 1.在线帮助文档区必须在H1行下一行,中间不能空行。在线帮助文档区中每行前面都要有注释号%,空行也要有 2.H1简要说明该函数的功能 3.在线帮助文档区写明输入代表的是什么、输出代表的是什么。如果函数有不同的调用形式则要说明每个调用的方式的功能 示例: <pre class="matlab-code"> function [ p ] = arch( obj_filename ) % arch 求牙齿

qq_38939822的博客 1382

Matlab:为程序添加帮助

Matlab:为程序添加帮助

希望我的博客,能帮上你解决学习中工作中所遇到的问题 438

MATLAB自定义函数及局部变量

1、编写自定义函数时尽量分以下四部分:(1) 函数定义行:function[out1,out2,..]=filename(in1,in2,..),输入和输出参数个数分别由nargin和nargout两个MATLAB保留的变量来给出。(2) 第一行帮助行,以%开头,作为lookfor指令搜索的行(3) 函数体说明及有关注解:以(%)开头,用以说明函数的作用及有关内容。如果不希望显示某段信息,可在它的

wenyusuran的专栏 9925

Matlab系列之函数参数

前言 不知道你们是否有等待今天这篇的到来,这篇其中要讲到的函数参数,是个好东西,但是感觉初学的时候总会有点懵逼,希望你们能理解讲的东西,如果不理解,那就多看两遍吧,我也是这么学过来的,最近也在接受一下非电子类的培训,也是艰难的不行,感觉是真的去搬砖了一样,不过还是蛮有意思的,哈哈哈哈哈哈哈哈哈哈,开始进入今天的正题。 确定函数参数数量 当调用一个函数的时候,用到的输入和输出变量的数量在函数内部是确定好的,因此可用通过一个函数获得其个数,nargin函数就是用于确定输入变量个数,nargout显然就是用

Smart_Devil的博客 9146

MATLAB自定义函数运算与可视化界面设计

MATLAB函数由函数定义行、输入输出列表、帮助文本(可选)和函数体组成。基本的函数文件通常遵循以下格式:%MYFUN 说明信息% MYFUN 是一个函数示例,可以接受多个输入参数,并返回多个输出参数。% 此处为函数的实现代码函数定义行:定义了函数的名称以及输入输出参数。输入输出列表:用逗号分隔输入参数和输出参数。可以包含默认值和可选参数。帮助文本:提供函数的说明信息,包括功能描述、输入输出参数说明以及使用示例。通过help myfun命令可以调用。函数体。

weixin_35732273的博客 1251

Matlab实时函数提示

需求描述:在Matlab中自定义了一系列函数,但是这些函数的输入变量比较难以记忆,希望在输入函数时实时提示。 分析:Maltab自带的有‘函数提示’功能,默认快捷键为Ctrl+F1,效果如下 我们只需将Ctrl+F1修改为Shift+9,即每次输入左括号时出现函数提示。在Matlab预测选项中,具体修改办法如下 如此,我们就可以畅快得敲代码了,简直不要太爽~ ...

Nothing 1万+

matlab GUI帮助文档

matlab GUI帮助文档,专门讲述matlab创建GUI的方法和一些实例。

TSmaster CANFD配置避坑指南:为什么你的PCAN盒不支持最新版本?

本文针对TSmaster配置PCAN硬件进行CANFD通信时的常见问题,提供了详细的避坑指南。重点解析了CANFD配置中TSEG1等关键参数的理解误区,并深入探讨了TSmaster新版本与PCAN硬件驱动之间的兼容性变化,帮助工程师快速定位并解决连接失败或无法发送CANFD报文等问题。

alpha的博客 542

MATLAB自定义函数

MATLAB自定义函数形式 function [a,b,c] = funname(x1,x2,x3) 输入变量 对于输入变量,MATLAB可以识别输入变量的个数,通过nargin来记录当前输入变量个数。 if nargin == 1 ··· elseif nargin == 2 ···· elseif nargin == 3 ··· end 通过narg...

weixin_30872671的博客 2万+

将一维数据(序列)转化为二维数据(图像)的方法汇总GAFS, MTF, Recurrence plot,STFT

虽然深度学习方法(1D CNN, RNN, LSTM 等)可以直接处理一维数据,但是当前的深度学习方法主要还是处理二维结构数据的,特别是在计算机视觉CV以及自然语言处理NLP领域,各种各样的方法层出不穷。因此,如果能够将一维序列数据转化为二维(图像)数据, 则可以直接结合CV以及NLP领域的方法,是不是很有趣! GAF, GASF, GADF, MTF, Recurrence Plot, STFT, 短时傅里叶变换

MasterQKK 5万+

【MATLAB 2025a】安装离线帮助文档

matlab 2025a安装帮助文档。

风高秋月白,雨霁晚霞红 6704

医学图像分割实战:基于TransUNet训练自己的眼底硬渗出物数据集(附完整代码)

本文详细介绍了基于TransUNet的眼底硬渗出物分割实战指南,涵盖数据预处理、模型调优、训练策略及性能优化等关键环节。通过代码复现和实验对比,展示了TransUNet在医学图像分割中的优势,为糖尿病视网膜病变的早期诊断提供技术支持。

weixin_42524708的博客 362

1.triton镜像使用

1)拉取镜像2)启动容器指定模型仓库时可以执行server下的./fetch_model.sh,见2.2部分GPU版本的启动CPU版本的启动区别只在于--gpus=1这个参数注意:docker19.03之前的版本使用gpu要指定显卡硬件名,docker19.03之后的需要安装nvidia-container-toolkit或nvidia-container-runtime安装之后要重启docker查看gpus参数是否安装成功重新执行我遇到了如下错误先使用非GPU版本的。

天启的博客 2077

matlab自定义函数如何报错,MATLAB自定义函数

MATLAB自定义函数形式function [a,b,c] = funname(x1,x2,x3)输入变量对于输入变量,MATLAB可以识别输入变量的个数,通过nargin来记录当前输入变量个数。if nargin == 1···elseif nargin == 2····elseif nargin == 3···end通过nargin判断变量个数,然后再写对应的程序。输出变量对于输出变量,MA...

weixin_39965283的博客 1373

【33】软考软件设计师——算法题(二):贪心法与回溯法深度精讲|第4题进阶满分攻略

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第33篇,承接第32篇分治法与动态规划,聚焦**下午第4题算法大题进阶核心**,详解贪心法与回溯法两大高频难点算法。全文超4000字深度拆解贪心法核心原理、贪心选择性质、局部最优推全局最优的底层逻辑,厘清贪心算法适用边界与经典误区;深挖回溯法深度优先遍历思想、递归回溯三步流程、可行性剪枝与最优性剪枝两大核心技巧;全覆盖活动选择、零钱兑换、01背包贪心禁区、八皇后、全排列等软考必考经典题型;配套标准化算法框架代码、考场填空模板、剪枝优化实操案例

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 438

MATLAB | 函数或变量无法识别 / 函数缺失

……

u013669912的博客 3816

Android 14.0 SystemUI下拉通知栏通知去掉长按事件

在14.0的系统rom产品定制化开发中,在systemui模块中关于下拉状态栏这块也是非常重要的部分,最近在关于systemui下拉通知栏的每条通知部分 要求去掉通知栏通知的长按事件,不需要长按功能,所以就需要分析下关于长按事件是在哪里注册的,然后去掉就可以了,接下来分析实现 相关功能

安卓兼职framework和app工程师的博客 276

12. Web安全—渗透测试用例—敏感信息泄漏

12. Web安全—渗透测试用例—敏感信息泄漏

weixin_43567873的博客 412

matlab 自定义函数及调用

这一篇博客主要学习了: 第一,自定义函数优点有很多,比如可重复利用;容易纠错,以后直接装入大工程里(更重要的是,实参是复制给形参的,在自定义函数中运行时形参独立显示,这一点和C不一样)。 第二,通过help/lookfor 自定义函数名 快速查找到自己所写的函数(H1注释行功能) 第三,调试功能 自定义函数代码: function distance = dist(x1, y1, x...

weixin_30600503的博客 1万+

Android Jetpack 最全面试题及参考答案

要使用 WorkManager 定义一个异步任务,以下是详细步骤。首先,需要创建一个继承自 Worker 类的自定义类,这个类代表了要执行的具体任务逻辑。// 在这里编写具体的任务逻辑,比如从网络下载文件try {在上述代码中,doWork方法就是任务的核心执行逻辑所在,这里模拟了从给定的 URL 下载文件到本地的操作,若下载成功返回,若出现异常则返回。然后,在需要调度任务的地方,比如在某个 Activity 或者 Fragment 中,通过构建 WorkRequest 来安排任务执行。

大模型大数据攻城狮的专栏 1895

MATLAB函数解析:内置与自定义的全面对比【MATLAB】

自定义函数是用户根据需求编写的函数,可以解决特定的问题。自定义函数的创建使得代码更具可读性和复用性。自定义函数使用function关键字定义,具有明确的输入和输出。% 计算两个数的和end我们可以创建一个自定义函数来计算一个向量的平均值。% 计算向量的平均值end% 使用自定义函数disp(['向量的平均值为: ', num2str(mean_value)]);下面是一个计算矩阵行列式的自定义函数,它将内置函数det封装进来。% 计算矩阵的行列式error('输入必须为方阵');

一键难忘的博客 2937

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

MATLAB系列05:自定义函数

MATLAB 有一个专门的机制,在建立最终的程序之前用于独立地开发与调试每一个子程序。每一个子程序都可以独立函数的形式进行编程,在这个程序中,每一个函数都能独立地检测与调试,而不受其他子程序的影响。良好的函数可以大大提高编程的效率。它的好处如下:子程序的独立检测每一个子程序都可以当作一个独立的单元来编写。在把子程序联合成一个的大程序之前,我们必须检测每一个子程序以保证它运转的正确性。代码的可复用性在许多的情况下,一个基本的子程序可应用在程序的许多地方。

lbm666666的博客 1485

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: 优快云 我的收藏 收藏夹无法切换/打开 【解决办法】
下一篇: “VBE6EXT.OLB不能被加载”解决方法
Undefinedefity
博客等级 码龄7年 23粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值