MATLAB变量

目的:研究数据类型, 常量和变量, 字符, 运算符, 赋值语句。要考虑对向量和矩阵进行操作的向量和矩阵命令, 需要对矩阵进行操作。
变量:MATLAB变量是内存区域, 其中包含用户指定名称已知的区域。
有两种类型:
double:-64位(10 ^ -308至10 ^ 308, 具有15至16个有效十进制数字)。

e.g:var=10.5//Real valuevar=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.4var = 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 =123> > var= [1, 2, 3; 4, 5, 6]//creates a 2x3 arrayvar =123456> > var= [1, 2, 34, 5, 6]//creates a 2x3 arrayvar =123 456> > var= []//creates an empty array var = []> > var1= [0 1+7]var1 = 08> > var2=[var1(2) 7 var1]var2 =8708> > var3(2, 3) =5var3 = 000005> > var3(3, 3) =6var3 =000005006

  • 快捷方式表达式:
> > x= [1:2:10]x =13579

快捷方式可以与转置运算符(‘ )结合使用以初始化列向量。
> > f= [1:4]'f =1234> > g=[1:4]g =1234> > h=[g', g']h =11223344

  • 内置功能:
    零:
> > a=zeros (2)a =0000> > b=zeros (2, 3)b = 000000> > c= [1, 2; 3, 4]c =1234 > > d=zeros(size(c))d =0000

一个:0替换为1
> > f=ones (4)f =1111111111111111

眼图:生成包含恒等矩阵的数组, 其中所有对角元素为1, 而所有非对角元素为0。
> > e=eye(4)e =1000010000100001

键盘输入: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
【MATLAB变量】存储内存中的多维数组
? Eg: a= [1 2 3; 4 5 6; 7 8 9; 10 11 12]a =123456789101112

子阵列
? arr= [1 2 3; -2 -3 -4; 3 4 5]arr =123-2-3-4345 arr1(1, :)=[1 2 3]? arr1 =123

结束功能:
? arr=[1 2 3 4 5 6 7 8]; ? > > arr(5:end)ans =5678? > > arr(1:2, [1, 4])=[20 21 ; 22 23]arr =20232156782200230000? > > arr=[1 2 3 4 ; 5 6 7 8; 9 10 11 12]; ? > > arr(1:2, 1:2)=1arr =113411789101112

预定义的特定值:
  • pi:最多包含15个有效数字
  • inf:无穷大
  • nan:不是数字
  • 时钟:当前日期和时间, 形式为6元素向量, 包含
    年, 月, 日和秒
  • 日期:字符串格式的当前日期, 例如:2019年1月24日
  • eps:Esiton, 即最小差异黑白两无
  • ans:用于存储表达式的结果
显示输出数据:
Disp fn:它接受一个参数数组并在命令中显示该数组的值
windowstr=['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> > zz =1234> > y=-1y = -1> > yy =-13-20> > y+zans =0514

基于线性代数的矩阵运算:
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)

    推荐阅读