matlab学习——矩阵运算

>> A=100;%在matlab中,几乎所有变量都用矩阵的形式来存储
>> whos%查看目前贮存变量的详细情况
  Name      Size            Bytes  Class     Attributes

  A         1x1                 8  double              
%存储格式为1*1的矩阵,占用8个字节,数据类型是双精度浮点数
>> who%查看变量贮存情况

您的变量为:

A  

MATLAB常用基本数学函数 

函数 说明 函数 说明
abs(x) 绝对值或者向量的长度 rat(x) 将实数转化为分数表示
angle(z) 复数z的开角 sign(x) 符号函数
sqrt(x) 开方 rem(x,y) 求x除以y的余数
real(x) 复数x的实部 gcd(x,y) 整数x,y的最大公因数
imag(x) 复数x的虚部 lcm(x,y) x,y的最小公倍数
conj(x) 复数x的共轭复数 exp(x) 自然对数
round(x) 四舍五入取最近的整数 pow2(x) 2的指数
fix(x) 无论正负(向原点方向取最近的整数) log(x) 以e为底的对数
floor(x) 用舍去法取最近的整数 log2(x) 以2为底的对数
ceil(x) 用进1法取最近的整数 log10(x) 以10为底的对数

不熟悉函数演示 

>> z=1+2*I%创建一个复数
z =
   1.0000 + 2.0000i
>> angle(z)%求复数z的相角
ans =
    1.1071
>> real(z)%返回复数的实部
ans =
     1
>> imag(z)%返回复数的虚部
ans =
     2
>> conj(z)%求共轭复数
ans =
   1.0000 - 2.0000i
>> x=3.4575;z=-5.345;
>> round(x),round(z)%四舍五入取整数
ans =
     3
ans =
    -5
>> fix(x),fix(z)%向原点取整数
ans =
     3
ans =
    -5
>> floor(x),floor(z)%用舍去法取最近的整数
ans =
     3
ans =
    -6
>> ceil(x),ceil(z)%用进一法取最近的整数
ans =
     4
ans =
    -5
>> rem(34,6)%求34除以6的余数
ans =
     4
>> gcd(352,658)%求352和658的最大公因数
ans =
     2
>> gcd(53,67)
ans =
     1
>> lcm(34,67)%求34和57的最小公倍数
ans =
        2278

 下面列出MATLAB 中常用的三角函数

函数 说明 函数 说明
sin(x) 正弦函数 sinh(x) 超越正弦函数
cos(x) 余弦函数 cosh(x) 超越余弦函数
tan(x) 正切函数 tanh(x) 超越正切汗水
asin(x) 反正弦函数 asinh(x) 反超越正弦函数
acos(x) 反余弦函数 acosh(x) 反超越余弦函数
atan(x) 反正切函数 atanh 反超越正切函数
atan2(x) 四象限的反正切函数    

 下面列出适用于向量的常用函数

函数 说明 函数 说明
min(x) 向量x的元素的最小值 norn(x) 向量x 的欧式长度
max(x) 向量x的元素的最大值 sum(x) 向量x 的元素总和
mean(x) 向量x的元素的平均值 prod(x) 向量x的元素总乘积
median(x) 向量x的元素的中位数 consum(x) 向量x的累计元素总乘积
std(x) 向量x的元素的标准差 dot(x,y) x,y的內积
diff(x) x与相邻元素的差 cross(x,y) x,y的外积
sort(x) 对向量x的元素进行排序    
>> clear
>> x=randperm(7)
x =
     3     4     7     2     6     1     5
>> y=randperm(7)
y =
     5     2     6     7     3     4     1
>> min(x)
ans =
     1
>> max(x)
ans =
     7
>> min(x)
ans =
     1
>> mean(x)
ans =
     4
>> diff(x)
ans =
     1     3    -5     4    -5     4
>> sort(x)
ans =
     1     2     3     4     5     6     7
>> norm(x)
ans =
   11.8322
>> sum(x)%公式为3+4+7+2+6+1+5
ans =
    28
>> prod(x)%公式为3*4*7*2*6*1*5
ans =
        5040
>> cumsum(x)%3,3+4,3+4+7,3+4+7+2,3+4+7+2+6,3+4+7+2+6+1,3+4+7+6+2+1+5
ans =
     3     7    14    16    22    23    28
>> cumprod(x)%3,3*4,3*4*7,3*4*7*2,3*4*7*2*6,3*4*7*2*6*1,3*4*7*2*6*1*5
ans =
           3          12          84         168        1008        1008        5040

>> dot(x,y)%内积
ans =
   106

>> cross(x)
输入参数的数目不足。

出错 cross (line 22)
if isvector(a) && isvector(b)
 
>> cross(x,y)
错误使用 cross (line 25)
在获取交叉乘积的维度中,A 和 B 的长度必须为 3。
 
>> y=[2,3,4]

y =

     2     3     4

>> cross(x,y)

ans =

    -1     2    -1

>> 

猜你喜欢

转载自blog.csdn.net/qq_43264642/article/details/88606127