MATLAB教程_04变数(变量)与档案存取_台大郭彦甫课程笔记

一、变数/变量-string

1、类型

1-1变量类型

变量类型 含义
double() 转换为双精度
single() 转换为单精度
int8() 转换为8位有符号整数
int16() 转换为16位有符号整数
int32() 转换为32位有符号整数
int64() 转换为64位有符号整数
uint8() 转换为8位无符号整数
uint16() 转换为16位无符号整数
uint32() 转换为32位无符号整数
uint64() 转换为64位无符号整数

p.s.变数形态,当作function使用

2、double 转 integer

1-2-1变量转换
1-2-2命令新变量

>> B=int8(A)
B =
  int8
   20

3、Character(Char)字元

指定一个Character到一个变数,用一个变数储存,用 单引号 来指定,把变数框在里面。

>> s1 = 'h'
whos
s1 =
    'h'
  Name      Size            Bytes  Class     Attributes

  A         1x1                 8  double              
  B         1x1                 1  int8                
  s1        1x1                 2  char                

>> s1 = 'hex'
s1 =
    'hex'
>> whos
  Name      Size            Bytes  Class     Attributes

  A         1x1                 8  double              
  B         1x1                 1  int8                
  s1        1x3                 6  char        

ASCII码表

>> s1 = 'h'
whos
uint16(s1)
s1 =
    'h'
  Name      Size            Bytes  Class     Attributes

  A         1x1                 8  double              
  B         1x1                 1  int8                
  s1        1x1                 2  char                

ans =
  uint16
   104
>> s2 = 'H'
whos
uint16(s2)
s2 =
    'H'
  Name      Size            Bytes  Class     Attributes

  A         1x1                 8  double              
  B         1x1                 1  int8                
  ans       1x1                 2  uint16              
  s1        1x1                 2  char                
  s2        1x1                 2  char                

ans =
  uint16
   72

4、String 多字元
宣告:

s1 = 'Example';
s2 = 'String';

s3 = [s1 s2];
s4 = [s1; s2]; %加分号,变矩阵

=============================
>> s1 = 'Example';
s2 = 'String';
>> s3 = [s1 s2]
s3 =
    'ExampleString'
>> s4 = [s1; s2]
错误使用 vertcat
要串联的数组的维度不一致。
%字符串长度不一样,不能放在一个矩阵中

5、逻辑运算和分配
许多数字和逻辑运算符可以应用于字符串

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

>> str = 'aardvark';
>> 'a' == str
ans =
  1×8 logical 数组
   1   1   0   0   0   1   0   0
%每个位置分别做逻辑运算

>> str(str == 'a') = 'Z'
str =
    'ZZrdvZrk'
%完成的功能是:将 a 都换为 Z
  • 练习1:
    练习:比较整个string和’aardvark’是否相等
    提示:strcmp-比较字符串
str_input = input('Please enter an  8-bit string: ','s');
str_judge = isempty(str_input);
str = 'aardvark';
if str_judge == 1
    disp('Invalid input');
else
    for i = 1:8
        result = str_input(i) ==  str(i);
        disp(result);
        i = i+1;
    end    
end

============================================
>> class04_practice1
Please enter an 8-bit string: asdfghjk
   1
   0
   0
   0
   0
   0
   0
   1
  • 练习2:编写一个脚本来反转任何给定的字符串
    s1=‘I like the letter E’
    ↓↓
    s2=‘E rettel eht ekil I’
str_input = input('Please enter a  string: ','s');
str_judge = isempty(str_input);
n = length(str_input); 
%length函数用来计算字符串的长度
if str_judge == 1
    disp('Invalid input');
else
    str = str_input;
    for i = 1:n
        str(n-i+1) = str_input(i);
        i = i+1;
    end    
end
disp(str);
==============================================
>> class04_practice2
Please enter a string: I like the letter E
E rettel eht ekil I

二、变数/变量-structure

•一种存储异构数据的方法
•结构包含称为字段的数组

1、宣告举例——学生作业成绩:

1)基本
2-1-1结构数据宣告举例

student.name = 'John Doe';
student.id = 'jdo2@sfu.ca';
student.number = 301073268;
student.grade = [100, 75, 73;
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值