Matlab自定义函数的几种方法 matlab自定义函数调用

Matlab自定义函数的几种方法

1、函数文件+调用命令文件:需单独定义一个自定义函数的M文件;

2、函数文件+子函数:定义一个具有多个自定义函数的M文件;

3、Inline:无需M文件,直接定义;

4、匿名函数;

5、Syms+subs: 无需M文件,直接定义;

6、字符串+subs:无需M文件,直接定义;

7、直接通过@符号定义.

1、函数文件+调用函数文件:定义多个M文件:

% 调用函数文件:myfile.m

clear

clc

for t=1:10

y=mylfg(t);

fprintf(‘M^(1/3)=%6.4fn’,t,y);

end

%自定义函数文件: mylfg.m

function y=mylfg(x)%注意:函数名(mylfg)必须与文件名(mylfg.m)一致

Y=x^(1/3);

注:这种方法要求自定义函数必须单独写一个M文件,不能与调用的命令文件写在同一个M文件中。

2、函数文件+子函数:定义一个具有多个子函数的M文件

%命令文件:funtry2.m

function []=funtry2()

for t=1:10

y=lfg2(t)

fprintf(‘M^(1/3)=%6.4fn’);

End

function y=lfg2(x)

Y= x^(1/3);

%注:自定义函数文件funtry2.m中可以定义多个子函数function。子函数lfg2只能被主函数和主函数中的其他子函数调用。

3、Inline:无需M文件,直接定义;

%inline命令用来定义一个内联函数:f=inline(‘函数表达式’, ‘变量1’,’变量2’,……)。

调用方式:y=f(数值列表) %注意:代入的数值列表顺序应与inline()定义的变量名顺序一致。

例如:

f=inline(‘x^2+y’,’x’,’y’);

z=f(2,3)

Ans=7

注:这种函数定义方式是将它作为一个内部函数调用。特点是,它是基于Matlab的数值运算内核的,所以它的运算速度较快,程序效率更高。缺点是,该方法只能对数值进行代入,不支持符号代入,且对定义后的函数不能进行求导等符号运算。

例:

Clear

Clc

f=’x^2’;

Syms x g;

g=x^2;

h=inline(‘x^2’,’x’);

4.匿名函数


使用matlab函数句柄操作符@,可以定义指向matlab内置函数和用户自定义函数的函数句柄,函数句柄也可以像函数一样的使用。例如:
>>x=-pi:0.1:pi;
>> fh={@cos,@sin};
fh =
@cos@sin
>>plot(fh{2}(x))

5、Syms+subs:无需M文件,直接定义;

用syms定义一个符号表达式,用subs调用:

Syms f x %定义符号

f=1/(1+x^2); %定义符号表达式

subs(f, ‘x’, 代替x的数值或符号)

注:对于在syms中已经定义过的符号变量,在subs中进行替代时,单引号可以省略。但是,如果在syms后又被重新定义为其他类型,则必须加单引号,否则不可替换。

这种函数定义方法的特点是,可以用符号进行替换

Syms f x

f=1/(1+x^2);

subs(f, ‘x’,’y^2’)

ans=

1/(1+(y^2)^2)

注:该方法的缺点是,由于使用符号运算内核,运算速度会大大降低。

6、字符串+subs:无需M文件,直接定义;

直接定义一个字符串,用subs命令调用。例如:

f=’1/(1+x^2)’ %定义字符串

z=subs(f,’x’,2)

g=subs(f,’x’,’y^2’)

注:优点是,占用内存最少,定义格式方面自由。

缺点是,无法对字符进行符号转化。

当所要替代的符号在调用前都已经有了数值定义,则可以直接调用:subs(f).例如:

f=’x^2*y’;

x=2;y=3;

subs(f)

ans=12

7、直接通过@符号定义.

示例如下:

>>f=@(x,y)(x.^2-sin(y))
f =
@(x,y)(x.^2-sin(y))
Matlab自定义函数的几种方法 matlab自定义函数调用
>> f(2,3)
ans =
3.8589

  

爱华网本文地址 » http://www.413yy.cn/a/25101016/304352.html

更多阅读

车辆保险查询的几种方法 如何查询车辆保险

对于已经投保了车险的车主来说,很多人都希望随时了解保单信息以及发生事故后的理赔信息。这就需要借助车辆保险查询这一手段,目前车主可通过拨打保险公司电话或是登陆相关网站实现这一目标。车辆保险查询的几种方法——步骤/方法车辆

家用不锈钢电水壶除垢的几种方法 电水壶除水垢

家用不锈钢电水壶除垢的几种方法——简介 不锈钢电水壶,作为一种常用家用小家电,在外山设计上并没有多少的特点,在使用过程中在常出现的现象就是在内壁上附着的水垢,不锈钢电水壶水垢,不仅会影响电水壶的使用效率,同时还对电水壶的使用寿

查询工商银行卡余额的几种方法 工商银行余额查询

查询工商银行卡余额的几种方法——简介 使用了工行银行一段时间了,有一天突然想查询工商银行卡上的余额了该怎么查询了,下面教你怎么查询。查询工商银行卡余额的几种方法——工具/原料拥有一张工行的银行卡,知道密码。查询工商银行卡

白凡士林治疗牛皮癣(银屑病)的几种方法介绍 银屑病治疗方法

一、什么是白凡士林白凡士林,WHITEVASELIN,是从石油中得到的多种烃的半固体混合物,为白色均匀的软膏状物;无臭或几乎无臭;与皮肤接触有滑腻感;具有一定的拉丝性。凡士林非常便宜,很多爱美的女士因此对它不屑一顾。事实上,与市场上其他更加

让笔记本电脑无线上网的几种方法 台式机无线上网

相信现在很多朋友都使用轻便笔记本, 对于电脑基础不是很好朋友, 笔记本无线上网就成为一个难题, 不像台式机直接上网线就可以了, 笔记本一般都不会固定在一个位置, 能无线上网才能最大的发挥用处. 这里就告诉你让笔记本电脑无线上网

声明:《Matlab自定义函数的几种方法 matlab自定义函数调用》为网友雨后云初霁分享!如侵犯到您的合法权益请联系我们删除