初学matlab(第三天)

一、变量的类型转换

比如:将变量类型转换int8

 1.char字符

ASCLL码:

 2.string

(1)字符串连接方式一

 (2)字符串连接方式二

3. 逻辑操作与赋值

(1)字符串数组

(2)字符比较(每个位置分别做逻辑运算)

 

(3)字符串与字符串的比较
说明:tf= strcmp(s1,s2) 比较 s1 和 s2,如果二者相同,则返回 1 (true),否则返回 0 (false)。如果文本的大小和内容相同,则它们将视为相等。返回结果 tf 的数据类型为 logical。输入参数可以是字符串数组、字符向量和字符向量元胞数组的任何组合

 练习:将s1 = 'I like the letter E';转换为s2 = 'E rettel eht ekil I';

方法一:

方法二:

 

 解释:

二、结构体数组

(1)构建结构体

代码:


>> student.name = 'wang';
>> student.id = 'sak@as.com';
>> student.number = 1231515;
>> student.grade = [100,200,300]

student = 

      name: 'wang'
        id: 'sak@as.com'
    number: 1231515
     grade: [100 200 300]

>>  student.grade

ans =

   100   200   300

 (2)如何构建第二个学生的信息?
代码如下:

 (3)如何找到student(2).grade矩阵里面的 90?

 (4)结构体的功能

比如:


>> fieldnames(student)%抓出student这个结构体或者可以说抓出字段名

ans = 

    'name'
    'id'
    'number'
    'grade'

>> rmfield(student,'id')%从结构体student中删除'id'这个字符安

ans = 

1x2 struct array with fields:

    name
    number
    grade

 (5) 嵌套结构体

>> A = struct('data', [3 4 7; 8 0 1], 'nest', ...
struct('testnum','Test 1', ...
'xdata', [4 2 8],'ydata', [7 1 6])); 
A(2).data = [9 3 2; 7 6 5]; 
A(2).nest.testnum = 'Test 2'; 
A(2).nest.xdata = [3 4 2]; 
A(2).nest.ydata = [5 0 9];
A.nest

ans = 

    testnum: 'Test 1'
      xdata: [4 2 8]
      ydata: [7 1 6]


ans = 

    testnum: 'Test 2'
      xdata: [3 4 2]
      ydata: [5 0 9]

>> 
A

A = 

1x2 struct array with fields:

    data
    nest

>> A(1)

ans = 

    data: [2x3 double]
    nest: [1x1 struct]

>> 

 三、元胞数组
(1)用{ }声明元胞数组

(2)第一种方式:

第二种方式:

(3) Matlab是如何做得呢?

        1.元胞数组中每个条目都拥有一个指针去指向一个数据结构

        2.相同元胞数组中的不同单元可以指向不同的数据结构

练习:

 代码:

>> B{1,1}='This is the first cell';
B{1,2}=[5+j*6 4+j*5];
B{2,1}=[1 2 3;4 5 6;7 8 9];
B{2,2}={'Tim','Chris'};
>> B

B = 

    'This is the first cell'    [1x2 double]
                [3x3 double]    {1x2 cell  }

>> 

 (4)访问单元阵列
 


>> B{2,2}

ans = 

    'Tim'    'Chris'

>> B{2,1}

ans =

     1     2     3
     4     5     6
     7     8     9

%如何得到上面这个矩阵中的元素 1 7 3呢?

>> B{2,1}(1)

ans =

     1

>> B{2,1}(3)

ans =

     7

>> B{2,1}(1,3)

ans =

     3

>> 

(5)cell元胞数组函数

 如:num2cell

magic:

 mat2cell:

 num2cell:

 

 四、多维数组

 (1)cat

如1:

如2:

 如3:

(2)reshape

 练习:

>> A = [1:3;4:6];
>> B = reshape(A,3,2);
>> A

A =

     1     2     3
     4     5     6

>> B

B =

     1     5
     4     3
     2     6

>> 

(3)检查变量和变量的状态

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值