>> A=[4,2;3,6]A =4 23 6>> B=sqrt(A)B =2.0000 1.41421.7321 2.4495
函数名 | 功能 | 函数名 | 功能 |
---|---|---|---|
sin/sind | 正弦函数,输入值为弧度/角度 | abs | 绝对值函数 |
cos/cosd | 余弦函数,输入值为弧度/角度 | rem | 求余 |
tan/tand | 正切函数,输入值为弧度/角度 | mod | 求模 |
asin/asind | 反正弦函数,返回值为弧度/角度 | fix | 向零方向取整 |
acos/acosd | 反余弦函数,返回值为弧度/角度 | floor | 不大于自变量的最大整数 |
atan/atand | 反正切函数,返回值为弧度/角度 | ceil | 不小于自变量的最小整数 |
sinh/asinh | 双曲正弦函数/反双曲正弦函数 | round | 四舍五入到最邻近的整数 |
cosh/acosh | 双曲余弦函数/反双曲余弦函数 | sign | 符号函数 |
tanh/atanh | 双曲正切函数/反双曲正切函数 | gcd | 最大公约数 |
sqrt | 平方根函数 | lcm | 最小公倍数 |
log | 自然对数函数 | factorial | 阶乘 |
log10 | 常用对数函数 | isprime | 判断是否为素数 |
log2 | 以2为底的对数函数 | primes | 生成素数列表 |
exp | 自然指数函数 | perms | 生成所有排列 |
pow2 | 2 的幂 | randperm | 生成任意排列 |
fix
函数),而求模运算在计算 c 的值时,向负无穷方向取整(floor
函数)。rem
与 mod
函数的区别是,当 b≠0 时,rem(a,b)=a-b.*fix(a./b),而 mod(a,b)=a-b.*floor(a/b);当 b=0 时,rem(a,0)=NaN, 而 mod(a,0)=a。round
函数的作用是四舍五入。设 a 为最靠近 x 的正整数(|x|≥a),则其余 3 个函数的区别可表示下图。sqrtm(A)
计算矩阵 A 的平方根 A sqrt{A} A 。例如:>> A=[4,2;3,6];
>> B=sqrtm(A)B =1.9171 0.46520.6978 2.3823>> B*Bans =4.0000 2.00003.0000 6.0000
>> A=[4,9;16,25];
>> eig(A) %矩阵 A 的特征值ans =-1.445230.4452>> B=sqrtm(A)B =0.9421 + 0.9969i 1.5572 - 0.3393i2.7683 - 0.6032i 4.5756 + 0.2053i
logm(A)
计算矩阵 A 的自然对数。此函数输入参数的条件与输出结果间的关系和函数 sqrtm(A)
完全一样,例如:
>> A=[4,9;1,5];
>> L=logm(A)L =1.0639 2.43080.2701 1.3340
expm(A)
的功能是求矩阵指数 e A e^{A} eA。例如,对上面计算所得到的 A 的自然对数 L,求其矩阵指数 B = e L B=e^{L} B=eL。>> B=expm(L)B =4.0000 9.00001.0000 5.0000
expm(A)
函数与 logm(A)
函数是互逆的。funm(A,@fun)
对方阵 A 计算由 fun 定义的函数的矩阵函数值。例如,当 fun 取 exp 时,funm(A,@fun)
可以计算矩阵 A 的指数,与 expm(A)
的计算结果一样。>> A=[2,-1;1,0];
>> funm(A,@exp)ans =5.4366 -2.71832.7183 0>> expm(A)ans =5.4366 -2.71832.7183 0
funm
函数可以用于 exp、log、sin、cos、sinh 和 cosh 等函数,但求矩阵的平方根只能用 sqrtm
函数。>> x=[2,-1,0;3,2,-4];
>> y=x-1y =1 -2 -12 1 -5
>> A=[1,2,3;4,5,6];
>> B=[1,2;3,0;7,4];
>> C=A*BC =28 1461 32
>> A=[10,20,30;40,50,60];
>> B=[1,3;4,8];
>> C=A*B
错误使用 *
用于矩阵乘法的维度不正确。请检查并确保第一个矩阵中的列数与第二个矩阵中的行数匹配。要单独对矩阵的每个元素进行运算,请使用 TIMES
(.*)执行按元素相乘。相关文档
>> A=[1,2,3;4,2,6;7,4,9];
>> B=[4,3,2;7,5,1;12,7,92];
>> C1=A/BC1 =7.9623 -4.2453 -0.0943-4.5472 2.9434 0.1321-5.1321 3.6415 0.1698>> C2=ABC2 =0.5000 -0.5000 44.50001.0000 0.0000 46.00000.5000 1.1667 -44.8333
>> A=[1,2,3;4,5,6;7,8,0];
>> A^2ans =30 36 1566 81 4239 54 69
>> A=[1,2,3;4,5,6;7,8,0];
>> A^0.1ans =0.9750 + 0.2452i 0.1254 - 0.0493i 0.0059 - 0.0604i0.2227 - 0.0965i 1.1276 + 0.1539i 0.0678 - 0.1249i0.0324 - 0.1423i 0.0811 - 0.1659i 1.1786 + 0.2500i
>> A=[1,2,3;4,5,6;7,8,9];
>> B=[-1,0,1;1,-1,0;0,1,1];
>> C=A.*BC =-1 0 34 -5 00 8 9
>> A=[1,2,3;4,5,6];
>> B=[-2,1,3;-1,1,4];
>> C1=A./BC1 =-0.5000 2.0000 1.0000-4.0000 5.0000 1.5000>> C2=B.AC2 =-0.5000 2.0000 1.0000-4.0000 5.0000 1.5000
>> A=[1,2,3];
>> B=[4,5,6];
>> C=A.^BC =1 32 729>> C1=A.^2C1 =1 4 9>> C2=2.^[A,B]C2 =2 4 8 16 32 64
>> x=0.1:0.3:1;
>> y=sin(x).*cos(x)y =0.0993 0.3587 0.4927 0.4546
It
、le
、 gt
、 ge
、 eq
、 ne
。>> 12>3ans =logical1>> eq(2,3)ans =logical0
>> A=fix((90-10+1)*rand(5)+10)A =75 17 22 21 6383 32 88 44 1220 54 87 84 7883 87 49 74 8561 88 74 87 64>> P=rem(A,3)==0 %等价于 P=eq(rem(A,3),0)P =5×5 logical 数组1 0 0 1 10 0 0 0 10 1 1 1 10 1 0 0 00 0 0 1 0
函数名 | 含义 |
---|---|
all | 若向量的所有元素非零,则结果为 1,否则为 0 |
any | 若向量中任何一个元素非零,则结果为 1,否则为 0 |
exist | 检查变量在工作空间中是否存在,若存在,则结果为 1,否则为 0 |
find | 找出向量或矩阵中非零元素的位置 |
isempty | 若被查变量是空矩阵,则结果为 1,否则为 0 |
isinf | 若元素是 ±tinf,则结果矩阵相应位置元素取 1,否则取 0 |
isnan | 若元素是 nan,则结果矩阵相应位置元素取 1,否则取 0 |
isfinite | 若元素值大小有限,则结果矩阵相应位置元素取 1,否则取 0 |
isinteger | 若被查变量是整型,则取 1,否则取 0 |
isnumeric | 若被查变量是数值型,则取 1,否则取 0 |
isreal | 若被查变量是实数,则取 1,否则取 0 |
isfloat | 若被查变量是浮点型,则取 1,否则取 0 |
>> A=[4,-65,-54,0,6;56,0,67,-45,0]A =4 -65 -54 0 656 0 67 -45 0>> k=find(A>4)k =269>> A(k)ans =56676
find
函数得到的矩阵元素的位置是以相应元素的序号来表示的。and(a,b)
、 or(a,b)
、 not(a)
和 xor(a,b)
,分别代表与、或、非、异或运算。>> x='yan zi 22'x ='yan zi 22'
>> 'I ''m a student.'ans ='I 'm a student.'
>> A='ABCDEF';
>> A(1:3)ans ='ABC'
>> A=['abcdef';'123456'];
>> A(2,3)ans ='3'
>> A='ABc123d4e56Fg9';
>> A1=A(1:5)A1 ='ABc12'>> A2=A(end:-1:1)A2 ='9gF65e4d321cBA'>> k=find(A>='a'&A<='z');
>> A(k)=A(k)-('a'-'A')A ='ABC123D4E56FG9'>> length(k)ans =4
eval
,它的作用是把字符串的内容作为对应的 MATLAB 命令来执行,其调用格式如下:>> eval(s)
>> t=pi;
>> m='[t,sin(t),cos(t)]';
>> y=eval(m)y =3.1416 0.0000 -1.0000
abs
和 double
函数都可以用来获取字符串矩阵所对应的 ASCII 码数值矩阵。char
函数可以把 ASCII 码矩阵转换为字符串矩阵。>> s1='MATLAB';
>> a=abs(s1)a =77 65 84 76 65 66>> b=double(s1)b =77 65 84 76 65 66>> char(a+32)ans ='matlab'
setstr
函数将 ASCII 码值转换成对应的字符。str2num
函数或 str2double
函数将数字字符串转换成数值。num2str
函数将数值转换成字符串。int2str
函数将整数转换成字符串。strcat
函数。>> f=70;
>> c=(f-32)/1.8;
>> ['Room temperature is ',num2str(c),' degree C.']ans ='Room temperature is 21.1111 degree C.'
strcat
函数可以将若干个字符串连接起来。>> strcat('yan','zi','22')ans ='yanzi22'
>> 'www0'>='W132'ans =1×4 logical 数组1 1 1 0
strcmp(s1,s2)
:用来比较字符串 s1 和 s2 是否相等,如果相等,返回 1, 否则返回 0。strncmp(s1,s2,n)
:用来比较前 n 个字符是否相等,如果相等,返回 1,否则返回 0。strcmpi(s1,s2)
:在忽略字母大小写前提下,比较字符串 s1 和 s2 是否相等,如果相等,返回 1,否则返回 0。strnempi(s1,s2,n)
:在忽略字符串大小写前提下,比较前 n 个字符是否相等,如果相等,返回 1,否则返回 0。>> strcmp('www0','W123')ans =logical0>> strncmpi('ww0','W12',1)ans =logical1
findstr(s1,s2)
:返回短字符串在长字符串中的开始位置(s1,s2 的顺序没有要求)。>> p1=findstr('this is a test','is')p1 =3 6>> p2=findstr('is','this is a test')p2 =3 6
strep(1,s2,s3)
:将字符串 s1 中的所有子字符串 s2 替换为字符串 s3。>> p3=strrep('this is a test','test','success')p3 ='this is a success'
结构矩阵名.成员名=表达式
>> a(1).x1=10;a(1).x2='liu';a(1).x3=[11,21;34,78];
>> a(2).x1=12;a(2).x2='wang';a(2).x3=[34,191;27,578];
>> a(3).x1=14;a(3).x2='cai';a(3).x3=[13,180;57,231];
>> a(2).x1.x11=90;a(2).x1.x12=12;a(2).x1.x13=30;
>> a(2).x3ans =34 19127 578>> a(2)ans = 包含以下字段的 struct:x1: 12x2: 'wang'x3: [2×2 double]>> aa = 包含以下字段的 1×3 struct 数组:x1x2x3
>> a(1).x4='410075';
rmfield
函数来完成。例如,要删除成员 x4,命令如下:>> a=rmfield(a,'x4');
结构矩阵名.成员名
>> a={10,'liu',[11,21;34,78];12,'wang',[34,191;27,578];14,'cai',[13,890;67,231]}a =3×3 cell 数组{[10]} {'liu' } {2×2 double}{[12]} {'wang'} {2×2 double}{[14]} {'cai' } {2×2 double}
>> a{3,3}ans =13 89067 231
>> y.x1=34;y.x2=56;
>> a{3,4}=y;
celldisp
函数来显示整个单元矩阵,如 celldisp(a)。还可以删除单元矩阵中某个元素,如删除 a 的第 3 个元素,其命令如下:>> a(3)=[]a =1×11 cell 数组列 1 至 8{[10]} {[12]} {'liu'} {'wang'} {'cai'} {2×2 double} {2×2 double} {2×2 double}列 9 至 11{0×0 double} {0×0 double} {1×1 struct}
本文发布于:2024-02-03 08:20:49,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170691964949807.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |