2.MATLAB篇——基本操作与矩阵输入

文章展示了MATLAB中进行数学计算、函数使用(如sin,cos,exp)以及矩阵操作的基本示例,包括指数运算、特殊数值(如Inf,NaN)处理、数组索引和组合以及格式设置。此外,还提到了变量赋值、比较操作和关键词使用规则。
摘要由CSDN通过智能技术生成

>> cos(((1+2+3+4+5)^5)^0.5)

ans =

   -0.3623

>> help sin
 sin - 参数的正弦,以弧度为单位
    此 MATLAB 函数 返回 X 的元素的正弦。sin 函数按元素处理数组。该函数同时接受实数和复数
    输入。 对于 X 的实数值,sin(X) 返回区间 [-1, 1] 内的实数值。 对于 X 的复数
    值,sin(X) 返回复数值。

    Y = sin(X)

    输入参数
        X - 输入角(以弧度为单位)
            标量 | 向量 | 矩阵 | 多维数组

    输出参数
        Y - 输入角正弦
            标量 | 向量 | 矩阵 | 多维数组

    打开示例
        绘制正弦函数
        复角向量的正弦

    See also sind, asin, asind, sinh, sinpi

    在 R2006a 之前引入
    sin 的文档
    名为 sin 的其他函数
>> sin(sqrt(pi))+log(tan(1))

ans =

    1.4228

>> 2^(3.5*1.7)

ans =

   61.8199

>> e^sin(10)
函数或变量 'e' 无法识别。
 

>> exp(sin(10))

ans =

    0.5804
  • Note:
  • sqrt()为开根,exp(1)=e,pi=π,log()为In()
  • + - * / ^
  • help ()

变量的方式

>> cos(pi)

ans =

    -1

>> sin(ans)

ans =

   -0.8415
>> A=10

A =

    10

>> 10=A
 10=A
   ↑
'=' 运算符的使用不正确。 '=' 用于为变量赋值,'==' 用于比较值的相等性。
 
>> 10==A

ans =

  logical

   1

查看变量类型who()、whos()

>> who

您的变量为:

A    ans  

>> whos
  Name      Size            Bytes  Class      Attributes

  A         1x1                 8  double               
  ans       1x1                 1  logical    
  • 关键字:
  • ans:answer
  • i,j:complex number
  • Inf:∞
  • eps: 很小的数
  • NaN:not a number
  • pi:π
>> x=1/0

x =

   Inf

>> x = inf/inf

x =

   NaN

>> x=log(0)

x =

  -Inf

iskeyword()查看关键字


>> iskeyword

ans =

  20×1 cell 数组

    {'break'     }
    {'case'      }
    {'catch'     }
    {'classdef'  }
    {'continue'  }
    {'else'      }
    {'elseif'    }
    {'end'       }
    {'for'       }
    {'function'  }
    {'global'    }
    {'if'        }
    {'otherwise' }
    {'parfor'    }
    {'persistent'}
    {'return'    }
    {'spmd'      }
    {'switch'    }
    {'try'       }
    {'while'     }
  • Note:
  • 关键字不能用来命名
  • 消除workspace中的变量clear()
>> cos='this is key'

cos =

    'this is key'

>> cos(8)

ans =

    ' '

>> clear cos
>> cos(8)

ans =

   -0.1455
  • format用法

Style

结果

示例

short

短固定十进制小数点格式,小数点后包含 4 位数。这是默认数值设置。

3.1416

long

长固定十进制小数点格式,double 值的小数点后包含 15 位数,single 值的小数点后包含 7 位数。

3.141592653589793

shortE

短科学记数法,小数点后包含 4 位数。

3.1416e+00

longE

长科学记数法,double 值的小数点后包含 15 位数,single 值的小数点后包含 7 位数。

3.141592653589793e+00

shortG

短固定十进制小数点格式或科学记数法(取更紧凑的一个),总共 5 位。

3.1416

longG

长固定十进制小数点格式或科学记数法(取更紧凑的一个),对于 double 值,总共 15 位;对于 single 值,总共 7 位。

3.14159265358979

shortEng

短工程记数法,小数点后包含 4 位数,指数为 3 的倍数。

3.1416e+000

longEng

长工程记数法,包含 15 位有效位数,指数为 3 的倍数。

3.14159265358979e+000

+

正/负格式,对正、负和零元素分别显示 +- 和空白字符。

+

bank

货币格式,小数点后包含 2 位数。

3.14

hex

二进制双精度数字的十六进制表示形式。

400921fb54442d18

rational

小整数的比率。

355/113
>> pi

ans =

    3.1416

>> format long
>> pi

ans =

   3.141592653589793

行距格式

Style

结果

示例

compact

隐藏过多的空白行以便在一个屏幕上显示更多输出。

theta = pi/2
theta =
1.5708

loose

添加空白行以使输出更易于阅读。这是行距的默认设置。

theta = pi/2

theta =

1.5708
>> 3/13+4/14+5/15

ans =

   0.849816849816850

>> format rat
>> 3/13+4/14+5/15

ans =

     232/273   
  • Row vector
  • Column vector
>> a = [1 2 3 4]

a =

       1              2              3              4       

>> b = [1;2;3;4]

b =

       1       
       2       
       3       
       4       


>> a*b

ans =

      30       

>> b*a

ans =

       1              2              3              4       
       2              4              6              8       
       3              6              9             12       
       4              8             12             16       
  • matrix
>> A = [1 2 3;4 5 6;7 8 9]

A =

       1              2              3       
       4              5              6       
       7              8              9       
  • Array Indexing

方法1:

A =

       1              2              3       
       4              5              6       
       7              8              9       

>> A(1,2)

ans =

       2       

>> A([1 3],[1 3])

ans =

       1              3       
       7              9  

方法2:

>> A(2)

ans =

       4       

>> A([1 3;1 3])

ans =

       1              7       
       1              7       
  • colon 

i为步距

 

>> A

A =

       1              2              3       
       4              5              6       
       7              8              9       

>> A(3,:)=[]

A =

       1              2              3       
       4              5              6       

>> 
  • Array Concatenation
>> A=[1 2;3 4];
>> B=[11 22;33 44];
>> F=[A B]

F =

       1              2             11             22       
       3              4             33             44       

>> F=[A;B]

F =

       1              2       
       3              4       
      11             22       
      33             44       
  • Array Manipulation
  • Operation:+  -  *  /  ^  . (点乘)  '(转置)
A =

       1              2              3       
       4              5              6       
       7              8              9       

>> B = [11,22,33;44 55 66;77 88 99]

B =

      11             22             33       
      44             55             66       
      77             88             99       

>> A*B

ans =

     330            396            462       
     726            891           1056       
    1122           1386           1650       

>> A.*B

ans =

      11             44             99       
     176            275            396       
     539            704            891       

>> A/B
警告: 矩阵接近奇异值,或者缩放错误。结果可能不准确。RCOND =  6.728624e-18。 
 

ans =

      53/704          1/32          -1/64    
      -3/176          1/8           -3/176   
       0              0              1/11    

>> A./B

ans =

       1/11           1/11           1/11    
       1/11           1/11           1/11    
       1/11           1/11           1/11    

>> a=2;
>> A.^a

ans =

       1              4              9       
      16             25             36       
      49             64             81       

>> A^a

ans =

      30             36             42       
      66             81             96       
     102            126            150      
  • Some Special Matrix
  • Note:
  • eye()是单位矩阵;
  • diag()是对角线矩阵

 

>> diag([2 3 4])

ans =

       2              0              0       
       0              3              0       
       0              0              4      
  • max()
  • min()
  • sum()
  • mean()
  • sort()
  • sortrows()
  • size()
  • length()
  • find()
>> A

A =

       1              2              3       
       4              5              6       
       7              8              9       

>> max(A)

ans =

       7              8              9       

>> max(max(A))

ans =

       9   


>> find(A==8)

ans =

       6       

>> find(A==5)

ans =

       5       

>>   

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值