MATLAB用function定义一个函数后 怎么让这个函数生效 是把这个M文件存到哪啊

函数 是要调用的,.M文件应该和调用它的.M文件放在一个文件夹里才行,不然找不到它的;

matlab用m文件定义函数_matlab如何定义m文件matlab用m文件定义函数_matlab如何定义m文件


matlab用m文件定义函数_matlab如何定义m文件


matlab用m文件定义函数_matlab如何定义m文件


譬如函数为 OUT = Function(Input1,input2); 此函数有两个参数,一个返回值;

调用它的话,就是 result = Function(x1,x2); result 就是用函数Function对实际参数x1和x2计算得到的返回值;

matlab的函数定义和函数调用基本和其它编程语言是一个道理,参数传入,参数传出等

matlab中怎么定义函数

俺明白你的意思。

【1】把以下文件存为y.m【也可以用别的名字,以后执行起来统一就行,你就用y.m存吧,要不后面没法执行】

function

f=y(t)

x=

(0:.1:2)';

y=

[5.8955

3.5639

2.5173

1.9790

1.8990

1.3938

1.1359

1.0096

1.0343

...

0.8435

0.6856

0.6100

0.5392

0.3946

0.3903

0.5474

0.3459

0.1370

...

0.2211

0.1704

0.2636]';

pp=spline(x,y);

f=ppval(pp,t);

plot(x,y,'o-');

【2】可以执行验证。

>>

y(0)

ans

=5.8955

>>

y(0.1)

ans

=3.5639

>>

y(1/3)

%这个表里可不能直接查询哦!

ans

=1.9479

>>

y(9)

%还可以外推呢,准不准就不好说了,显然外推太多是不行的。

ans

=3.1030e+004

左上面工具栏:file-->new-->M-file

新建一个m文件,把你这些内容:

function

y=

myfun(x)

y=

x.^2;

粘进去,保存成myfun.m,

保证myfun.m在你窗口的当前目录下。

然后主窗口运行:

y=

myfun(4)

matlab中怎么用M文件定义分段函数,再用fplot进行函数作图

fun3 = @(x)exp(x);

fplot(fun3,[-3,0],'m')

hold on

fun4 = @(x)cos(x);

fplot(fun4,[0,3],'r')

用hold on

MATLAB如何定义函数

自定义函数的途径:

M文件函数(M

file

function)

在线函数(Inline

Function)

1.M文件函数范例function

c=myadd(a,b)

%这里可以写函数的使用说明,前面以%开头

%在工作区中,

myadd将显示此处的说明c=a+b;%end

%非必须的

行function告诉Matlab这是一个函数,a,b是输入,c是输出,myadd是函数名。以m文件定义的函数必须保存为函数名的形式,上例中,函数应保存为myadd.m。要使用myadd函数,该函数必须在Matlab的搜索路径中。

调用方式:在Matlab命令符后输入a=1;b=2;c=myadd(a,b)

关于m文件定义函数还有许多的说明,暂时略去。。。

2.在线函数(Inline

Function)

通常作为参数传递给另外一个函数。比如fminsearch,lsqcurvefit等函数需要以函数作为参数。

在线函数从字符串表达式创建函数,例如:

f=inline('x.^2','x');

创建了函数f(x)=x^2。要计算f(3),在工作区输入f(3)即可。f([2

34])计算在x=2

34时的值

f=inline('x+y','x','y')

创建了二元函数f(x,y)=x+y,工作区输入f(2,3)计算2+3,等同于feval_r(f,2,3)。

函数句柄=@(变量名)

函数表达式例如:f=@(x)

x.^2

定义了函数f(x)=x^2,f(2)计算在x=2处的值。

f(2)

%计算时引用了变量aa=0;f(2)

%仍然引用的是a=2

f=@sin

%f(x)=sin(x)

f(pi/2)

%sin(pi/2)

functions(f)

%查看函数信息

利用单元数组可以创建多个函数的句柄,例如

f={@sin

@cos}

f{1}(pi/2)

%计算sin(pi/2)

函数句柄的另一个重要特征是可以用来表示子函数、私有函数和嵌套函数。

新建一个m文件

在m文件里面行输入function

[X,Y]=pll(X1,Y1,X2,Y2),这里x1

x2

y1

y2是你函知数的输入值,

xy是输出值,接着定义你要实现的功能,比如:x

=x1

+x2;

y=

y1

+y2;

接着保存这个m文件道,注意!!

这个m文件的名字必须是定义的函数的名字,即保存为回pll.m

否则会出错。

接着在matlab命令窗口中输入

pll(1,2,3,4)看看会得到什么?答

也可以另外创建一个m文件,在这里调用pll()这个函数。

matlab

中的函数参数个数,是你自己在函数中定义的啊,跟你函数里要调用的外部变量的个数相同。

例如:

主函数:

clc;clear;

=0;

%a表示性别,1

表示男,0表示女

age

=11;

%b表示岁数

kid(,age);

函数kid:

function

high

=kid(a,b)

%计算10到15岁小孩身高

if(b>=10

&&

b<=15)

if

(a

==

1)

high

=b0.1;

fprintf('the

height

of

the

boy

is

%1.3f

mn',high);

elseif

(a

==

0);

high

=b0.105;

fprintf('the

height

of

the

girl

is

%1.3f

mn',high);

else

fprintf('out

of

rangen');

end

else

fprintf('out

of

age

rangen');

end

当这个函数被其他函数调用时,这个错误不会出现;这个错误出现的原因在于程序运行时,没有作为x和xdata赋值。

如果在另一个函数里调用,如

function

f1

b=malthus([3

2],[3

2])

function

f=malthus(

x,xdata)

f=exp(x(1)+xdata.x(2))

end

end

就不会有问题,当调试函数malthus时,可在函数内暂时声明与输入变量同名的变量,并为之赋值,调试结束后删掉

matlab怎么在单个m文件里定义函数,并直接运行出结果,比如f=x1+x2,已知x1=5,x2=

%% 所谓m文件在Matlab中包含脚本文件和函数定义文件

%% 在脚本文件中要调用自定义函数,必须提前写好存盘再调用

%% 如果在函数文件中可以将子函数写在后面,直接调用

如果我没有理解错,就是如下的一个文件即可

function []=test()

clear all

clc

x1=5;

x2=6;

f=sum(x1,x2)

function f=sum(x,y)

f=x+y;

matlab的m文件中如何定义一个未知函数

新建一个.m文件,行输入下面的格式

function [y,m] = abc(x)

其中x为输入,y和m为输出,abc是函数名

下面就可以写函数的内容,保存在某路径下。

在需要调用函数时,当前路径需要和你存函数m文件的路径相同。

[y,m]=abc(x); %x换成你的输入数值就行了