matlab中如何定义函数

matlab中如何定义函数,第1张

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

例如:

主函数:

clc;clear;

sex = 0;

% a表示性别,1 表示男,0表示女

age = 11;

% b表示岁数

kid(sex,age);

函数kid:

function high = kid(a,b)

%计算10到15岁小孩身高

if(b>=10 && b<=15)

if (a == 1)

high = b01;

fprintf('the height of the boy is %13f m\n',high);

elseif (a == 0);

high = b0105;

fprintf('the height of the girl is %13f m\n',high);

else

fprintf('out of sex range\n');

end

else

fprintf('out of age range\n');

end

matlab自定义函数的有三种方法。

方法一:inline()匿名函数,例如

f= inline('sin(2pix + theta)', 'x', 'theta')

方法二:@()句柄函数,例如

f=@( theta,x)sin(2pix + theta)

方法三:function 文件,例如

function f = myfun(theta,x)

f=sin(2pix + theta);

新建一个m文件

在m文件里面第一行输入function

[x,y]=pll(x1,y1,x2,y2),这里x1

x2

y1

y2是你函数的输入值,

x

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

=

x1

+

x2;

y

=

y1

+

y2;

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

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

否则会出错。

接着在matlab命令窗口中输入

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

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

不知道我说清楚了没。。。。我没有调试过,希望不会报错

-。-

Matlab中的程序有以下三种类型,现举例如下:

(1)f=@(x)x^2+x+1

(2)syms x;f=2x^3-x^2+1或syms x;f=inline('2x^3-x^2+1')

(3)建立M文件

function f=fun(x)

f=x^2-2x+1

对于你的问题,有多种解决方法,现举一例(是我认为最好的解决办法)

(1)建立M文件,在其中输入如下内容:

function f=fun(x,i)

%x,i均位向量。

f=zeros(length(i),length(x));%预分配变量空间

for k=1:length(i)

f(k,:)=x^i %相当于建立一个含有两个变量的函数。

end在调用时,如果你需要计算x=[1:10];i=1:2;时f的函数值。可以在MATLAB命令窗口中输入如下命令:

x=[1:5];i=1:2;f=fun(x,i)运行所得结果为:f=1 2 3 4 51 4 9 16 25

当然,此时,若只需求某一个数的某个次方也行。

Function函数是包含在Function和End Function语句之间的一组VBScript语句。 Function函数与Sub过程类似。但 Function函数可以有返回值。可以使用参数

如果 Function函数没有任何参数,则 Function语句必须要包含空括号,Function函数通过函数名返回一个值。返回值的数据类型是Variant。

M函数除了直接用函数名调用之外,也可以进行参数传递,使得Matlab应用更加方便。

M函数文件以function开头,格式为:function 输出变量 = 函数名称(输入变量)

调用格式

C = cat(dim,A,B)

C = cat(dim,A1,A2,A3,A4,)

dim为1时,将矩阵上下拼接:[A;B],dim为2时,将矩阵左右拼接:[A,B],dim=3时则可以构造三维数组。

VAR_KEYWORD类型的参数通过前缀来声明(不是函数调用!声明和调用是两种不同的含义的)。如同语义,这种类型的参数只能通过关键字KEYWORD调用,但可以接收任意个关键字参数,甚至是0个参数,在函数内部以一个字典(dict)显示。VAR_KEYWORD类型的参数只允许有一个,只允许在函数的最后声名。

-Function函数

function y=chen(x,z)

y=xz;

将上述函数存为M文件,即可被同一目录下的其它程序调用

Matlab中的程序有以下三种类型,现举例如下:

(1)f=@(x)x^2+x+1

(2)syms x;f=2x^3-x^2+1

(3)建立M文件

function f=fun(x)

f=x^2-2x+1

含义

设D为一个非空的n 元有序数组的集合, f为某一确定的对应规则。若对于每一个有序数组 ( x1,x2,…,xn)∈D,通过对应规则f,都有唯一确定的实数y与之对应,则称对应规则f为定义在D上的n元函数。

记为y=f(x1,x2,…,xn) 其中 ( x1,x2,…,xn)∈D。 变量x1,x2,…,xn称为自变量,y称为因变量。当n=1时,为一元函数,记为y=f(x),x∈D,当n=2时,为二元函数,记为z=f(x,y),(x,y)∈D。二元及以上的函数统称为多元函数。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/13494102.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存