本文目录一览:
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的列数-matlab函数
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怎么用函数?
首先建立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中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常用的基本数学函数
abs(x):纯量的绝对值或向量的长度
angle(z):复数z的相角(Phase angle)
sqrt(x):开平方
real(z):复数z的实部
imag(z):复数z的虚部
conj(z):复数z的共轭复数
round(x):四舍五入至最近整数
fix(x):无论正负,舍去小数至最近整数
floor(x):地板函数,即舍去正小数至最近整数
ceil(x):天花板函数,即加入正小数至最近整数
rat(x):将实数x化为分数表示
rats(x):将实数x化为多项分数展开
sign(x):符号函数 (Signum function)。
当x0时,sign(x)=-1;
当x=0时,sign(x)=0;
当x0时,sign(x)=1。
rem(x,y):求x除以y的馀数
gcd(x,y):整数x和y的最大公因数
lcm(x,y):整数x和y的最小公倍数
exp(x):自然指数
pow2(x):2的指数
log(x):以e为底的对数,即自然对数或
log2(x):以2为底的对数
log10(x):以10为底的对数
MATLAB常用的三角函数
sin(x):正弦函数
cos(x):馀弦函数
tan(x):正切函数
asin(x):反正弦函数
acos(x):反馀弦函数
atan(x):反正切函数
atan2(x,y):四象限的反正切函数
sinh(x):超越正弦函数
cosh(x):超越馀弦函数
tanh(x):超越正切函数
asinh(x):反超越正弦函数
acosh(x):反超越馀弦函数
atanh(x):反超越正切函数
变数也可用来存放向量或矩阵,并进行各种运算,如下例的列向量(Row vector)运算:
x = [1 3 5 2];
y = 2*x+1
y =
3 7 11 5
小提示:变数命名的规则
1.第一个字母必须是英文字母
2.字母间不可留空格
3.最多只能有19个字母,MATLAB会忽略多馀字母
用於向量的常用函数有:
min(x): 向量x的元素的最小值
max(x): 向量x的元素的最大值
mean(x): 向量x的元素的平均值
median(x): 向量x的元素的中位数
std(x): 向量x的元素的标准差
diff(x): 向量x的相邻元素的差
sort(x): 对向量x的元素进行排序(Sorting)
length(x): 向量x的元素个数
norm(x): 向量x的欧氏(Euclidean)长度
sum(x): 向量x的元素总和
prod(x): 向量x的元素总乘积
cumsum(x): 向量x的累计元素总和
cumprod(x): 向量x的累计元素总乘积
dot(x, y): 向量x和y的内积
cross(x, y): 向量x和y的外积
(大部份的向量函数也可适用於矩阵,详见下述。)
下表即为MATLAB常用到的永久常数。
i或j:基本虚数单位
eps:系统的浮点(Floating-point)精确度
inf:无限大, 例如1/0
nan或NaN:非数值(Not a number),例如0/0
pi:圆周率 p(= 3.1415926...)
realmax:系统所能表示的最大数值
realmin:系统所能表示的最小数值
nargin: 函数的输入引数个数
nargin: 函数的输出引数个数