matlab初学第二课•Layton大讲堂之 matlab基本操作和概念

时间:2024-02-20 13:27:21

变量:

  变量是什么呢?变量是一个带有值的符号,这个值可以是数字可以是字符串,相信我们小学学解方程的时候老师会让俺们写格式“设小红家的苹果数为x”,那么matlab和这个差不多,变量可以是已知的也可以是未知的,我们可以说设每天小红吃8个包子,设小红每天吃的包子数为x,也就是x=8了,通常在matlab的变量是没有实际意义的,x仅仅只是个名字,代表有个变量叫x,它现在的值是8。注意现在这个状语,变量之所以叫变量,因为它可以变。变量也分用户变量和系统变量,系统变量就是创始人起好的名字,你不能起那个名,用户变量就是你随便起的名。ans是系统定义的变量,如果运算结构没有赋给变量,则会自动赋给ans。

数据精度:

  什么是数据精度呢,例如pi是无限循环小数,3.1415926。。。,可我们输出pi,程序只会显示小数点后四位,但matlab的计算精度可以达到小数点后16位(surpise mother fuck),我们想显示精度高一点,就输入format long,这样精度就会变高15位。short短一点是4位,format rational是以分数形式显示。

逗号和分号:

  首先来看matlab的一些语法规则,matlab是一种解释性语言,所谓解释性语言就是你编写一条命令它就运行一条命令,例如我们来求一个圆的面积,我们知道S=πr2园面积取决于半径的长度。

  我们输入r=2,s=pi*r^2按一下回车,那么它就会输出圆的面积了

    作为初学者我们细细品尝这条语句,这条语句分为两部分用逗号隔开,左边是r=2,右边是s=pi*r^2,左边的意思h是定义了一个变量叫r,它现在的值是2,右边是圆面积的公式,本质上就是关于未知数r的方程,注意:键盘上没有π这个健,matlab用pi代替,在matlab里乘号不能省略,乘号为*,平方用^代替。

  逗号的作用是让这两条语句一起执行,分号的作用是将分号之前的代码运行但不显示结果,如果将逗号改成分号r=2,s=pi*r^2->r=2;s=pi*r^2,那么只会输出s,如果再加一个分号在后面那么连s也不会显示了。

省略号:

  如果一行的代码太多,不美观的话,就可以在任意位置加省略号,省略号代表这一句代码没玩,例如1+2+3一直加到一百,贼tm长,我们就可以写成1+2+3+...然后换行在下一行继续写,值得注意的是省略号之前一定要带上运算符,不然程序会误认为是数字的小数点。、

运算符:

  什么是运算符呢?简单来说就是代表数据处理方式的符号,例如加减乘除,还有一些别的运算在matlab也有规定的运算符,可以在第一篇博客的网站里找到:
              

数组:

  什么是数组呢?可以说就是一组数字的集合,这与矩阵的定义不谋而合。

  规范:数组名=[若干数字;若干数字;。。。];

  例如;nihaomei=[1,2,3;4 5 6;7 8 9];分号用来分行,代表1 2 3 为第一行,4 5 6 为第二行。

  

linspace:

  xswl=linspace(x,y,n)生成一个x到y等距数字元素,列数位n,即将【x,y】分成n-1份,啥意思呢?

  术语来讲就是生成 n 个点。这些点的间距为 (y-x)/(n-1)。

  例如我们输入xswl=linspace(1,10,4) 

   

 

   好一点理解的话就理解成从x开始,下一列的元素值为本列加(y-x)/(n-1),不用试图用人脑来理解程序是怎么运行的,只需知道linspace可以这样就行。

字符和字符串

  字符就是单个英文或符号,字符串是若干个字符的集合,我们打代码和书写上习惯用单引号框住字符‘’,双引号“”框住字符串,例如‘a’是一个字符而“i love you”是一个字符串。值得了解的是字符和字符串在计算机中是以数字存储的,和对应字符一 一对应,具体哪个和哪个对应则由国际公认的ask码代替。符号在计算机内由左端数字代替,了解就好,如下图:

前面说过变量是一个带有值的符号,这个值可以是字符或字符串,赋一个字符串给变量x

  

 

 元胞

  啥是元胞呢?元胞也叫广义数组或广义矩阵,本质上就是一个特殊数组,里面的元素类型可以是不同的,我们之前讲到数组是数字的一个集合,那么元胞就是元素的一个集合,元素可以是任意类型。

  格式和数组定义的格式一样

  

   可以看到这个元胞的名字是A,第一行第一个元素是字符串类型,其余三个为整数类型。

celldisp

   格式为celldisp(元胞名); 

   可以通过celldisp(A)查看元胞内的元素值

  

   元胞是可以嵌套的,也就是说元胞里的的元素类型可以是元胞(禁止套娃)

   

   可以看到A的第二行第一列元素是一个1*2的元胞,无法直接看到里面的直接内容,我们可以通过celldisp查看元胞内的元胞。

   

  PS:A(2,1)代表元胞A第二行第一列的元素