• b.Matlab(字符串)


    A、概念

    1、一个字符串被视为一个行向量

    2、字符串每一个字符包括空格,以ASCII码的形式存放与行向量中,字符是该字符串变量的一个元素

    3、命名字符串变量

    使用单引号来界定一个字符串

    使用方括号连接多个字符串,成为一个新字符串变量

    a='ssss'
    b='aaaa'
    c=[a b]
    

      

    4、输入的字符串有单引号,则由两个连续的单引号表示

    a='ss''ss'
    

      

    5、计算字符串变量的长度(组成字符串的个数)

    length指令

    6、字符串和ASCII的相互转换

    a、double指令,将字符串内容转换为ASCII

    b、char指令,将ASCII码转换为字符串形式

    a='a a a b''a'
    a_ASCII=double(a)
    b=char(a_ASCII)

      

    B.判断一个变量是否是字符串变量

    1、class函数,结果直接显示变量类型

    chinese='加油'
    out=class(chinese)
    

      

    2、ischar函数,结果显示0或者1,0表示不是字符串,1表示是字符串

    chinese='加油'
    x=class+1 %字符串加1表示,每一个元素的ASCII都加1
    out=ischar(x)
    

    C.一个字符串数组变量存储多行字符串

    1、使用二维字符数组

    每个字符串的长度一样,否则短字符串结尾需要人为补齐空格

    2、char命令

    这个命令会自动补齐空格

    a=char('aa','bb','ccc')
    

      

    从二维字符串数组访问其中元素的时候,需要使用deblank指令清除字符串尾部的空格字符

    a=char('aa','bb','ccc')
    a1=a(1,;) %第一行的全部元素
    a2=deblank(a1)%清除元素尾部的空格字符
    len1=length(a1)
    len2=length(a2)
    

      

    D.字符串比较命令

    strcmp 指令: 用于比较字符串的內容的异同
    str1 = 'today'; 
    str2 = 'tomorrow'; 
    str3 = 'today'; 
    out1 = strcmp(str1, str2) % 比较字符串 str1 和str2 
    % out1 = 0 %表示字符串 str1 和 str2不同
    out2 = strcmp(str1, str3) % 比较字符串 str1 和str3 
    % out2 = 1 %表示字符串 str1 和 str2相同
    

      

    E.字符串的元素标识(寻址)

    1、一维串数组中,MATLAB按自左至右的次序用自然数数码(1,2,3…)标识字符串的位置

    a='this is an example'
    size(a)
    a1=a(1:4)%前四个字符,this
    a2=a(end:-1:1)%字符串倒排 elpmaxe na si siht

     

    2、将字符串中字母全都改成大写

    a='AsDfGhJKlL'
    w=find(a>='a'&a<='z')%找出所有小写字母的位置
    ascii_a=double(a)%产生ascii码
    ascii_a(w)=ascii_a(w)-32%大小写字母的ascii差32
    char(ascii_a)
    

      

     F.练习

    fc=1;
    fs=100;
    t=0:1/fs:1;
    s=2*sin(2*pi*fc*t);
    mtext1=char('周期=1s','幅值=2','频率=1HZ');
    mtext2='leftarrow sin(2pi fct)';
    figure
    plot(t,s)
    text(0.2,1,mtext1)%(横坐标,纵坐标,插入的值)
    text(0.5,0,mtext2)

     

     在图中的接近峰值处添加信息,如果在峰值处添加会挡住图像

    clear,clc
    a=2;
    w=3;
    fs=100;
    t=0:1/fs:10;
    y=sin(w.*t).*exp(-a*t);
    [y_max,i_max]=max(y);%y看成是一个数组,取最大值给y_max,最大值的位置给i_max
    t_text=['t=',num2str(t(i_max))];
    y_text=['t=',num2str(y_max)];
    m_text=char('maximum',t_text,y_text);
    figure,plot(t,y),text(t(i_max)+0.3,y_max+0.05,m_text);
    

      

  • 相关阅读:
    bzoj1036 [ZJOI2008]树的统计Count(树链剖分)
    poj2348 Euclid's Game
    bzoj3575 [Hnoi2014]道路堵塞
    poj2484 A Funny Game
    bzoj2286 [Sdoi2011]消耗战
    虚树学习笔记
    bzoj4518 [Sdoi2016]征途
    node.js开发环境配置
    js中阻止事件冒泡和浏览器默认行为
    css3 background-clip和background-origin 区别
  • 原文地址:https://www.cnblogs.com/zhaojiayu/p/13810223.html
Copyright © 2020-2023  润新知