MATLAB基础知识学习--Task 1 M文件

Day 1 M文件

一、语法知识

1、函数M文件
  • Matlab有1000余条内装函数,如三角函数、幂函数、指数函数、多项式函数、插值函数、求多项式根函数、矩阵运算函数、微分函数、积分函数、微分方程求解函数和图形绘制函数等。这些函数都用后缀为M的函数文件编写,故又称函数M文件。
  • 当调用Matlab函数时,在命令窗口输入函数名,则该函数的程序即被调用并执行。
2、函数M文件的编写及组成
  • M文件的编写在M文件编辑器中进行。点击文件菜单file/new/m-file,即可打开M文件编辑器。
  • 函数M文件是由下列 5 部分组成:
    1)函数定义行:它必须由关键字 function 开头,后面是函数的输出变量,如果有多个输出变量则需要用方括号括起来,输出变量之间用“,”隔开。等式右边则为函数名,接着是函数的输入变量,并且用圆括号括起来,若有多个输入变量,则也用“,”分开。函数名与变量是一样的,都必须是由字母开头,由字母、数字和下划线组成(不能有其他的符号),总长度不能超过31字符。
    例如 function[outBL] = HS(inBL)
    2)帮助文本的标题行:这一行也叫做H1行(即help的第一行),在这一行里,只需要简明扼要地说明函数的功能即可。
    3)帮助文本的内容:需要详细说明变量的类型,使用时的语法规则,使用举例和相关的函数名作为查找时的参考。
    4)函数体:即由输入变量计算输出变量的程序体,还包括了程序运行时的出错处理。
    5)附注:说明函数的编者、版权和日期。
  • 举个例子:要查看某函数的程序是如何编著的,首先先在命令窗口输入">>type 函数名"。但Matlab有的函数M文件的程序时被隐藏的,所以当你用type命令显示该函数M文件时,命令窗口会显示它时内装函数,无法查看内容。
3 、内联函数
  • 对于一次性使用的函数,可以使用内联函数inline来实现。内联函数的编制比较宽松,但它不进行函数储存,它的书写格式为F = inline(expr, 'x1', 'x2', ... , 'xn')
    其中inline为内联函数;expr时以字符串形式的数学表达式;x1 , x2 , ... , xn为数学表达式expr中的变量。
4、文本M文件
  • 对于处理一个一次性要执行大量Matlab命令和语句,并且有重复使用的程序的任务时,可以将这些语句的集合存放在扩展名为M的文件中。M文件的编辑与函数M文件类似,在M文件编辑器中进行,它执行计算所用的数据来自于键盘输入和工作空间中已经存在的变量。它的输出数据仍保存在工作空间中,便于下次计算时的调用。
  • 函数M文件与文本M文件的区别:
    mwj1
5、M文件的编辑和储存
  • 文件的编辑时按照上面说过的5个部分要求进行编辑,编辑过程中要进行调试和排除错误。确认无误后进行存盘,点击存盘命令后会自动生成文件名(即原先设定的函数名)。
  • 文本M文件的文件名是自行命名的,程序的组成也比较自由。

二、实例演练

函数M文件调用的例子:

lizi1
程序代码如下
bc1
解读:其中syms用于建立符号变量,sym2poly是将多项式转换成系数向量的转换函数,用于提取3次代数方程的系数向量y1,最后通过求解多项式根的roots函数来求出最终的解。

函数M文件的编制例子:

lizi2
程序代码如下
bchs1
以上为设定的函数triarea,必须要保存为M文件才能被调用。
后面给出数据来解题。
t1
t2
解答如下
jie1
解读:一开始需要用function定义程序,后面用if写出必要的条件,最后函数编程完毕之后一定要记得保存好M文件,最后在命令行窗口就可以调用该函数了。

内联函数的例子

一个自变量的内联函数
t2
程序代码如下:
jd1
多个自变量的内联函数
t2
程序代码如下:
jd2
解读:先编制内联函数,程序相应后计算所需要的值。

文本M文件的例子

t4
程序代码如下:
jd5
最后在命令行窗口输入函数名flower_plots即可画出图形
tx
解读:主要是要注意点乘,和循环等重点,还有switch的使用。

总结思考

本次学习Matlab的M文件部分,深刻了解了这一部分的内容,我感觉收益颇多,虽然我才刚刚开始学习matlab没多久,基础很不牢固,但是希望通过本次20天的学习能够掌握这门语言的大部分,为明年的建模做好准备。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值