matlab revch,matlab学习1

1.复数

6+5i

ans =

6.0000 + 5.0000i

>> 6+5j

ans =

6.0000 + 5.0000i

2.Format

数值数据输出格式

>> format long

>> 50/3

ans =

16.666666666666668

>> format(默认short)

>> 50/3

ans =

16.6667

只影响输出格式,不影响计算和存储

3.常用数学函数

调用:函数名(函数自变量的值)

>> A=[4,2;3,6]

A =

4     2

3     6

>> B=exp(A)(自然指数)

B =

54.5982    7.3891

20.0855  403.4288

三角函数:

>> sin(pi/2)(弧度)

ans =

1

>> sind(90)(角度加d)

ans =

1

abs函数:

实数的绝对值,复数的模,字符串的ASCII码值

>> abs(-4)

ans =

4

>> abs(3+4i)

ans =

5

>> abs(‘a‘)

ans =

97

取整:

fix(舍去小数),floor(向下取整),ceil(向上取整),round(四舍五入)

>> round(4.7)

ans =

5

>> floor(3.6)

ans =

3

>> fix(-3.2)

ans =

-3

>> ceil(-3.8)

ans =

-3

求余:

rem,mod

应用举例:

求三位正整数的个位数字,十位数字,百位数字

>> m=345

m =

345

>> m1=rem(m,10)

m1 =

5

>> m2=rem(fix(345/10),10)

m2 =

4

>> m3=fix(345/100)

m3 =

3

求[1,100]区间的所有素数

isprime(n):判断n是否为素数的matlab的函数

>> x=1:100;

>> k=isprime(x)

k =

1×100 logical 数组

列 1 至 31

0   1   1   0   1   0   1   0   0   0   1   0   1   0   0   0   1   0   1   0   0   0   1   0   0   0   0   0   1   0   1

列 32 至 62

0   0   0   0   0   1   0   0   0   1   0   1   0   0   0   1   0   0   0   0   0   1   0   0   0   0   0   1   0   1   0

列 63 至 93

0   0   0   0   1   0   0   0   1   0   1   0   0   0   0   0   1   0   0   0   1   0   0   0   0   0   1   0   0   0   0

列 94 至 100

0   0   0   1   0   0   0

>> k1=find(k)(k1为k向量中非0元素的序号)

k1 =

列 1 至 20

2     3     5     7    11    13    17    19    23    29    31    37    41    43    47    53    59    61    67    71

列 21 至 25

73    79    83    89    97

>> p=x(k1)

p =

列 1 至 20

2     3     5     7    11    13    17    19    23    29    31    37    41    43    47    53    59    61    67    71

列 21 至 25

73    79    83    89    97

4.变量与赋值语句

变量:

内存单元的一个抽象

有名字,通过变量名访问内存单元

字母开头,后接字母,数字,下划线

区分字母大小写

赋值:

变量=表达式

表达式,(值赋给预定义变量ans

;仅赋值,不显示结果

>> x=sqrt(7)-2i;(平方根)

>> y=exp(pi/2);(自然指数函数)

>> z=(5+cosd(47))/(1+abs(x-y))

z =

1.4395

ans计算结果的默认赋值变量

pi圆周率

NaN非数

I和j虚数单位

变量的管理:

删除和修改:

工作区窗口:内存变量的管理

who和whos:

已经存在的变量清单

who只显示驻留变量名称

whos变量名,大小,所占字节数,数据类型

内存变量文件:

用文件将工作区有用的变量长久的保留下来(.mat)

save命令:创建

load命令:装入

save mydata a x(将a x变量保存到mydata.mat文件中)

load mydata

5.矩阵的表示

建立:

1.直接输入

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

A =

1     2     3

4     5     6

7     8     9

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

A =

1     2     3

4     5     6

7     8     9

中括号,逗号,空格,分好

2.利用已建立好的矩阵建立更大的矩阵

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

A =

1     2     3

4     5     6

7     8     9

>> B=[-1,-2,-3;-4,-5,-6;-7,-8,-9]

B =

-1    -2    -3

-4    -5    -6

-7    -8    -9

>> C=[A,B;B,A]

C =

1     2     3    -1    -2    -3

4     5     6    -4    -5    -6

7     8     9    -7    -8    -9

-1    -2    -3     1     2     3

-4    -5    -6     4     5     6

-7    -8    -9     7     8     9

复数矩阵:

实部矩阵和虚部矩阵

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

B =

1     2     3

4     5     6

>> C=[6 7 8;9 10 11]

C =

6     7     8

9    10    11

>> A=B+i*C

A =

1.0000 + 6.0000i   2.0000 + 7.0000i   3.0000 + 8.0000i

4.0000 + 9.0000i   5.0000 +10.0000i   6.0000 +11.0000i

冒号表达式:

产生行向量

e1:e2:e3(初始值,步长,终止值)

>> t=0:1:5

t =

0     1     2     3     4     5

linspace函数:

产生行向量

linspace(a,b,n)(第一个元素,第二个元素,元素总数)

>> x=linspace(0,pi,6)

x =

0    0.6283    1.2566    1.8850    2.5133    3.1416

结构矩阵:

数据类型不同而逻辑上相爱难过关的数据组成一个有机整体

结构数据类型

结构矩阵元素.成员名=表达式

单元矩阵:

单元矩阵元素用大括号括起来

矩阵元素的引用

下标引用

A(3,2)A矩阵第三行,第二列

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

A =

1     2     3

4     5     6

>> A(4,5)=10

A =

1     2     3     0     0

4     5     6     0     0

0     0     0     0     0

0     0     0     0    10

矩阵元素序号

矩阵按列存储

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

A =

1     2     3

4     5     6

>> A(3)

ans =

2

序号与下标相互转换:

sub2ind(将行列下标转换为序号),D=sub2ind(S,I,J)行数和列数组成的向量,行下标,列下标

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

A =

1     2     3

4     5     6

>> D=sub2ind(size(A),[1,2;2,2],[1,1;3,2])

D =

1     2

6     4

ind2sub([I,J]=ind2sub(S,D)

>> [I,J]=ind2sub([3,3],[1,3,5])

I =

1     3     2

J =

1     1     2

冒号表达式获得子矩阵

A(I,:)第i行全部元素

A(:,j)第j列全部元素

A(i:i+m,k:k+m)

A(i:i+m,:)

end运算符

某一维的末尾元素下标

删除矩阵元素

空矩阵

>> A=[1,2,3,0,0;7,0,9,2,6;1,4,-1,1,8]

A =

1     2     3     0     0

7     0     9     2     6

1     4    -1     1     8

>> A(:,[2,4])=[]

A =

1     3     0

7     9     6

1    -1     8

改变矩阵形状

reshape(A,m,n)

A(:):每一列元素堆起来,成为一个列向量

>> A=[-45,65,71;27,35,91]

A =

-45    65    71

27    35    91

>> B=A(:)

B =

-45

27

65

35

71

91

6.运算

算数运算

基本

四则运算:

加减:矩阵同型

乘:A列=B行

右除/,左除\:

乘方:^

(矩阵意义下

点运算

.* ./ .\ .^

对应元算进行相关运算

关系运算

  >=  ==  ~=

关系成立1,

>> 3>4

ans =  logical   0

判断A的元素是否为偶数

>> A=[24,35,13;22,63,23;39,47,80]

A =

24    35    13

22    63    23

39    47    80

>> P=rem(A,2)==0(余数

P =

3×3 logical 数组

1   0   0

1   0   0

0   0   1

逻辑运算

&与,|或,~非

算数>关系>逻辑(单目>双目)

7.字符串

单引号括起来的字符序列

字符串当作行向量

多行字符串:字符串矩阵

>> ch=[‘abcdef‘;‘123456‘]

ch =

2×6 char 数组

‘abcdef‘

‘123456‘

>> ch(2,3)

ans =

‘3‘

>> ch=[‘ABc123d4e56Fg9‘]

ch =

‘ABc123d4e56Fg9‘

>> subch=ch(1:5)(第一到第五个元素

subch =    ‘ABc12‘

>> revch=ch(end:-1:1)(倒过来排列

revch =    ‘9gF65e4d321cBA‘

>> k=find(ch>=‘a‘&ch<=‘z‘)(找到小写字母的位置

k =     3     7     9    13

>> ch(k)=ch(k)-(‘a‘-‘A‘)

ch =

‘ABC123D4E56FG9‘

eval(s)

>> t=pi;

>> m=‘[t,sin(t),cos(t)]‘;

>> y=eval(m)

y =

3.1416    0.0000   -1.0000

与数值的转换

>> s1=‘MATLAB‘;

>> a=abs(s1)(字符串对应的ASCII码

a =    77    65    84    76    65    66

>> char(a+32)(把ASCII码矩阵转换为字符串矩阵

ans =    ‘matlab‘

字符串比较

1.关系运算符

比较对应的ASCII码值,结果为数值向量1,0

>>  ‘www0‘>=‘W123‘

ans =

1×4 logical 数组

1   1   1   0

2.字符串比较函数

判断字符串是否相等

strcmp(s1,s2):是否相等

strncmp(s1,s2,n):前n个字符是否相等

strcmpi(s1,s2):忽略大小写,是否相等

strncmpi(s1,s2,n)

>> strcmp(‘www0‘,‘w123‘)

ans =  logical   0

>> strncmpi(‘Www0‘,‘w123‘,1)

ans =  logical   1

查找与替换:

findstr(s1,s2):短字符串在长字符串中的开始位置

strrep(s1,s2,s3):s1中的所有s2替换为s3

>> p=findstr(‘this is a test!‘,‘is‘)

p =     3     6

>> p=findstr(‘is‘,‘this is a test!‘)

p =     3     6

>> result=strrep(‘this is a test!‘,‘test‘,‘class‘)

result =    ‘this is a class!‘

原文:https://www.cnblogs.com/shangguanerniJune/p/11877388.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值