您的位置:首页 > 编程语言 > MATLAB

matlab基本知识点3-单元数组与结构

2016-03-25 17:04 399 查看
cell函数生成单元数组

cell(N)生成一个nxn阶的置空的单元数组

cell(M,N)或者cell([M,N])生成一个mxn阶的置空单元数组

单元数组的操作

celldisp(C)显示单元变量C的内容

celldisp(C,'name')在窗口中显示的单元型变量的内容的名称为name,而不是通常传统的ans

>> A = cell(2,2)

A =

[]    []
[]    []

>> A{1,1}=[1,2;2,2]

A =

[2x2 double]    []
[]    []

>> A{1,2} = ['matlab 7.0']

A =

[2x2 double]    'matlab 7.0'
[]              []

>> A{2,1}=['TDW']

A =

[2x2 double]    'matlab 7.0'
'TDW'                     []

>> A{2,2}=[1+5*i,12-4j]

A =

[2x2 double]    'matlab 7.0'
'TDW'           [1x2 double]

>> ou = cellplot(A)

ou =

174.0016
175.0011
176.0011
177.0011
178.0011
179.0011
180.0011


H=cellplot(C),返回一个向量,这个向量综合体现了表面,线,句柄。同时还还会弹出单元型向量的彩色图形

获取单元数组的内容

>> A{1}

ans =

1     2
2     2

>> A{2}

ans =

TDW


单元数组的变维处理

>> A={[1,2;3,4],'LOVE';100+i,[90,85,55;67,70,102;57,18,100;-200,89,78]}

A =

[2x2 double]    'LOVE'
[1.0000e+002 +1.0000e+000i]    [4x3 double]

>> B={[1 2;2 2],'MATLAB 7.0';'TDSFDSAF',[1+5i,12-4i]}

B =

[2x2 double]    'MATLAB 7.0'
'TDSFDSAF'      [1x2 double]

>> C=[A,B]

C =

[2x2 double]    'LOVE'          [2x2 double]    'MATLAB 7.0'
[1.0000e+002 +1.0000e+000i]    [4x3 double]    'TDSFDSAF'      [1x2 double]

>> D=C(1,:)

D =

[2x2 double]    'LOVE'    [2x2 double]    'MATLAB 7.0


C=[A,B]直接将数组A,B进行合并

D=C(1,:)将数组C的第一行元素进行输出

reshape函数改变单元数组的结构

reshape(X,M,N)将单元数组X的所有元素分配到一个MxN的新单元数组,

reshape(X,M,N,P...)命令返回由单元数组X的元素组成的MxNxPx...多维单元数组

>> a = reshape(A,1,4)

a =

[2x2 double]    [1.0000e+002 +1.0000e+000i]    'LOVE'    [4x3 double]


结构型变量

两种方式,一种是直接输入:

>> student.test=[99 56 96 87 67 69 87 76 92];

>> student.name='tdw';
>> student.weight=67

student =

test: [99 56 96 87 67 69 87 76 92]
name: 'tdw'
weight: 67

>> student.height=1.68;
>> student.num=034093;
>> student.address='haha';
>> student.tel='111111111';
>> student

student =

test: [99 56 96 87 67 69 87 76 92]
name: 'tdw'
weight: 67
height: 1.6800
num: 34093
address: 'haha'
tel: '111111111'


另一种方式方式通过函数struct

>> struct_array=struct('countrys',{{'china','Janpan'}},'strengths',[10000 9000])

struct_array =

countrys: {'china'  'Janpan'}
strengths: [10000 9000]


使用函数rmfifld从结构体删除成员变量。

使用getfiled()和setfield()函数赋值。

求多项式的根

x^2-1的根

>> p = [1 -1]

p =

1    -1

>> roots(p)

ans =

1


多项式的乘积:

使用conv函数求多项式的积

使用deconv函数求多项式的除法运算

使用polyder和polyint函数来求多项式的导数与积分

若P为多项式的系数向量,polyder(P)命令对该多项式求导并返回求导后的系数向量

polyder(A,B)相当于poly(A*B)命令

polyint(P,K)命令返回多项式P的积分,以K为积分步

polyint(P)命令返回多项式P的积分,以0为积分步

关系与逻辑函数

xor (s,t)异或 相同为0,相异为1

any(x) 如果在一个向量x中,任何元素是非零,返回1;矩阵x的每一列有非零元素,返回1

all(x) 如果在一个向量x中,任何元素是非零,返回1;矩阵x的每一列所有元素非零,返回1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: