matlab 函数(matlab怎么定义函数啊)
各位老铁们好,相信很多人对matlab 函数都不是特别的了解,因此呢,今天就来为大家分享下关于matlab 函数以及matlab怎么定义函数啊的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
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怎么定义函数啊
matlab中定义函数的方式有以下几种:
1、函数文件+调用函数文件:定义多个M文件。
%调用函数文件:myfile.m
clear
clc
for x=1:10
y=mylfg(x);
end
%自定义函数文件: mylfg.m
function y=mylfg(x)%注意:函数名(mylfg)必须与文件名(mylfg.m)一致
Y=3*x+1;
注:这种方法要求自定义函数必须单独写一个M文件,不能与调用的命令文件写在同一个M文件中。
2、函数文件+子函数:定义一个具有多个子函数的M文件。
%命令文件:funtry2.m
function []=funtry2()
for x=1:10
y=lfg2(x);
End
function y=lfg2(x)
Y= 3*x+1;
%注:自定义函数文件funtry2.m中可以定义多个子函数function。子函数lfg2只能被主函数和主函数中的其他子函数调用。
3、Inline内联函数:无需M文件,直接定义。
%inline命令用来定义一个内联函数:f=inline(‘函数表达式’,‘变量1’,’变量2’,……)。
调用方式:y=f(数值列表)%注意:代入的数值列表顺序应与inline()定义的变量名顺序一致。
例如:
f=inline(‘3*x+1‘,’x’);
z=f(2)
Ans=7
注:这种函数定义方式是将它作为一个内部函数调用。特点是,它是基于Matlab的数值运算内核的,所以它的运算速度较快,程序效率更高。缺点是该方法只能对数值进行代入,但是不支持符号代入,且对定义后的函数不能进行求导等符号运算。
matlab怎么用函数
首先建立M文件或直接点击(File/New/Function)建立函数文件,其中函数文件的格式是:\x0d\x0afunction [输出变量]=函数名称(输入变量)\x0d\x0a%注释\x0d\x0a%函数体\x0d\x0a2\x0d\x0a如下所示,是编写的一个求1到n之和的求和函数 eg_sum,按照上述格式,编写代码如下并保存文件,注意文件命名时不能以数字开头:\x0d\x0afunction [s]= eg_sum( n)\x0d\x0a% calculate the sum of 1..n\x0d\x0as= 0;\x0d\x0afor i= 1:n\x0d\x0a s= s+ i;\x0d\x0aend\x0d\x0a\x0d\x0a3\x0d\x0a回到控制台Command Window(主界面),注意要使用之前保存的函数文件名来调用函数,如下所示:\x0d\x0a>> clear\x0d\x0a>> a= eg_sum(10)\x0d\x0a运行结果: a= 55\x0d\x0a\x0d\x0a4\x0d\x0a许多网友说函数名一定要与函数文件名一致,其实不是这样子的,只要知道调用函数时是通过函数文件名调用的这点即可!比如下图所示,即使文件名仍然是eg_sum,但我可以修改函数名为:my_sum调用时用文件名调用就好,如下所示:\x0d\x0a>> b= eg_sum(10)\x0d\x0a运行结果: b= 55
matlab如何定义函数
很多用户在使用matlab软件来进行编程的时候,有一些函数需要进行定义,但是很多人不会定义,这时候我们可以新建一个脚本,把函数写在脚本中来进行调用。
matlab如何定义函数:
1、首先打开软件,在“新建”中创建一个函数。
2、然后定义一个test函数,输入图中的数据,test是函数名,result是返回结果,a和b是输入参数。
3、接着在命令行窗口输入“test(10,20)”,调用test,会出现返回结果30。
4、也可以新建脚本,把函数写入脚本,用脚本调用函数,能直接运行。
5、最后就可以看到运行结果相同,两种方法都可以使用来定义函数。
文章分享到这里,希望我们关于matlab 函数和matlab怎么定义函数啊的内容能够给您带来一些新的认识和思考。如果您还有其他问题,欢迎继续探索我们的网站或者与我们交流,我们将尽力为您提供满意的答案。