MATLAB基础知识

第一章:MATLAB基础知识

一.MATLAB系统环境
  • matlab主窗口

  • 命令行窗口:完成大部分命令

​ 命令提示符: >> 表示MATLAB处于准备状态

​ 续行符:… 把下面的物理行看作本行的一个逻辑继续

  • 当前文件夹 设置当前文件夹:1 在当前文件夹工具栏或当前文件夹窗口选择某文件夹为当前文件夹 2 使用cd命令 先在E盘建立一个work文件夹 然后在MATLAB命令行窗口使用cd 命令将work文件夹设置为当前文件夹(cd e:\work)

    注意:先建立文件夹,再将其设为当前文件夹

  • 工作区窗口 存储各种变量和结果 可以对变量进行编辑 保存 删除等操作

    image-20220403111449800
>> clear
>> x=sin(1)     %%求sin(1)的弧度值
x =
    0.8415
>> sin=[1,2,3,4,5]     %%给sin赋值
sin =
     1     2     3     4     5
>> x=sin(1)       %%引用sin的第一个值
x =
     1            %%要想恢复sin函数则需要删除定义的函数名
 %%定义函数名是尽量不要使用MATLAB内部的函数名

如何设置文件搜索路径 1.用path命令设置文件搜索路径(>>path,‘e:\work’)

​ 2.用对话框设置文件路径(主页——设置路径)

二.MATLAB数值数据

数据类型:

  • 整型(有/无符号)数据范围 数据类型转换
>> x=int8(129)     %%有符号8为整型
x =
  int8
   127             %%有符号8位整型最大输出127    129已超出范围
>> x=uint8(129)         %%无符号8位整型最大值为255 可以正常输出129
x =
  uint8
   129
  • 浮点型

    single单精度型

    double双精度型

    >> class(4)
    ans =
        'double'    %%数值数据默认是双精度型
    >> class(single(4))
    ans =
        'single'
    
  • 复型 实部和虚部默认是双精度型 虚数单位i j

    real函数:求复数的实部

    imag函数:求复数的虚部

    format命令的格式符 只影响输出格式,不影响数据的计算和存储

    >> format long    %%用format函数设置输出格式
    >> 50/3
    ans =
      16.666666666666668
    >> format
    >> 50/3
    ans =
       16.6667
    
  • 常用数学函数

    1.函数调用 : 函数名(函数自变量的值)

    >> A=[4,2;3,6]     %%定义矩阵A
    A =
         4     2
         3     6
    >> B=exp(A)       %%求自然指数
    B =
       54.5982    7.3891
       20.0855  403.4288
    

    2.函数的应用:三角函数有以弧度和角度为单位的函数,若以角度为单位则在函数名后加"d"以示区别

    >> sin(pi/2)
    ans =
         1
    >> sind(90)
    ans =
         1
    

3.abs函数可以求实数的绝对值,复数的模,字符串的ASCII码值

>> abs(-4)
ans =
     4
>> abs(3+4i)
ans =
     5
>> abs('a')
ans =
    97

4.用于取整的函数有fix,floor,ceil,round

round函数按照四舍五入的规则取整

ceil函数是向上取整,取大于等于这个数的第一个整数

floor函数是向下取整,取小于等于这个数的第一个整数

fix函数是固定取靠近0的那个整数,即舍去小数取整

>> round(4.7)
ans =
     5
>> floor(3.6)
ans =
     3
>> ceil(-3.8)
ans =
    -3
>> fix(-3.2)
ans =
    -3

5.分别求一个三位正整数a的个位数字,十位数字和百位数字

个位数字(b):a除以10的余数

十位数字(c):a除10取整后得到的数再除以10求余

百位数字(d):a除以100

————求余函数可以使用rem函数mod函数————

>> m=345;
>> m1=rem(m,10)   %m除以10之后求余
m1 =
     5
>> m2=rem(fix(m/10),10)  %%先用fix取整得34,再调用rem除以10后求余
m2 =
     4
>> m3=fix(m/100)    %%取整
m3 =
     3

6.求【1,100】区间的所有素数

MATLAB提供判断n是否为素数的函数:isprime(n)是素数返回1,否则为0


>> x=1:100;   %%调用1~100之间所有的数
>> k=isprime(x);   %%调用isprime函数生成k向量   k向量中的元素要么为1要么为0
>> k1=find(k);    %%从k向量中寻找为1的向量的序号
>> p=x(k1)
p =
     2     3     5     7    11    13    17    19    23    29    31    37    41    43    47    53    59    61    67    71    73    79    83    89    97

三.变量及其操作
  • 变量与赋值语句

变量本质上是内存单元的一个抽象 通过变量名可以访问内存单元

在MATLAB中,变量名是以字母开头,后接字母,数字或下划线的字符序列,最多63个字符

变量名区分大小写 标准函数名以及命令名一般用小写字母

赋值语句的格式 1.变量=表达式 2.表达式(将表达式的值赋给MATLAB的预定义变量ans)

若在赋值语句的后面加分号,那么MATLAB仅仅执行赋值操作,不会显示运算后的结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wmv3mXAi-1649903431978)(C:\Users\LENOVO\AppData\Roaming\Typora\typora-user-images\image-20220403205150645.png)]

>> x=sqrt(7)-2i;
>> y=exp(pi/2);
>> z=(5+cosd(47))/(1+abs(x-y))
z =
    1.4395
  • MATLAB的预定义变量(系统本身定义的变量)

    ans是默认赋值变量

    i和j代表虚数单位

    pi代表圆周率

    NaN代表非数(绘图时若想裁掉一部分,那么把那部分的坐标设为NaN就可以了)

  • 变量的管理

    1.内存变量的删除和修改

    2.who和whos用于显示在MATLAB空间中已经驻留的变量名清单

    >> who
    您的变量为:
    x  y  z  
    >> whos
      Name      Size            Bytes  Class     Attributes
    
      x         1x1                16  double    complex   
      y         1x1                 8  double              
      z         1x1                 8  double      
    
    
  • 内存变量文件

    用于保存MATLAB工作区变量的文件叫做内存变量文件,其扩展名为.mat也叫MAT文件

    save命令:创建内存变量文件

    load命令:装入内存变量文件

    >>save mydata a x    %%a和x是要存入的变量
    >>load mydata
    
四.MATLAB矩阵的表示
  • 矩阵的建立

    1.直接输入法建立矩阵

    >> A=[1,2,3;4,5,6;7,8,9]  %%同一行可以用空格或逗号分隔,不同行之间用分号分隔
    A =
         1     2     3
         4     5     6
         7     8     9
    

    2.利用已经建好的矩阵建立更大的矩阵

    >> A=[1,2,3;4,5,6;7,8,9];
    >> B=[-1,-2,-3;-4,-5,-6;-7,-8,-9];
    >> C=[A,B;B,A]
    C =
         1     2     3    -1    -2    -3
         4     5     6    -4    -5    -6
         7     8     9    -7    -8    -9
        -1    -2    -3     1     2     3
        -4    -5    -6     4     5     6
        -7    -8    -9     7     8     9
    
    

    3.用实部矩阵和虚部矩阵构成复数矩阵(矩阵要同型)

    >> B=[1 2 3;4 5 6];
    >> C=[6 7 8;9 10 11];
    >> A=B+i*C   %%i与矩阵C中的每一个元素相乘
    A =
       1.0000 + 6.0000i   2.0000 + 7.0000i   3.0000 + 8.0000i
       4.0000 + 9.0000i   5.0000 +10.0000i   6.0000 +11.0000i
    
    
  • 产生行向量的其他方式

    1.冒号表达式

    格式:e1:e2:e3(e1为初始值,e2为步长,e3为终止值)

    ​ 若省略步长e2,则步长为1

    >> t=0:1:5     %%等价于t=0:5
    t =
         0     1     2     3     4     5
    

    2.linspace函数

    格式:linspace(a,b,n) (a是生成向量的第一个元素,b是生成向量的最后一个元素,n是元素总数)

​ 当 n省略时自动产生100个元素

>> x=linspace(0,pi,6)
x =

         0    0.6283    1.2566    1.8850    2.5133    3.1416

  • 结构矩阵(把不同类型的数据放在同一个矩阵中)

    格式:结构矩阵元素.成员名=表达式

    >> a(1).x1=10;a(1).x2='liu';a(1).x3=[11,21;34,78];
    >> a(2).x1=12;a(2).x2='wang';a(2).x3=[34,191;27,57];
    >> a(3).x1=14;a(3).x2='cai';a(3).x3=[13,890;67,231];
    
  • 单元矩阵(用大括号括起来)

    >> b={10,'liu',[11,21;34,78];12,'wang',[34,191;27,578];14,'cai',[13,890;67,231]}
    b =
      3×3 cell 数组
    
        {[10]}    {'liu' }    {2×2 double}
        {[12]}    {'wang'}    {2×2 double}
        {[14]}    {'cai' }    {2×2 double}
    
    
五.矩阵元素的引用
  • 通过下标引用

    A(3,2)表示A矩阵第三行第二列的元素

    >> A(3,2)=200    %%设定一个元素的值,其余被默认为0
    A =
         0     0
         0     0
         0   200
    
    >> A=[1,2,3;4,5,6];     %%MATLAB可以自动扩展原来的矩阵
    >> A(4,5)=10
    A =
         1     2     3     0     0
         4     5     6     0     0
         0     0     0     0     0
         0     0     0     0    10
    
  • 通过序号引用

>> A=[1,2,3;4,5,6]
A =

     1     2     3
     4     5     6
>> A(3)     %%第一个元素是1,第二个元素是4,第三个元素是2……是按列数的
ans =
     2

矩阵元素的序号与下标可以利用sub2ind和ind2sub函数实现相互转换

sub2ind函数:将矩阵中指定元素的行列下标转换成存储的序号

​ 调用格式:D=sub2ind(S,I,J) S:行数和列数组成的向量,可以通过size函数获取

​ I:转换矩阵元素的行下标

​ J:转换矩阵元素的列下标

​ D:对应下标元素的序号

>> A=[1:3;4:6]
A =
     1     2     3
     4     5     6

>> D=sub2ind(size(A),[1,2;2,2],[1,1;3,2])       %%A(1,1)=1,其序号为1;
                                                  A(2,1)=4,其序号为2……                
D =  
     1     2
     6     4

ind2sub函数:将矩阵元素的序号转换成对应元素的下标

​ 调用格式:[I,J]=ind2sub(S,D) I,J:行列下标

​ S:行数和列数组成的向量

​ D:序号

>> [I,J]=ind2sub([3,3],[1,3,5])  %%求一个3行3列的矩阵的序号为1,3,5的下标
I =
     1     3     2

J =
     1     1     2
  • 利用冒号表达式获得子矩阵(矩阵中的一部分元素构成的矩阵)

    用冒号表达式作为引用矩阵的下标

    用单个的冒号来作为行下标或列下标(代表全部行或全部列)

    A(i,:) 第i行的全部元素

    A(:,j) 第j列的全部元素

    A(i:i+m,k:k+m) 第ii+m行且在第kk+m列中的全部元素

    A(i:i+m,:) 第i~i+m行的全部元素

    >> A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15]
    A =
         1     2     3     4     5
         6     7     8     9    10
        11    12    13    14    15
    >> A(1:2,:)
    ans =
         1     2     3     4     5
         6     7     8     9    10
    
    >> A(2:3,1:2:5)   %%引用第二行和第三行的第一列,第三列,第五列的全部元素(2表示步长)
    ans =
    
         6     8    10
        11    13    15
    
  • end运算符:表示某一维的末尾元素下标

    >>  A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20];
    >>  A(end,:)     %%引用矩阵A的最后一行元素
    ans =
        16    17    18    19    20
    >> A([1,4],3:end)     %%引用第一行和第四行的从第三列到最后一列的元素
    ans =
         3     4     5
        18    19    20
    
    
  • 如何删除矩阵中的元素

    1.利用空矩阵删除矩阵中的元素(空矩阵是指没有任何元素的矩阵)

    >> x=[]         %%x是一个空矩阵
    x =
         []
    >> A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15]
    A =
         1     2     3     4     5
         6     7     8     9    10
        11    12    13    14    15
    >>  A(:,[2,4])=[]
    A =
         1     3     5
         6     8    10
        11    13    15
    

    2.改变矩阵的形状

    reshape(A,m,n):在矩阵总元素保持不变的前提下,将矩阵A重新排列成m*n的二维矩阵(即reshape函数只改变原矩阵的行数和列数,不改变原矩阵的元素个数及其存储顺序)

    >> x=[23,45,65,34,65,34,98,45,78,65,43,76]
    x =
        23    45    65    34    65    34    98    45    78    65    43    76
    >> y=reshape(x,3,4)     %%调用reshape函数建立3行4列的矩阵
    y =
    
        23    34    98    65
        45    65    45    43
        65    34    78    76
    

    A(😃:将矩阵A的每一列元素堆叠起来,成为一个列向量

    >>  A=[-45,65,71;27,35,91]
    A =
       -45    65    71
        27    35    91
    >> B=A(:)     %%A(:)等价于reshape(A,6,1)
    B =
       -45
        27
        65
        35
        71
        91
    
六.MATLAB基本运算
  • 算术运算

    1.基本算数运算 + — * / (右除) \ (左除) ^(乘方)

    MATLAB的算术运算是在矩阵意义下进行的,单个数据的算术运算只是矩阵运算的一种特例

    1)加减运算

    若两矩阵同型,则运算时两矩阵的相应元素相加减

    若两矩阵不同型,则会给出错误信息

    一个标量也可以和矩阵进行加减运算,这时把标量和矩阵的每一个元素进行加减运算

    2)乘法运算

    矩阵A和B进行乘法运算,要求A的列数和B的行数要相等,称为A和B矩阵是可乘的,或称A和B两矩阵维数和大小相容 若维数和大小不相容,则系统会给出错误信息

    3)除法运算

    如果A矩阵是非奇异方阵,则B/A等效于B**inv(A) , A\B等效于inv(A*)*B (inv表示逆矩阵)

    对于矩阵来说,右除和左除表示两种不同的除数矩阵和被除数矩阵关系

    一般,B/A!=B\A

    >> A=[1,2,3;4,2,6;7,4,9];
    >> B=[4,3,2;7,5,1;12,7,92];
    >> C1=B/A    %%B右除以A
    C1 =
       -0.1667   -3.3333    2.5000
       -0.8333   -7.6667    5.5000
       12.8333   63.6667  -36.5000
    >> C2=A\B    %%B左除以A
    C2 =
        0.5000   -0.5000   44.5000
        1.0000    0.0000   46.0000
        0.5000    1.1667  -44.8333
    ————————————————————————————————————————————————————-
    %%对于含有标量的运算,两种除法运算的结果相同
    >> 3/4
    ans =
        0.7500
    >> 4\3
    ans =
        0.7500
        
    >> a=[10.5,25]     %%a为一个向量
    a =
       10.5000   25.0000
    >> a/5
    ans =
        2.1000    5.0000
    >> 5\a
    ans =
        2.1000    5.0000
    
    

    4)乘方运算

    A^x 要求A为方阵,X为标量

    >> A=[1,2,3;4,5,6;7,8,0];
    >> A^2       %%即A*A
    ans =
        30    36    15
        66    81    42
        39    54    69
    
    

    2.点运算

    .* ./ .\ .^

    • 两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵同型
    >> A=[1,2,3;4,5,6;7,8,9];
    >> B=[-1,0,1;1,-1,0;0,1,1];
    >> C=A.*B
    C =
        -1     0     3
         4    -5     0
         0     8     9
    >> D=A*B
    D =
         1     1     4
         1     1    10
         1     1    16
    ——————————————————————————————————————————————————————
    >> x=0.1:0.3:1;     %%求x=0.1,0.4,0.7,1时,y=sinx cosx的值
    >> y=sin(x).*cos(x)     %%必须要用点乘(X是一个向量sinx和cosx长度相同)
    y =
        0.0993    0.3587    0.4927    0.4546
    
    >> y=sin(x)*cos(x)      %%sinx和cosx相乘不相容
    错误使用  * 
    用于矩阵乘法的维度不正确。请检查并确保第一个矩阵中的列数与第二个矩阵中的行数匹配。要执行按元素相乘,请使用
    '.*'。
    
  • 关系运算(条件运算)

    < <= > >= == ~=

    当两个比较量是标量时,直接比较两数的大小,若关系成立,关系表达式结果为1,否则为0

    >> 3>4
    ans =
      logical
       0
    >> x=5
    x =
         5
    >> x==5
    ans =
      logical
       1
    

    当参与比较的量是两个同型的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,最终的关系运算结果是一个与原矩阵同型的矩阵,它的元素有0或1组成

    当参与比较的一个是标量,另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,最终的关系运算结果是一个与原矩阵同型的矩阵,它的元素有0或1组成

    >> A=[24,35,13;22,63,23;39,47,80]
    A =
        24    35    13
        22    63    23
        39    47    80
    
    >> P=rem(A,2)==0     %%矩阵A的每一个元素除以2的余数矩阵  判断是否为0,从而判断A的元                              素是否为偶数
    P =
      3×3 logical 数组      %%元素为1的就是偶数
    
       1   0   0
       1   0   0
       0   0   1
    
  • 逻辑运算(0 1)

    & | ~

    %%在算术运算,关系运算和逻辑运算中,算数运算的优先级最高,逻辑运算优先级最低,但逻辑非运算是单目运算,它的优先级比双目运算要高
    >> 3<4&6>5
    ans =
      logical
       1
    >> ~(9==1)
    ans =
      logical
       1
    >> ~9==1    %%先作~9运算的结果为0   0==1结果为0
    ans =
      logical
       0
    
    >> %%水仙花数是指各位数字的立方之和等于该数本身的三位正整数,求全部水仙花数
    >> m=100:999;
    >> m1=rem(m,10);
    >> m2=rem(fix(m/10),10);
    >> m3=fix(m/100);
    >> k=find(m==m1.*m1.*m1+m2.*m2.*m2+m3.*m3.*m3)
    
    k =
        54   271   272   308
    >> s=m(k)
    s =
       153   370   371   407
    ——————————————————————————————————————————————————————————————————
    C语言实现
    int main()
    {
    	int hun, ten, ind, n;
        printf("result is:");
        for( n=100; n<1000; n++ )    //整数的取值范围
        {
            hun = n / 100;
            ten = (n-hun*100) / 10;
            ind = n % 10;
            if(n == hun*hun*hun + ten*ten*ten + ind*ind*ind)  //各位上的立方和是否与原数n相等
                printf("%d  ", n);
        }
        printf("\n");
    	return 0;
    }
    
七.字符串处理

​ 字符型数据(字符串数据)

​ 数值型数据

  • 字符串的表示

​ 用单引号括起来

>> xm='Central South University'    %%把字符串当做一个行向量
xm =
    'Central South University'
>> xm(1:3)               %%取行向量的第一到第三个元素
ans =
    'Cen'

​ 若字符串中的字符含有单引号,则该单引号要用两个人单引号来表示

>> 'I''m a teacher.'
ans =
    'I'm a teacher.'

建立多行字符串,形成字符串矩阵

>> ch=['abcdef';'123456'];     %%建立两行六列矩阵  当字符数目不同时,可以利用空格调节
>> ch(2,3)
ans =
    '3'
>> %建立一个字符串向量,然后对该向量作如下处理:
>> %  1.取第1~5个字符组成的子字符串
>> %  2.将字符串倒过来重新排列
>> %  3.将字符串中的小写字母变成相应的大写字母,其余字符不变
>> %  4.统计字符串中小写字母的个数
>> ch='ABc123d4e56Fg9';
>> subch=ch(1:5)
subch =
    'ABc12'
>> revch=ch(end:-1:1)
revch =
    '9gF65e4d321cBA'
>> k=find(ch>'a'&ch<'z')  %%找到小写字母赋给k(注意是小写字母的序号)
k =
     3     7     9    13
>> ch(k)=ch(k)-('a'-'A')
ch =
    'ABC123D4E56FG9'
>> length(k)
ans =
     4
  • 字符串的操作

    1.字符串的执行

    ​ 格式:eval(s) s是字符串 作用是 把参数字符串中的内容作为对应的MATLAB命令来执行

    >> t=pi;     %%pi为圆周率
    >> m='[t,sin(t),cos(t)]';
    >> y=eval(m)
    y =
        3.1416    0.0000   -1.0000
    

    2.字符串与数值之间的转换(字符串是以ASCII码形式储存的)

    abs 和 double函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵

    char函数可以把ASCII码矩阵转换为字符串矩阵

    >> s1='MATLAB';
    >> a=abs(s1)
    a =
        77    65    84    76    65    66
    >> char(a+32)
    ans =
        'matlab'
    

    3.字符串的比较

    两种方法:利用关系运算符或者字符串比较函数

    关系运算符比较:两个字符串里的每个字符依次按ASCII值大小逐个进行比较,比较的结果是一个数值向量,向量中的元素要么是1,要么是0

    >> 'www0'>='W123'
    ans =
      1×4 logical 数组
       1   1   1   0
    

    字符串比较函数用于判断字符串是否相等,有4种比较方式

    1)strcmp(s1,s2):用来比较字符串s1和 s2是否相等,如果相等,返回结果为1,否则返回0

    2)srtncmp(s1,s2,n):用来比较两个字符串前n个字符是否相等,如果相等返回1,否则返回0

    3)strcmpi(s1,s2):在忽略字母大小写前提下,比较字符串s1和s2是否相等,若果相等返回1……

    4)strncmpi(s1,s2,n):在忽略字符串大小写前提下,比较两个字符串前n个字符是否相等,如果相等返回1,否则返回0

    >> strcmp('www0','W123')
    ans =
      logical
       0
       
    >> strncmpi('www0','W123',1)
    ans =
      logical
       1
    
    

    4.字符串的查找与替换

    findstr(s1,s2):返回短字符串在长字符串中的开始位置

    strrep(s1,s2,s3):将字符串s1中的所有子字符串s2替换为字符串s3

    >> p=findstr('This is a test!','is')
    p =
         3     6
    >> p=findstr('is','This is a test!')
    p =
         3     6
    >> result=strrep('This is a test!','test','class')
    result =
        'This is a class!'
    

行比较,比较的结果是一个数值向量,向量中的元素要么是1,要么是0

>> 'www0'>='W123'
ans =
  1×4 logical 数组
   1   1   1   0

字符串比较函数用于判断字符串是否相等,有4种比较方式

1)strcmp(s1,s2):用来比较字符串s1和 s2是否相等,如果相等,返回结果为1,否则返回0

2)srtncmp(s1,s2,n):用来比较两个字符串前n个字符是否相等,如果相等返回1,否则返回0

3)strcmpi(s1,s2):在忽略字母大小写前提下,比较字符串s1和s2是否相等,若果相等返回1……

4)strncmpi(s1,s2,n):在忽略字符串大小写前提下,比较两个字符串前n个字符是否相等,如果相等返回1,否则返回0

>> strcmp('www0','W123')
ans =
  logical
   0
   
>> strncmpi('www0','W123',1)
ans =
  logical
   1

4.字符串的查找与替换

findstr(s1,s2):返回短字符串在长字符串中的开始位置

strrep(s1,s2,s3):将字符串s1中的所有子字符串s2替换为字符串s3

>> p=findstr('This is a test!','is')
p =
     3     6
>> p=findstr('is','This is a test!')
p =
     3     6
>> result=strrep('This is a test!','test','class')
result =
    'This is a class!'

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IDVP6w1G-1649903431980)(C:\Users\LENOVO\AppData\Roaming\Typora\typora-user-images\image-20220403215155559.png)]

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值