matlab用m文件定义函数_matlab如何定义m文件
MATLAB用function定义一个函数后 怎么让这个函数生效 是把这个M文件存到哪啊
函数 是要调用的,.M文件应该和调用它的.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换成你的输入数值就行了
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。