两个有意思的函数

通常我们的思维被局限在一个框框里,就像黑客帝国里面的Nero无法释放自己一样。下面的两个函数你看了之后会说:还可以这样做?

第一个是PowerShell函数,判断一个值是不是数字。

# Auth:Justin
# Date:2014-10-24
# Desc:If $Num is number
function IsNumber($Num)
{
	try
	{
		$Num + 0
		return $true;
	}
	catch
	{
		return $false
	}
}
怎么样?思路很奇特吧?

第二个方法,传递一个方法,返回一个方法,听晕了吧?看代码吧!

namespace Surprise
{
    class Program
    {
        private static Func<int, bool> GetFunc(Predicate<int> predicate)
        {
            if (predicate(3))
                return x => x > 1000;
            return x => x*x < x;
        }

        static void Main(string[] args)
        {
            Console.WriteLine(GetFunc(n => n > 1).Invoke(5));

            Console.ReadKey();
        }
    }
}

不得不承认,我Lamda学习的不好,看了大约10分钟才明白这是在干嘛。我暂且叫它,互为观察者模式吧,互相作为观察者。

<think>嗯...用户问的是如何在MATLAB中查询某个函数的作用。这个问题其实挺基础的,但考虑到用户可能刚开始接触MATLAB,我需要把查询方法说清楚。 用户之前提到过几个具体函数(sgn/sat、reshape、mesh),但这次是问通用查询方法。看来用户需要的是方法论指导。我可以分几个层面来回答:最直接的命令行查询、文档系统查询、以及在线资源。 首先想到的是doc和help命令。doc会打开完整文档页面,help则在命令行显示简要说明。比如用户之前提到的reshape函数,用help reshape就能看到基本用法。这两个是MATLAB自带的黄金工具。 其次是文档系统。新版本MATLAB的文档整合得很好,搜索框直接输函数名就行。文档里会有示例代码,这对理解用法特别有帮助。比如用户引用的mesh函数文档里关于颜色映射的说明,就是文档里典型的详细解释。 在线资源方面,MathWorks官网和MATLAB Answers论坛很实用。特别是论坛,很多实际问题都能找到讨论。用户之前提到的satpos.m文件,很可能就是论坛里分享的代码。 啊,差点忘了提lookfor命令。当用户只记得函数功能关键词时特别有用,比如lookfor sign可能找到sign函数(虽然用户问的是sgn)。 最后要提醒用户注意版本差异。比如sgn函数在MATLAB实际是sign,文档里明确写着"符号函数定义为sign(x)"。用户提到的"饱和函数sat"应该也是用户自定义函数,标准库里没有这个。 用户引用的几个函数例子挺有意思,卫星定位和网格图显示都是专业领域应用,可能用户是相关专业的?不过这次问题比较基础,不需要深入这些专业内容。回答时重点保持清晰简洁就好,把查询方法分点说明白。 </think> 在 MATLAB 中查询函数作用,有以下几种常用且可靠的方法,特别推荐前两种: ### 📌 1. 使用 `help` 命令 (命令行窗口查询) * **语法:** `help 函数名` * **作用:** 在 MATLAB 命令行窗口中显示该函数的**简要帮助文本**,包括功能描述、基本语法、输入参数说明和输出参数说明。这是最快捷的方式。 * **示例:** ```matlab help reshape help mesh help sign % 注意:Matlab 标准符号函数是 sign, 不是 sgn ``` * 运行后会直接在命令行窗口显示函数的帮助信息[^2][^3]。 ### 📘 2. 使用 `doc` 命令 (打开完整文档) * **语法:** `doc 函数名` * **作用:** 打开该函数的**完整 HTML 文档页面**。这是最详细、最权威的方式,包含: * 函数的详细功能描述。 * 完整的语法说明和各种调用方式。 * 输入参数和输出参数的详尽解释。 * 丰富实用的**示例代码**(通常是最有价值的部分),展示函数的具体用法和应用场景。 * 相关函数的链接。 * **示例:** ```matlab doc reshape doc mesh doc sign ``` * 这会启动 MATLAB 的帮助浏览器(或在帮助浏览器中定位到该函数页面)[^3]。 ### 🔍 3. 使用 MATLAB 文档系统 (图形界面搜索) 1. 点击 MATLAB 界面顶部工具栏中的 **"帮助"** 图标 (通常是一个问号 `?` 或书本图标)。 2. 在打开的 **"帮助浏览器"** 顶部的搜索框中,直接输入你要查询的**函数名**。 3. 在搜索结果列表中,点击对应的函数链接,即可查看其完整文档页面(效果与 `doc` 命令相同)。这对于不记得确切命令或习惯图形界面的用户非常方便[^3]。 ### 🌐 4. 使用 MathWorks 官方网站 * 访问 MathWorks 官方文档网站:`https://www.mathworks.com/help/` * 在搜索框中输入函数名进行搜索。 * 优点:确保获取的是对应你所使用 MATLAB 版本的最新官方文档。当本地未安装文档或需要在线查阅时常用。 ### 💬 5. 使用 `lookfor` 命令 (关键词搜索) * **语法:** `lookfor 关键词` * **作用:** 在所有 MATLAB 函数的**第一行帮助文本(H1 行)**中搜索包含指定**关键词**的函数。当你只记得函数的大致功能描述,而不记得确切的函数名时非常有用。 * **示例:** ```matlab lookfor reshape % 会列出 H1 行中包含 'reshape' 的函数 lookfor sign % 会列出 H1 行中包含 'sign' 的函数(如 sign, signum 等) lookfor mesh % 会列出 H1 行中包含 'mesh' 的函数(如 mesh, meshgrid, meshz 等) ``` ### 🧩 针对你提供引用信息的说明 * **`sgn` 函数:** MATLAB 标准库中没有名为 `sgn` 的函数。标准**符号函数是 `sign(x)`**。引用[1]中提到的 `sgn` 和 `sat`(饱和函数)很可能是用户在该特定卫星轨道计算程序(`satpos.m`)中**自定义的函数**,或者是某个特定工具箱中的非标准函数。查询这类函数的作用,需要查看该函数文件**内部的注释**或定义它的文档。 * **`reshape` 函数:** 如引用[2]所述,它是 MATLAB 核心中用于**改变数组(矩阵)维度**的极其重要的函数。使用 `help reshape` 或 `doc reshape` 是了解其作用的标准方法。 * **`mesh` 函数:** 如引用[3]所述,它是用于创建**三维网格曲面图**的核心绘图函数。其文档详细解释了绘图逻辑(如颜色映射规则)。使用 `help mesh` 或 `doc mesh` 是了解其作用的标准方法。 * **广播星历计算 (`satpos.m`):** 引用[1]提到这是一个具体的应用示例,其中涉及读取 N 文件、计算开普勒参数和卫星轨道。了解这个特定函数的作用,最直接的方法是阅读该 `.m` 文件**开头的注释**,这些注释通常会详细说明函数的功能、输入、输出和使用方法。 **总结:** 要查询 MATLAB 中**标准函数**的作用,优先使用 `help 函数名` (快速查看) 或 `doc 函数名` (详细文档+示例)。对于**自定义函数**或**特定工具箱中的函数**,需要查阅该函数文件内部的注释或对应的工具箱文档。`lookfor` 命令在忘记函数名时很有帮助。MathWorks 官网是在线查阅最新文档的可靠途径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值