2020-11-09

MATLAB变数(变量)笔记

char类型

在MATLAB中,可以使用char函数创建一个字符矩阵,如:
mych=char(‘a’,‘abc’,‘12345’,‘cd’);
该命令会创建一个二维的字符矩阵,矩阵行数为4行(即输入的参数个数),矩阵列数为5列(输入各参数字符串长度的最大值)。输入size(mych),其返回值为
ans =
4 5
这说明mych为一个4*5的矩阵。
对于mych中的元素,其字符串长度小于5的,自动在右边补齐空格,直到其长度为5。
如对于mych中的第一行元素,输入命令length(mych(1,:))
返回值为5,该行元素为:“a ”,注意,这里a后面包含了4个空格。
如果想把元素中的空格去掉,可以使用strtrim()函数,如:
strtrim(mych(1,:)),返回值为:“a”,此时将不再包含空格。

string类型

表示的是多个字元,是由char类型多个单字符组合而成,例如:

S1='Example';
S2='String';

String concatenation:
S3=[S1 S2] =>ExamoleString
S4=[S1;S2] =>error(发生错误,因为两个字节不想等,不能拼接)

  • Many numerical and logical operators can be applied to strings
str='aardvark';
'a'==str
ans=
    1 1 0 0 0 1 0 0

then:

str(str=='a')='Z'

结果先是str(11000100)=‘Z’
最后显示结果为ZZrdvZrk

structure类型

结构体通过字段(fields)来对元素进行索引,在访问时只需通过点号来访问数据变量,结构体可以通过两种方法进行创建,即通过直接赋值方式创建或通过struct函数来创建。

/*创建*/
%直接赋值方法创建结构体
circle.radius=3.0;
circle.center[0 0];
circle.color='red';
circle.linestyle='--'
circle=            
       radius:3            
       center:[0 0];            
       color:'red'            
       linestyle:'--'
%用struct函数创建
data1={3.0,5.0,'sqrt(7)'};
data2={[0 0][1 1][3 5]};
data3={'--''...''-.-'};
data4={'red''blue''yellow'};
data5={'yes''no''no'};
circle=struct('radius',data1,'center',data2,'linestyle',data3,'color',data4,'filled',data5)
circle=
      1x3 struct array with fields:               
      radius            
      center           
      linestyle           
      color            
      filled

functions
nesting

cell array

单元数组中的每一个元素称为单元(cell),单元中可以包含任何类型的Matlab数据,即可以是数组,字符,符号对象,单元数组或结构体等。理论上,单元数组可以创建任意数的单元数组,大多数情况下,为简单起见,创建简单的单元数组(如一维单元数组)。单元数组的创建方法可以分为两种,通过赋值语句直接创建;或通过cell函数首先为单元数组分配内存空间,然后再对每个单元赋值。

A(1,1)={[1 4 3;0 5 8;7 2 9]};
A(1,2)={'Anne Smith'};
A(2,1)={3+7i};
A(2,2)={-pi:pi:pi};
A
A=
   [3×3 double]        'Anne Smith'
   [3.0000+7.0000i]    [1×3 double]

找寻cell中的一个组元
A(1,1)=[3×3 double]
A{1,1}=[1 4 3;0 5 8;7 2 9]
找寻组元的内容
A{1,1}(1,1)=1

cat()函数

array concatenation
A=[1 2;3 4];B=[5 6;7 8];
C=cat(1,A,B)
C=cat(2,A,B)
C=cat(3,A,B)
其中的1,2, 3分别表示的是行,列,层

reshape()函数

A=[1:3;4:6]
C=reshape(A,3,2)
C=
[1 5;4 3;2 6]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Moring_w

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值