matlab中speye,Matlab相关操作

​​>> a=3

a =

3

>> a=3; //加分号就暂时不输出a

>> a

a =

3

>> disp(a) //disp函数就是display a的意思,显示出a的数值

3

>> disp(sprintf('2 decimals:%0.2f',a)) //sprintf就是可以将参数转换成字符串

2 decimals:3.00

>> a=pi;

>> a

a =

3.141592653589793

>> format long //可以调整格式

>> a

a =

3.141592653589793

>> format short

>> a

a =

3.1416

>> A=[1,2,3] //逗号分隔即为一列

A =

1 2 3

>> [1,2,3;2,3,4] //分号分隔为一行

ans =

1 2 3

2 3 4

>> v=1:0.2:2 //意思为从1开始,0.2为单位,跳到2

v =

1 至 4 列

1.0000 1.2000 1.4000 1.6000

5 至 6 列

1.8000 2.0000

>> v=1:6 //从1跳到6,默认1为单位

v =

1 2 3 4 5 6

>> ones(2,3) //生成2行3列的全为1的矩阵

ans =

1 1 1

1 1 1

>> ans=2*ones(2,3)

ans =

2 2 2

2 2 2

>> w=zeros(1,3) //1行3列全为0的矩阵

w =

0 0 0

>> w=rand(1,3) //1行3列的随机,估计是【0,1)

w =

0.8147 0.9058 0.1270

>> rand(3,3)

ans =

0.9134 0.2785 0.9649

0.6324 0.5469 0.1576

0.0975 0.9575 0.9706

>> rand(3,3)

ans =

0.9572 0.1419 0.7922

0.4854 0.4218 0.9595

0.8003 0.9157 0.6557

>> randn(1,3) //更加高级的随机函数

ans =

-1.2075 0.7172 1.6302

>> hist(ans) //生成直方图

>> eye(4) //生成单位矩阵

ans =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

>> help eye // help加函数名可以了解更多

eye - 单位矩阵

此 MATLAB 函数 返回标量 1。

I = eye

I = eye(n)

I = eye(n,m)

I = eye(sz)

I = eye(classname)

I = eye(n,classname)

I = eye(n,m,classname)

I = eye(sz,classname)

I = eye('like',p)

I = eye(n,'like',p)

I = eye(n,m,'like',p)

I = eye(sz,'like',p)

另请参阅 ones, speye, zeros

eye 的参考页

名为 eye 的其他函数

>> eye(4,2)

ans =

1 0

0 1

0 0

0 0

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

A =

1 2

3 4

5 6

>> size(A)

ans =

3 2

>> sz=size(A)

sz =

3 2

>> size(sz)

ans =

1 2

>> size(A,1) //A矩阵的行数

ans =

3

>> size(A,2) //A矩阵的列数

ans =

2

>> v=[1 2 3 4]

v =

1 2 3 4

>> length(v) //对只有一行的矩阵给出长度

ans =

4

>> length(A) //对矩阵给出行数

ans =

3

>> length([1;2;3;4;5]) //对向量给出长度

ans =

5

>> pwd //现在所在位置

ans =

'/Users/chenzeyuan/Documents/MATLAB'

>> who //查询当前的变量

您的变量为:

A ans sz v

>> whos //详细查询变量

Name Size Bytes Class Attributes

A 3x2 48 double

ans 1x34 68 char

sz 1x2 16 double

v 1x4 32 double

>> clear ans //删去ans这个变量

>> A(3,2) //A3行2列的数

ans =

6

>> A(2,:) %means every element along that row/column

ans =

3 4

>> A(:,2)

ans =

2

4

6

>> A([1 3],:) //给出第1行和第3行所有列的矩阵

ans =

1 2

5 6

>> A(:,2)=[10;11;12] //把10,11,12赋给A的第2列

A =

1 10

3 11

5 12

>> A=[A,[100;101;102]] //加上100,101,102一列

A =

1 10 100

3 11 101

5 12 102

>> A(:) //把矩阵变向量

ans =

1

3

5

10

11

12

100

101

102

>> B=[11 12;13 14;15 16]

B =

11 12

13 14

15 16

>> C=[A B] //矩阵A和矩阵B合起来

C =

1 10 100 11 12

3 11 101 13 14

5 12 102 15 16

>> B=[B,[13;14;15]]

B =

11 12 13

13 14 14

15 16 15

>> C=[A;B] //把矩阵B加在矩阵A下

C =

1 10 100

3 11 101

5 12 102

11 12 13

13 14 14

15 16 15

>> size(C)

ans =

6 3

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

A =

1 2

3 4

5 6

>> B=[11 12;13 14;15 16]

B =

11 12

13 14

15 16

>> C=[1 1;2 2]

C =

1 1

2 2

>> A*C //进行矩阵的运算

ans =

5 5

11 11

17 17

>> A .^ 2 //A矩阵所有数乘以2

ans =

1 4

9 16

25 36

>> log(A) //矩阵所有数求log

ans =

0 0.6931

1.0986 1.3863

1.6094 1.7918

>> exp(A) //矩阵所有数进行e的幂运算,次数为矩阵对应的值

ans =

2.7183 7.3891

20.0855 54.5982

148.4132 403.4288

>> abs(A) //求绝对值

ans =

1 2

3 4

5 6

>> ones(3,1) //3行1列全为1

ans =

1

1

1

>> ones(3,2)

ans =

1 1

1 1

1 1

>> A+ones(3,2)

ans =

2 3

4 5

6 7

>> A+1 //A+1==A+ones(3,2),都是对所有数加一

ans =

2 3

4 5

6 7

>> A' //转置矩阵

ans =

1 3 5

2 4 6

>> (A')'

ans =

1 2

3 4

5 6

>> a=[1 15 2 0.5]

a =

1.0000 15.0000 2.0000 0.5000

>> val=max(a) //求最大值

val =

15

>> [val,ind]=max(a) //前面为最大值,后为其下标

val =

15

ind =

2

>> max(A) //对于一个矩阵来说,就是对每列求最大值

ans =

5 6

>> a<3 //比3小的为1,大的为0

ans =

1×4 logical 数组

1 0 1 1

>> find(a<3) //找到比3小的数的下标

ans =

1 3 4

>> A=magic(3) //生成3X3的矩阵,行与列加起来都一样

A =

8 1 6

3 5 7

4 9 2

>> [r,c]=find(A>=7) //对于矩阵的find,r表示行,c表示列

r =

1

3

2

c =

1

2

3

>> a

a =

1.0000 15.0000 2.0000 0.5000

>> sum(a) //计算总和,都加起来

ans =

18.5000

>> prod(a) //全部相乘

ans =

15

>> sum(A) //对于矩阵,对每列求和

ans =

15 15 15

>> prod(A) //对于矩阵,每列求乘积

ans =

96 45 84

>> floor(a) //向下求整

ans =

1 15 2 0

>> ceil(a) //向上求整

ans =

1 15 2 1

>> rand(3) //生成随机3X3矩阵

ans =

0.8147 0.9134 0.2785

0.9058 0.6324 0.5469

0.1270 0.0975 0.9575

>> max(A)

ans =

8 9 7

>> b=rand(3)

b =

0.9649 0.9572 0.1419

0.1576 0.4854 0.4218

0.9706 0.8003 0.9157

>> c=rand(3)

c =

0.7922 0.0357 0.6787

0.9595 0.8491 0.7577

0.6557 0.9340 0.7431

>> max(b,c) //求b,c矩阵对应位置的最大值

ans =

0.9649 0.9572 0.6787

0.9595 0.8491 0.7577

0.9706 0.9340 0.9157

>> max(A,[],1) //对于列里找最大

ans =

8 9 7

>> max(A,[],2) //对于行里找最大

ans =

8

7

9

>> max(max(A))

ans =

9

>> A(:)

ans =

8

3

4

1

5

9

6

7

2

>> max(A(:))

ans =

9

>> A=magic(9)

A =

1 至 7 列

47 58 69 80 1 12 23

57 68 79 9 11 22 33

67 78 8 10 21 32 43

77 7 18 20 31 42 53

6 17 19 30 41 52 63

16 27 29 40 51 62 64

26 28 39 50 61 72 74

36 38 49 60 71 73 3

37 48 59 70 81 2 13

8 至 9 列

34 45

44 46

54 56

55 66

65 76

75 5

4 15

14 25

24 35

>> sum(A,1) //对每列求和

ans =

1 至 7 列

369 369 369 369 369 369 369

8 至 9 列

369 369

>> sum(A,2) //对每行求和

ans =

369

369

369

369

369

369

369

369

369

>> eye(9) //生成单位矩阵

ans =

1 至 7 列

1 0 0 0 0 0 0

0 1 0 0 0 0 0

0 0 1 0 0 0 0

0 0 0 1 0 0 0

0 0 0 0 1 0 0

0 0 0 0 0 1 0

0 0 0 0 0 0 1

0 0 0 0 0 0 0

0 0 0 0 0 0 0

8 至 9 列

0 0

0 0

0 0

0 0

0 0

0 0

0 0

1 0

0 1

>> A .* eye(9)

ans =

1 至 7 列

47 0 0 0 0 0 0

0 68 0 0 0 0 0

0 0 8 0 0 0 0

0 0 0 20 0 0 0

0 0 0 0 41 0 0

0 0 0 0 0 62 0

0 0 0 0 0 0 74

0 0 0 0 0 0 0

0 0 0 0 0 0 0

8 至 9 列

0 0

0 0

0 0

0 0

0 0

0 0

0 0

14 0

0 35

>> flipud(eye(9)) //换个对角线

ans =

1 至 7 列

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 1

0 0 0 0 0 1 0

0 0 0 0 1 0 0

0 0 0 1 0 0 0

0 0 1 0 0 0 0

0 1 0 0 0 0 0

1 0 0 0 0 0 0

8 至 9 列

0 1

1 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

>> pinv(A) //自反矩阵

ans =

1 至 4 列

0.0005 -0.0012 0.0017 0.0126

0.0003 0.0003 0.0128 -0.0122

-0.0011 0.0140 -0.0120 0.0003

0.0126 -0.0120 0.0003 0.0003

-0.0108 0.0003 0.0003 0.0003

0.0003 0.0005 0.0001 -0.0011

0.0003 0.0003 0.0003 0.0005

0.0003 0.0003 -0.0011 0.0017

0.0003 0.0003 0.0003 0.0003

5 至 8 列

-0.0121 0.0003 0.0003 0.0003

0.0003 -0.0011 0.0017 0.0003

0.0005 0.0001 0.0003 0.0003

-0.0011 0.0017 0.0005 0.0001

0.0003 0.0003 0.0003 0.0003

0.0017 0.0003 0.0003 0.0126

0.0001 0.0003 0.0126 -0.0134

0.0003 0.0128 -0.0122 0.0003

0.0127 -0.0120 -0.0011 0.0018

9 列

0.0003

0.0003

0.0003

0.0003

0.0114

-0.0120

0.0017

0.0003

0.0001

>> A=magic(3)

A =

8 1 6

3 5 7

4 9 2

>> pinv(A)

ans =

0.1472 -0.1444 0.0639

-0.0611 0.0222 0.1056

-0.0194 0.1889 -0.1028

>> pinv(A)*A

ans =

1.0000 0.0000 -0.0000

-0.0000 1.0000 0.0000

0.0000 -0.0000 1.0000

>> t=[0:0.01:0.98]

t =

1 至 4 列

0 0.0100 0.0200 0.0300

5 至 8 列

0.0400 0.0500 0.0600 0.0700

9 至 12 列

0.0800 0.0900 0.1000 0.1100

13 至 16 列

0.1200 0.1300 0.1400 0.1500

17 至 20 列

0.1600 0.1700 0.1800 0.1900

21 至 24 列

0.2000 0.2100 0.2200 0.2300

25 至 28 列

0.2400 0.2500 0.2600 0.2700

29 至 32 列

0.2800 0.2900 0.3000 0.3100

33 至 36 列

0.3200 0.3300 0.3400 0.3500

37 至 40 列

0.3600 0.3700 0.3800 0.3900

41 至 44 列

0.4000 0.4100 0.4200 0.4300

45 至 48 列

0.4400 0.4500 0.4600 0.4700

49 至 52 列

0.4800 0.4900 0.5000 0.5100

53 至 56 列

0.5200 0.5300 0.5400 0.5500

57 至 60 列

0.5600 0.5700 0.5800 0.5900

61 至 64 列

0.6000 0.6100 0.6200 0.6300

65 至 68 列

0.6400 0.6500 0.6600 0.6700

69 至 72 列

0.6800 0.6900 0.7000 0.7100

73 至 76 列

0.7200 0.7300 0.7400 0.7500

77 至 80 列

0.7600 0.7700 0.7800 0.7900

81 至 84 列

0.8000 0.8100 0.8200 0.8300

85 至 88 列

0.8400 0.8500 0.8600 0.8700

89 至 92 列

0.8800 0.8900 0.9000 0.9100

93 至 96 列

0.9200 0.9300 0.9400 0.9500

97 至 99 列

0.9600 0.9700 0.9800

>> y1=sin(2*pi*4*t)

y1 =

1 至 4 列

0 0.2487 0.4818 0.6845

5 至 8 列

0.8443 0.9511 0.9980 0.9823

9 至 12 列

0.9048 0.7705 0.5878 0.3681

13 至 16 列

0.1253 -0.1253 -0.3681 -0.5878

17 至 20 列

-0.7705 -0.9048 -0.9823 -0.9980

21 至 24 列

-0.9511 -0.8443 -0.6845 -0.4818

25 至 28 列

-0.2487 -0.0000 0.2487 0.4818

29 至 32 列

0.6845 0.8443 0.9511 0.9980

33 至 36 列

0.9823 0.9048 0.7705 0.5878

37 至 40 列

0.3681 0.1253 -0.1253 -0.3681

41 至 44 列

-0.5878 -0.7705 -0.9048 -0.9823

45 至 48 列

-0.9980 -0.9511 -0.8443 -0.6845

49 至 52 列

-0.4818 -0.2487 -0.0000 0.2487

53 至 56 列

0.4818 0.6845 0.8443 0.9511

57 至 60 列

0.9980 0.9823 0.9048 0.7705

61 至 64 列

0.5878 0.3681 0.1253 -0.1253

65 至 68 列

-0.3681 -0.5878 -0.7705 -0.9048

69 至 72 列

-0.9823 -0.9980 -0.9511 -0.8443

73 至 76 列

-0.6845 -0.4818 -0.2487 -0.0000

77 至 80 列

0.2487 0.4818 0.6845 0.8443

81 至 84 列

0.9511 0.9980 0.9823 0.9048

85 至 88 列

0.7705 0.5878 0.3681 0.1253

89 至 92 列

-0.1253 -0.3681 -0.5878 -0.7705

93 至 96 列

-0.9048 -0.9823 -0.9980 -0.9511

97 至 99 列

-0.8443 -0.6845 -0.4818

>> plot(t,y1) //生成一个图

>> y2=cos(2*pi*4*t)

y2 =

1 至 4 列

1.0000 0.9686 0.8763 0.7290

5 至 8 列

0.5358 0.3090 0.0628 -0.1874

9 至 12 列

-0.4258 -0.6374 -0.8090 -0.9298

13 至 16 列

-0.9921 -0.9921 -0.9298 -0.8090

17 至 20 列

-0.6374 -0.4258 -0.1874 0.0628

21 至 24 列

0.3090 0.5358 0.7290 0.8763

25 至 28 列

0.9686 1.0000 0.9686 0.8763

29 至 32 列

0.7290 0.5358 0.3090 0.0628

33 至 36 列

-0.1874 -0.4258 -0.6374 -0.8090

37 至 40 列

-0.9298 -0.9921 -0.9921 -0.9298

41 至 44 列

-0.8090 -0.6374 -0.4258 -0.1874

45 至 48 列

0.0628 0.3090 0.5358 0.7290

49 至 52 列

0.8763 0.9686 1.0000 0.9686

53 至 56 列

0.8763 0.7290 0.5358 0.3090

57 至 60 列

0.0628 -0.1874 -0.4258 -0.6374

61 至 64 列

-0.8090 -0.9298 -0.9921 -0.9921

65 至 68 列

-0.9298 -0.8090 -0.6374 -0.4258

69 至 72 列

-0.1874 0.0628 0.3090 0.5358

73 至 76 列

0.7290 0.8763 0.9686 1.0000

77 至 80 列

0.9686 0.8763 0.7290 0.5358

81 至 84 列

0.3090 0.0628 -0.1874 -0.4258

85 至 88 列

-0.6374 -0.8090 -0.9298 -0.9921

89 至 92 列

-0.9921 -0.9298 -0.8090 -0.6374

93 至 96 列

-0.4258 -0.1874 0.0628 0.3090

97 至 99 列

0.5358 0.7290 0.8763

>> plot(t,y1);

>> hold on; //让上面生成的图不消失

>> plot(t, y2,'r') //这里生成的图加到上面去

>> xlabel('time') //x轴名字

>> ylabel('value') //y轴名字

>> legend('sin','cos') //提示sin是什么颜色,cos是什么颜色

>> title('my plot') //图的标题

>> print -dpng 'myplot.png' //生成图

>> close //关闭图

>> figure(1);plot(t,y1); //给每个图命名,同时不会被下面生成的图取代

>> figure(2);plot(t,y2);

>> close

>> close

>> subplot(1,2,1) //生成1X2的图,可进入第一个

>> plot(t,y1) //在第一个图里生成

>> subplot(1,2,2) //生成上述图,可进入第二个

>> plot(t,y2) //在第二个图里生成

>> close

>> subplot(1,2,1)

plot(t,y1)

subplot(1,2,2)

plot(t,y2)

>> axis([0.5 1,-1 1]) //前两个参数控制x的范围,后两个控制y的范围

>> clf; //清除图

>> A=magic(5)

A =

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

10 12 19 21 3

11 18 25 2 9

>> imagesc(A) //有眼色标记的矩阵的图

>> imagesc(A),colorbar,colormap gray //调出colorbar同时将颜色调为灰色

>> v=zeros(10,1)

v =

0

0

0

0

0

0

0

0

0

0

>> for i=1:10,

v(i)=2^i;

end;

>> v

v =

2

4

8

16

32

64

128

256

512

1024

>> indices=1:10;

>> indices

indices =

1 至 7 列

1 2 3 4 5 6 7

8 至 10 列

8 9 10

>> for i=indices,

disp(i);

end;

1

2

3

4

5

6

7

8

9

10

>> v

v =

2

4

8

16

32

64

128

256

512

1024

>> i=1;

>> while i<=5,

v(i)=100;

i=i+1;

end;

>> v

v =

100

100

100

100

100

64

128

256

512

1024

>> v(1)=2;

>> if v(1)==1,

disp(v(1));

elseif v(1)==2,

disp('ufck pff');

else,

disp('co');

end;

ufck pff

>> hh(3) //在搜索路径里放置.m后缀的文件,里面生成函数,即可调用

ans =

9

>> A=magic(3)

A =

8 1 6

3 5 7

4 9 2

>> x=[1;2;3]

x =

1

2

3

>> A .* x

ans =

8 1 6

6 10 14

12 27 6

>> A*x

ans =

28

34

28

>> sum(A*x)

ans =

90

>> A(:,1:2)

ans =

8 1

3 5

4 9

>> A(1:3,1:2)

ans =

8 1

3 5

4 9

>> A/4

ans =

2.0000 0.2500 1.5000

0.7500 1.2500 1.7500

1.0000 2.2500 0.5000

>> A ./ 4

ans =

2.0000 0.2500 1.5000

0.7500 1.2500 1.7500

1.0000 2.2500 0.5000

>> log(A)

ans =

2.0794 0 1.7918

1.0986 1.6094 1.9459

1.3863 2.1972 0.6931

>> A .^ 2

ans =

64 1 36

9 25 49

16 81 4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值