300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > matlab怎么输入二维数组 [转载]matlab中数组的输入

matlab怎么输入二维数组 [转载]matlab中数组的输入

时间:2019-07-04 10:38:56

相关推荐

matlab怎么输入二维数组 [转载]matlab中数组的输入

1 matlab中数组的输入

在matlab中写数组,直接输入元素的数组,应用中括号[],成行向量时,元素之间用空格或逗号隔开,成列向量时,分列处用分号隔开,也可以对相应行向量作转置,为在中括号外加单引号。可写入空向量,一维或多维向量。

例:

〉〉A=[]%回车

A =

[]

〉〉B=[1 2 3 4 5]

B=

12345

〉〉C=[1;2;3;4;5]

C=

1

2

3

4

5

〉〉D=[1 2 3 4 5]’

D=

1

2

3

4

5

在此引入三个简化输入数组的命令Var=(start_var,step,stop_var),该命令用于输入一维等差数列,start_var是数列起始数,step是间隔数,stop_var是预定终止数,当不输入step时,step默认为1。

例:

〉〉E=(1,4)

E=

1234

〉〉F=(1,2,4)

F=

13

Var=linspace(start_var,stop_var,n)该命令用于输入一维等差数列,start_var是数列起始数,stop_var是数列终止数,n是数组元素个数,当不输入n时,n默认为100。

例:

〉〉A=linspace(1,10,5)

A =

1.00003.25005.50007.750010.0000

Var=logspace(start_var,stop_var,n)该命令用于输入一维以十为底的指数函数形成的等比数列,10^start_var是数列起始数,10^stop_var是数列终止数,n是数列个数,当不输入n时,n默认为50。

〉〉B=logspace(1,3,3)

B =

101001000

在写多维数组时,可直接输入数组元素运用分号,逗号,空格来组合,也可以用一维数组的命令来组合写成多维数组。

例:

>> A=[1 2 3;4 5 6;7 8 9]

A =

123

456

789

>> B=[1:5;linspace(3,10,5);1 23 4 5

6]

B =

1.00002.00003.00004.00005.0000

3.00004.75006.50008.250010.0000

1.000023.00004.00005.00006.0000

>> C=[[1:3]' [linspace(2,3,3)]' [3 5

7]']

C =

1.00002.00003.0000

2.00002.50005.0000

3.00003.00007.0000

多项式

在matlab中多项式由行向量表示,其向量元素是多项式系数,由高阶到低阶。

例:

P(x)=x^3-4*x^2+5*x-2

在matlab中表示为:P=[1 -4 5

-2],当其中某一阶为零时,用0补齐。

解多项式的根,用roots命令。

例:解s(x)=x^3-6*x^2-72*x-27的根。

>> p=[1 -6 -72 -27];

>> r=roots(p)

r =

12.1229

-5.7345

-0.3884

在此,引入另一个命令poly,气相当于roots的逆命令。即通过根求解多项式的系数。

>> p=[1 -6 -72 -27];

>> r=roots(p)

r =

12.1229

-5.7345

-0.3884

>> ss=poly(r)

ss =

1.0000-6.0000-72.0000-27.0000

当输入多维数组时,通过poly返回的是其的特征多项式。

例:

>> A=rand(4)

A =

0.95010.89130.82140.9218

0.23110.76210.44470.7382

0.60680.45650.61540.1763

0.48600.01850.79190.4057

>> B=poly(A)

B =

1.0000-2.73341.2135-0.65430.1155

>> C=roots(B)

C =

2.32300.0914 + 0.4586i

0.0914 - 0.4586i

0.2275

>>

e=eig(A)%eig式求解行列式特征值的命令

e =

2.32300.0914 + 0.4586i

0.0914 - 0.4586i

0.2275对于多项式的运算,可用polyval求解定点的值。

例:

B =

1.0000-2.73341.2135-0.65430.1155

>> a=polyval(B ,2.5)

a =

2.4178

与polyval相似的另一函数是polyvalm,其可以接受二维数组形式的输入参数,对二维数组进行运算,但要求输入数组是行列相等的方阵。

例:

B =

1.0000-2.73341.2135-0.65430.1155

>> d=[1 2;3 4]

d =

12

34

>> c=polyvalm(B,d)

c =

105.8212153.2246

229.8370335.6581

对于多项式的乘法,可以运用*与.*进行运算以外,matlab还提供了专门的函数conv。而多项式的除法,作为乘法的逆运算,有命令deconv。其完整语法是[q,r]=deconv(v,u),q是商多项式,r是余式多项式,有v=conv(q,u)+r,当值有一个变量接受deconv的返回值时,返回q。

例:

>> v=[3 5 2 1 4];

>> u=[2 5 3];

>> [q,r]=deconv(v,u)

q =

1.5000-1.25001.8750

r =

000-4.6250-1.6250

>> result=deconv(v,u)

result =

1.5000-1.25001.8750

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。