生活
matlab函数 、matlab函数大全
2023-04-10 00:43  浏览:50

matlab怎么用函数?

首先建立M文件或直接点击(File/New/Function)建立函数文件,其中函数文件的格式是:x0dx0afunction [输出变量] = 函数名称(输入变量)x0dx0a% 注释x0dx0a% 函数体x0dx0a2x0dx0a如下所示,是编写的一个求1到n之和的求和函数 eg_sum,按照上述格式,编写代码如下并保存文件,注意文件命名时不能以数字开头:x0dx0afunction [s] = eg_sum( n )x0dx0a% calculate the sum of 1..nx0dx0as = 0;x0dx0afor i = 1:nx0dx0a s = s + i;x0dx0aendx0dx0ax0dx0a3x0dx0a回到控制台Command Window(主界面),注意要使用之前保存的函数文件名来调用函数,如下所示:x0dx0a clearx0dx0a a = eg_sum(10)x0dx0a运行结果: a = 55x0dx0ax0dx0a4x0dx0a许多网友说函数名一定要与函数文件名一致,其实不是这样子的,只要知道调用函数时是通过函数文件名调用的这点即可!比如下图所示,即使文件名仍然是eg_sum,但我可以修改函数名为:my_sum 调用时用文件名调用就好,如下所示:x0dx0a b = eg_sum(10)x0dx0a运行结果: b = 55

MATLAB中的阶乘函数是什么?

MATLAB中的阶乘函数是factorial()。在MATLAB中该函数运用规则是这样的:

语法

f = factorial(n)

说明

f = factorial(n) 返回所有小于或等于 n 的正整数的乘积,其中 n 为非负整数值。如果 n 为数组,则 f 包含 n 的每个值的阶乘。f 与 n 具有相同的数据类型和大小。

n 的阶乘通常使用感叹号字符以数学表示法写为 n!。

示例

1)整数阶乘,

f = factorial(10)  %10!

2)数组元素的阶乘

n = [0 1 2; 3 4 5];

f = factorial(n)

3)无符号整数值的阶乘

n = uint64([5 10 15 20]);

f = factorial(n)

matlab中某些函数的用法

unique()函数:去掉矩阵中重复的元素

(1)B = unique(A)

获取矩阵A 的不同元素构成的向量,其中B可能是行向量也可能是列向量,升序排列

(2)B = unique(A,'rows')

获取矩阵A的不同行向量构成的矩阵。

(3) [ C,IA,IC ] = unique(A)unique(A,'rows')

IA为矩阵C中的元素在矩阵A中的位置,IC为矩阵A中的元素在矩阵C中的位置。

size(A)函数是用来求矩阵的大小的

比如说一个A是一个3×4的二维矩阵:

1、size(A) %直接显示出A大小

输出:ans=

3 4

2、s=size(A)%返回一个行向量s,s的***个元素是矩阵的行数,第二个元素是矩阵的列数

输出:s=

3 4

3、[r,c]=size(A)%将矩阵A的行数返回到***个输出变量r,将矩阵的列数返回到第二个输出变量c

输出:r=

3

c=

4

4、[r,c,m]=size(A)

输出:r=

3

c=

4

m=

1

也就说它把二维矩阵当作第三维为1的三维矩阵,这也如同我们把n维列向量当作n×1的矩阵一样

5、当a是一个n维行向量时,size(A)把其当成一个1×n的矩阵,因此size(a)的结果是

ans

1 n

而不是a的元素个数n

6、size(A,n)

如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数。其中r=size(A,1)该语句返回的是矩阵A的行数, c=size(A,2) 该语句返回的是矩阵A的列数

hist的用法

1.n=hist(Y);

默认十个等间隔区间,并返回每个范围内的Y的元素个数作为一行向量

2.n=hist(Y,X);

X是一个事先给定的区间划分,统计Y在X这个区间划分下的个数

3.n=hist(Y,nbins);

nbins是间隔数,也就是说我们应该统计多少个间隔

4.[n,xout]=hist(...);

返回的参数多了很多,n是每一个区间的个数,xout是区间的中心位置

zeros函数和ones函数

zeros函数——生成零矩阵

ones函数——生成全1阵

fminbnd函数

有约束优化问题,使用fmincon——万能函数

[x,favl,exitflag]=fmincon(fun1,x0,A,B,Aeq,Beq,l,u,fun2)

fun1:目标函数

x0:初始点

A*x=B(不等式约束)

Aeq*x=Beq(等式约束)

l=x=u(上下界约束)

fun2:用于非线性约束

fun2的格式为:C(x)=0;Ceq(x)=0

function [C,Ceq]=fun2(x)

C = ...;

Ceq = ...;

end

Matlab中eval函数的使用方法。

1、假如我要对a1,a2,a3,a4,……,a100分别赋予1,2,3,……,100,这时eval就发挥作用了。

for i=1:100

eval(['a' num2str(i) '=' num2str(i)]);

end

2、再比如批量存数据或图片文件等等。

那么开始提到的例子也就好解释了。

注意:eval中的中括号在两个以上字符串出现时一定要有,起连接作用。

如:

input:[‘hello’ ‘world’]

output:helloworld

扩展资料:

函数说明

eval(expression)在字符串表达式中评估MATLAB代码。如果你在一个匿名函数或者含有嵌套函数的函数里面使用eval,那么评估的expression将不能创建一个变量。

[output1,...,outputN]=eval(expression) 从特定变量表达式即expression中存储所有的输出。

输入参数:

expression:含有有效的MATLAB表达式的字符串。如果要在表达式即expression里面包含数值,请使用int2str,num2str或者sprintf进行转换。

输出参数:

output1,...,outputN:是评估的表达式expression中的输出。

参考资料:百度百科—eval(MATLAB函数)

关于matlab函数和matlab函数大全的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

发表评论
0评