.M文件等基础MATLAB知识

M文件的分类:

1.脚本文件090413_Qkj0_3670444.png,在运行的时候可以直接090441_C6bI_3670444.png输入文件名称就可以运行。

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

095933_39iP_3670444.png100031_EScG_3670444.png

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

M文件的结构

1.函数的定义

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

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

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

2.M文件的调试(略)

3.函数的类型

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

(1)匿名函数举例

112153_f2yJ_3670444.png112215_4gmr_3670444.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为变量)

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

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

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

134300_jjcw_3670444.png134314_jhNf_3670444.png

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

eval函数

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

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

具体区别见下程序:

160619_5Mr6_3670444.png160742_iaWH_3670444.png

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

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

161440_hBwW_3670444.png

百度一下网友的解释。

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

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

函数的函数

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

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

可变数量输入/输出

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

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

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

174306_Cyd0_3670444.png

174328_Xta0_3670444.png

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

 

 

 

 

 

 

转载于:https://my.oschina.net/u/3670444/blog/1529471

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值