matlab学习笔记-变数(变量)和文件读取

本文详细介绍了MATLAB中的变量形式,包括数值、字符、结构体和元胞数组,以及各种类型的转换和操作。此外,还讲解了文件读取的方法,如save、load、xlsread、xlswrite等函数的使用,以及低阶文件导入和导出的技巧。
摘要由CSDN通过智能技术生成

matlab中的几种变量形式

变数形式 含义 举例
numeric 数值变量 single,double,int,uint
logical 逻辑变量 if(a==b)
char 字符变量 ‘a’
cell 元胞数组 /
struct 结构体 /

数值变数的形式转换

看起来是变数形态,其实是函数名称。

变数形式 含义
double() Convert to double precision
single() Convert to single precision
int8() Convert to 8-bit signed integer
int16() Convert to 16-bit signed integer
in32() Convert to 32-bit signed integer
int64() Convert to 64-bit signed integer
uint8() Convert to 8-bit unsigned integer
uint16() Convert to 16-bit unsigned integer
uin32() Convert to 32-bit unsigned integer
uint64() Convert to 64-bit unsigned integer

Character&String

  • 字符是使用0-255的数字编码结合ASCII来表示的。
  • 单个字符或字符串,创建时要放到单引号对中。
>> s1='h';
>> whos
  Name      Size            Bytes  Class    Attributes

  s1        1x1                 2  char              
>> uint16(s1)

ans =

    104 
  • 字符串就是一系列字符的组合,字符串之间可以组合。
>> s1='Example';
>> s2='String';
>> s3=[s1 s2];
>> s4=[s1;s1];
>> s3

s3 =

ExampleString

>> s4

s4 =

Example
Example

串联矩阵的维度必须保持一致。
str(数值)代表字符串中的第几个字符。
注意:区别于C,这里是从1开始数的。

>> str='aardvark';
>> str(3)

ans =

r
  • 字符串中的第几个字符是a,最终输出结果为一个数列,1代表是,0代表不是。
>> str='aardvark';
>> 'a'==str

ans =

     1     1     0     0     0     1     0     0
  • 把字符串中所有的a变成Z。
>> str='aardvark';
>> str(str=='a')='Z'

str =

ZZrdvZrk

strcmp库函数:比较两个字符串是否相同。

>> str='aardvark';
>> strcmp(str,'aardvark')

ans =

     1
  • Exercise

把字符串完全倒过来。

  1. 根据字符的位置,进行替换。
 >> s1='I like the letter E';
>> s2=s1(length(s1):-1:1)

s2 =

E rettel eht ekil I

length(s1)可以替换为end

  1. 直接使用fliplr函数:使矩阵X沿垂直轴左右翻转。
>> s1='I like the letter E';
>> s2=fliplr(s1)

s2 =

E rettel eht ekil 

Structure结构体

结构体用来储存异构数据,包含数组和字段。

>> student.name='John Doe';
>> student.id='jdo2@sfu.ca';
>> student.number=301073268;
>> student.grade=[100,75,73;95,91,85.5;100,98,72];
>> student

student = 

      name: 'John Doe'
        id: 'jdo2@sfu.ca'
    number: 301073268
     grade: [3x3 double]

>> student.grade

ans =

  100.0000   75.0000   73.0000
   95.0000   91.0000   85.5000
  100.0000   98.0000   72.0000

在结构名后添加标号来继续扩充数据。

>> student(2).name='Ann Lane';
>> student(2).id='aln4@sfu.ca';
>> student(2).number=301078853;
>> student(2).grade=[95,100,90;95 82 97;100,85 100];
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值