个性化阅读
专注于IT技术分析

MATLAB变量

目的:研究数据类型, 常量和变量, 字符, 运算符, 赋值语句。要考虑对向量和矩阵进行操作的向量和矩阵命令, 需要对矩阵进行操作。

变量:MATLAB变量是内存区域, 其中包含用户指定名称已知的区域。

有两种类型:

double:-64位(10 ^ -308至10 ^ 308, 具有15至16个有效十进制数字)。

e.g:
var=10.5  //Real value
var=10i , var=-4j //Imaginary value 
var=10+10i

字符:-16位(-32768-32767)

e.g:
var='This is a character string';

变量的初始化:

  • 赋值语句:最简单, 用于小型数组。
    每=表达;
    其中var是名称, 而expression是缩放器常数, 数组或约束, 其他变量和数学运算的组合。
    每行中的元素数必须相同。同样, 每列中的元素数必须相同。
>> var= [3.4]        //creates a 1x1 array with value 3.4
                         var = 3.4000

            >> var= [1.0 2.0 3.0]  // creates a 1x3 array with value [1 2 3] 
                         var=1 2 3

              >> var= [1.0;2.0;3.0]  // creates a 3x1 array 
                           var =    1
                                        2
                                        3
                >> var= [1, 2, 3;4, 5, 6]  //creates a 2x3 array
                             var =   1     2     3
                                        4     5     6
                >> var= [1, 2, 3
                               4, 5, 6]    //creates a 2x3 array
                              var =  1     2     3 
                                         4     5     6
                  >> var= []     //creates an empty array 
                               var = []
                  >> var1= [0 1+7]
                                 var1 = 0     8
                  >> var2=[var1(2) 7 var1]
                              var2 =  8     7     0     8
                  >> var3(2, 3) =5
                              var3 = 0     0     0
                                         0     0     5
                  >> var3(3, 3) =6
                                   var3 =0     0     0
                         0      0     5
                                             0     0     6
  • 快捷方式表达式:
>> x= [1:2:10]
        x =    1     3     5     7     9

快捷方式可以与转置运算符(‘)结合使用以初始化列向量。

>> f= [1:4]'
                        f =1
                            2
                            3
                            4
               >> g=[1:4]
                         g =1     2     3     4
             >> h=[g', g']
                        h =1     1
                             2     2
                             3     3
                         4     4
  • 内置功能:
    零:
>> a=zeros (2)
                            a =0     0
                                 0     0
                >> b=zeros (2, 3)
                           b = 0     0     0
                                 0     0     0

               >> c= [1, 2;3, 4]
                        c =1     2
                             3     4
 
              >> d=zeros(size(c))

                        d =     0     0
                                  0     0

一个:0替换为1

>> f=ones (4)
                        f =     1     1     1     1
                                 1     1     1     1
                                 1     1     1     1
                                 1     1     1     1

眼图:生成包含恒等矩阵的数组, 其中所有对角元素为1, 而所有非对角元素为0。

>> e=eye(4)
                           e =     1     0     0     0
                                     0     1     0     0
                                     0     0     1     0
                                     0     0     0     1

键盘输入:input funcn

  • var = input(“输入输入值”)
  • 输入输入值
  • var = input(‘输入数据’, ‘s’)
  • 输入数据3
    var = 3

多维数组

  • c(:, :, 1)= [1 2 3; 4 5 6]
  • c = 1 2 3
    4 5 6
  • c(:, :, 2)= 7 8 9
    10 11 12

存储内存中的多维数组

•	Eg: a= [1 2 3;4 5 6;7 8 9;10 11 12]
a =
               1     2     3
               4     5     6
7	 8     9
  10    11    12

子阵列

•	arr= [1 2 3;-2 -3 -4;3 4 5]
            arr =  1     2     3
                     -2    -3    -4
                       3     4     5
	arr1(1, :)=[1 2 3]
•	arr1 =     1     2     3

结束功能:

•	arr=[1 2 3 4 5 6 7 8];
•	>> arr(5:end)
          ans =  5     6     7     8
•	>> arr(1:2, [1, 4])=[20 21 ;22 23]
          arr =
20	   2     3    21     5     6     7     8
    22     0     0    23     0     0     0     0

•	>> arr=[1 2 3 4 ;5 6 7 8;9 10 11 12];
•	>> arr(1:2, 1:2)=1
          arr =
     1     1     3     4
     1     1     7     8
     9    10    11    12

预定义的特定值:

  • pi:最多包含15个有效数字
  • inf:无穷大
  • nan:不是数字
  • 时钟:当前日期和时间, 形式为6元素向量, 包含
    年, 月, 日和秒
  • 日期:字符串格式的当前日期, 例如:2019年1月24日
  • eps:Esiton, 即最小差异黑白两无
  • ans:用于存储表达式的结果

显示输出数据:

Disp fn:它接受一个参数数组并在命令中显示该数组的值

window
     str=['the value of pi='num2str(pi)];
     disp(str);

带fprintf函数的格式化输出函数:

  • 显示一个或多个值以及相关文本, 并允许程序员控制显示值的显示方式
  • 语法:fprintf(格式, 数据);
  • 例如:fprintf(‘pi的值=%f \ n’, pi);
    fprintf(‘pi的值=%d \ n’, pi);
    fprintf(‘pi的值=%e \ n’, pi);

标量运算:

•	E.g.: =2^ ((8+2)/5)
         =26(10/5)
         =2^2
         =4

阵列运算:

z=1             
    >> z
         z =1     2
              3     4

>> y=-1
         y = -1

     >> y
          y =-1     3
               -2      0

                  >> y+z
ans =
     0     5
     1     4

基于线性代数的矩阵运算:

Operations Matlab Form Comments
Array
Addition
a + b 数组和矩阵加法相同
数组减法 a-b 数组与矩阵相减相同
Array Multiplication a.*b 数组乘以元素a和b的元素相乘
矩阵乘法 a*b 对于矩阵乘法, 矩阵a的列数=矩阵b的列数
阵列右划分 a./b a和b的逐元素除法
阵列左分割 a.\b 在Nr中按a和b进行元素除法。
矩阵右分区 a/b a * inv(b)其中inv表示逆
矩阵左除法 a\b inv(a)*b
Array Exponential a。^ b a和b的逐元素指数, 即a(i, j)^ b(i, j)

赞(0)
未经允许不得转载:srcmini » MATLAB变量

评论 抢沙发

评论前必须登录!