matlab中怎么定义函数

作者&投稿:众侍 (若有异议请与网页底部的电邮联系)
matlab中怎么定义一个函数~

方法:
1、函数文件+调用函数文件:定义多个M文件;
% 调用函数文件:myfile.m
clear
clc
for t=1:10
y=mylfg(t);
fprintf(‘M^(1/3)=%6.4f
’,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.4f
’);
End
function y=lfg2(x)
Y= x^(1/3);
%注:自定义函数文件funtry2.m中可以定义多个子函数function。子函数lfg2只能被主函数和主函数中的其他子函数调用。
3、Inline:无需M文件,直接定义;
%inline命令用来定义一个内联函数:f=inline(‘函数表达式’, ‘变量1’,’变量2’,……)。
调用方式:y=f(数值列表) %
注意:代入的数值列表顺序应与inline()定义的变量名顺序一致。
MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。

优势特点:
1、 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来。
2、具有完备的图形处理功能,实现计算结果和编程的可视化。

3、友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握。

4、功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。
编程环境:
MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

首先建立M文件或直接点击(File/New/Function)建立函数文件,其中函数文件的格式是:
function
[输出变量]
=
函数名称(输入变量)
%
注释
%
函数体
如下所示,是编写的一个求1到n之和的求和函数
eg_sum,按照上述格式,编写代码如下并保存文件,注意文件命名时不能以数字开头:
function
[s]
=
eg_sum(
n
)
%
calculate
the
sum
of
1..n
s
=
0;
for
i
=
1:n
s
=
s
+
i;
end
回到控制台Command
Window(主界面),注意要使用之前保存的函数文件名来调用函数。

俺明白你的意思。
【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中的数组怎么定义和输入?
不像C里那样非要用循环 load数据之后,只要有数据 [数组名 索引(从1开始的)]=你要存入的值 即可 试试吧,只要有效输入,就可以不停的缓存入了

matlab 中如何定义周期函数
其实 MATLAB里面有直接定义三角波的函数的 就是 sawtooth(t,width) 其用法跟sin(t)差不多.比方说你的条件是x=1-abs(t) (-2<t<2)下面是代码:clear all clc t=-4:0.01:4;f=sawtooth(1\/2*pi*(t+2),0.5);plot(t,f);grid on;最后附上一些函数吧 特殊函数 boxcar() 矩形窗 t...

MATLAB指数函数的拟合过程中怎么确定初始值啊?
在拟合函数过程中,不管用nlinfit()函数还是用lsqcurvefit()函数去拟合非线性函数,都要先确定一组初始值,初始值选择好与坏,直接影响其拟合精度(即相关系数)。但初始值选择实际是有一定的难度,一般方法也是最有效的方法,用随机函数rand()来初定初始值,看相关系数是否接近于1,如不行,再调整...

如何在matlab中定义n维向量?
该向量L为得到的随机0-1向量注:运行的时候会让你输入向量的长度n.你就根据自己的需要输入一个正整数即可. 本回答由科学教育分类达人 焦勇推荐 举报| 答案纠错 | 评论 1 3 夜来雨早来晴 采纳率:93% 来自团队:机械帝国 擅长: 工程技术科学 其他回答 这个matlab里不用定义的啊!例如:a=x1;a=[a x2];a...

MATLAB中fsolve初值怎么确定?
正确的做法是先用matlab画函数曲线,通过看图知道有多少个解,每个解的大致位置,然后再采用fsolve求精度高的解。你画函数曲线,自然就知道该怎么取初值了。

MATLAB仿真时间是怎么确定的啊?
首先、仿真时间要设置好,时间太长了就会一直等着。第二、变步长解法器也要设置 第三、变步长的最大值也要设置当然越小越好,但是太小了会仿真的时间很长,就会一直在等着。仿真的时间很重要,有一次做斜坡函数如果仿真时间不够长,都无法到达自己想要的值,只能仿真一部分。用户在Type后面的第一个...

怎么用matlab确定图像中矩形物体的位置及旋转角度
每旋转一次记录一次其坐标系方向上的外接矩形边界点的最大和最小的x和y值,旋转到某一角度后,外接矩形的面积达到最小,取面积最小的外接矩形的参数为最小外接矩形……if (nargin<3) || isempty(metric)nargin为“number of input arguments”的缩写。在matlab中定义一个函数时, 在函数体内部,...

function在matlab中怎么用
在Matlab中使用function的方式如下:一、基本定义方式 在Matlab中,我们可以通过关键字`function`来定义一个函数。函数的定义包括函数名称、输入参数、输出参数和函数体。其基本语法如下:matlab function [output1, output2, ...] = myFunction 函数体,包含一系列的命令和操作 end 二、详细解释 1. ...

matlab中plot()画图时如何指定X Y轴的范围
可以用matlab提供的坐标轴设置函数axis进行设置(对当前坐标轴进行设置),具体用法如下:plot(x, y); \/\/ 画图后用axis函数设置坐标轴的范围 axis([xmin xmax ymin ymax]); % 设置坐标轴在指定的区间 xmin、xmax 表示设置横坐标的最小最大值;ymin、ymax 表示设置纵坐标的最小最大值。也可以...

matlab中如何合理设定线条宽度?
设置线宽度(LineWidth),标记点的边缘颜色(MarkerEdgeColor),填充颜色 (MarkerFaceColor)及标记点的大小(MarkerSize)例:设置绘图线的线型,颜色,宽度,标记 点的颜色及大小:t=0:pi\/20:pi;y=sin(4*t).*sin(t)\/2;plot(t,y,'-bs','LineWidth',2,... %设置线的宽度为2 'MarkerEdgeColor','k'...

金寨县19238817584: matlab如何定义函数 -
比才胃炎: 假设要写一个函数名为func,则将下列内容保存到func.m文件中.注意文件名不能随便改,必须和函数名一致:1 2 3function [y1, y2] = func(x1, x2) % 这里写计算过程 end

金寨县19238817584: 在matlab中怎么定义函数 -
比才胃炎: function my=xj(x) my=x+1;%举例说明 在命令窗口调用时 xj(3) 输出就为4,因为x=3,my=x+1 你没有定义函数表达式,而且没有输入参数

金寨县19238817584: matlab怎么建立自定义函数 -
比才胃炎: 首先建立M文件或直接点击(File/New/Function)建立函数文件,其中函数文件的格式是: function [输出变量] = 函数名称(输入变量) % 注释 % 函数体如下所示,是编写的一个求1到n之和的求和函数 eg_sum,按照上述格式,编写代码如下并保存文件,注意文件命名时不能以数字开头: function [s] = eg_sum( n ) % calculate the sum of 1..n s = 0; for i = 1:ns = s + i; end

金寨县19238817584: matlab定义函数 -
比才胃炎: 首先要先定义变量,例如x=0:0.01:100; 然后给出函数y的表达式y=f(x),最后对函数进行调用,y(x)+y(x+1).

金寨县19238817584: Matlab创建自定义函数 -
比才胃炎: 新建一个m文件 在m文件里面第一行输入function [X,Y]=pll(X1,Y1,X2,Y2),这里x1 x2 y1 y2是你函数的输入值, x y是输出值,接着定义你要实现的功能,比如:x = x1 + x2; y = y1 + y2; 接着保存这个m文件,注意!! 这个m文件的名字必须是定义的函数的名字,即保存为pll.m 否则会出错.接着在matlab命令窗口中输入 pll(1,2,3,4)看看会得到什么? 也可以另外创建一个m文件,在这里调用pll()这个函数.

金寨县19238817584: matlab怎么定义函数然后再使用函数 -
比才胃炎: Matlab自定义函数的几种方法 1、函数文件+调用命令文件:需单独定义一个自定义函数的M文件; 2、函数文件+子函数:定义一个具有多个自定义函数的M文件; 3、Inline:无需M文件,直接定义; 4、匿名函数; 5、Syms+subs: 无需M文件,直接定义;

金寨县19238817584: 如何正确地在matlab里创建自定义函数,求高手指教~ -
比才胃炎: f=sym('(1+t/2)*(Heaviside(t+2)-Heaviside(t-2)')少了个括号,应该是发f=(1+t/2)*(Heaviside(t+2)-Heaviside(t-2));解决办法 clc; Heaviside=@(t) t>=0; syms t f=sym('(1+t/2)*(Heaviside(t+2)-Heaviside(t-2))') subplot(2,3,1),ezplot(f,[-3,3]) y1=subs(f,t,t+2)...

金寨县19238817584: matlab中怎么定义函数啊?是不是不能在命令窗口,听过i输入代码直接定义函数?我是新手,求教.
比才胃炎: 输入edit然后会弹出一个窗口,在里面定义函数.函数似乎是要在m文件里定义,要保证你的函数名和m文件名一致(就是弹出的那个窗口保存时文件名和你的函数名一样).

金寨县19238817584: matlab中怎么定义一个函数 -
比才胃炎: 只有在m文件中定义的第一个函数才可以在命令窗口直接调用,并且文件名字必须和函数名字相同.命令窗口是不能定义函数的

金寨县19238817584: matlab中如何自己定义函数,求步骤以及格式 -
比才胃炎: 举例说明:假设有个函数 y=2*x^2+3*x+4,编写一个子函数(自定义函数) 建立1个*.m文件,文件内容如下 function y=f(x) %x为子函数输入,y为输出,输入输出可以是多个,也可以是数组或矩阵 y=2*x.^2+3*x+4 保存此m文件名为y 调用时 x=2; y=f(x); 或者 x=[1 2 3];y=f(x)

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网