java类 matlab m文件_.M文件等基础MATLAB知识

本文介绍了MATLAB中M文件的基础知识,包括脚本文件和函数文件的定义与调用。详细讲解了函数的结构,如变量检测、匿名函数、子函数、私有函数、重载函数和内联函数。还提到了eval和feval函数的区别,以及变量输入输出的处理。在调试和实际应用中,强调了varargin和varargout的重要性。
摘要由CSDN通过智能技术生成

M文件的分类:

1.脚本文件

920b44e025ac78fbc89cf00d4d5fc273.png,在运行的时候可以直接

f372027e1f79743680002ccf8da20557.png输入文件名称就可以运行。

2.函数文件(整个文件为一个编写的功能函数,在使用的时候可以直接调用)

602473260c40a961f108821d0a21aa13.png

79a772c9857210ab55d40c32f8eb024c.png

function[x1,x2]=root(a,b,c,disc,real,imag);中是创建函数的语句该函数的名称为root,函数中所涉及的变量有a、b、c、disc、real、imag。

M文件的结构

1.函数的定义

首行有关键字function开头并在首行列出所有的输入和输出,输入在function之后一个的话直接输入,如果有多个输出的话就用方括号括起来。等号的右边是函数的名称,名称之后小括号内为所有涉及到的变量。

varargin andvarargout是两个和输入输出变量关系比较大的特殊变量

nargin和 nargout可以实现变量的检测

2.M文件的调试(略)

3.函数的类型

M函数、子函数、嵌套函数、私有函数、匿名函数、重载函数

(1)匿名函数举例

6d2c3eeb6571c78ae8b75e31dda0a13e.png

7aab247abcb224ff9a2c2e72786b0a7d.png

问题:minimum=fminbnd(f,-3,3);

plot(minimum,f(minimum),'d');

两句程序中,对于fminbnd函数的了解为0,应该是在最优化处理那一部分会有介绍,先放置一段时间

等待后续学习了解。

(2)子函数

(3)私有函数

(4)重载函数

(5)内联函数

常用格式fun=inline(expr,arg1,arg2....)fun为函数名,expr为表达式,arg为变量)

例题:(内联函数中只能出现函数和系数)

e9f49745b30391087ae54e5bf89e386e.png建立对应的内联函数,但是如何调用内敛函数,和普通的调用函数有什么相同和区别。

:如果传递一个可变系数的方程可以用如下程序:

4866cfc20e9fbadeab6c81e8e4897ab4.png

6e5bedf45a4744e6b6caf313eac2a87f.png

编写程序的时候注意的地方num2str(a)把a转换成字符输出。这一部分需要用',num2str(....),'来分开才能正常运行。

eval函数

eval(expression……);求表达式的 值或者执行包含文本的字符串。

feval函数;[y1,y2,...]=feval(fhandle,x1,...,)其中fhandle只接受函数名,不接受表达式

具体区别见下程序:

949f13d833c553228522c6b3730224f0.png

f25f0eb77a72d2e9e7bc41bab85cf6e3.png

该程序中对于小白有两处:

1.set(gcf,'units','normalized','position',[0.2,0.3,0.2,0.2]);调整坐标系的语句

c9b5d3ead025d3f07d29f934221f543f.png

百度一下网友的解释。

2.axis(‘square’);建立正方形的坐标系。

关于画图还有好多知识要学习。慢慢来!

函数的函数

以标量为变量的非线性函数,以函数名为自变量的函数(求零点、极点、最优化,常微分方程)

humps()函数——后期学习。

可变数量输入/输出

varargin:可变数量输入变量列表

varargout:可变数量输出变量列表

通过实例来了解其用法是最好的方法;

a81b6779eda5227480cf8ab61040f84e.png

e8b1c936661cad0816b14fac07dc0b1f.png

按照课本敲了近半个小时,完事提示n、d都是未定义的,这该如何是好。心累啊。函数定义的一般方式就是开头那样吧,但是不知道是不是书错了,表示狠心累!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值