当前位置:首页 >> 其它课程 >>

基本运算


第二章 Matlab基本运算

2.1 数据类型 分类 P33

1.常数 : 35、-123.43、3.1e-12、0.5e-3
2.变量
-变量命名规则
(1)大小写敏感; <

br /> (2)最大长度63字符;
(3)字母打头;
(4)不能与Matlab关键字冲突(if、while、for、end等)
-特殊变量:ans、pi、inf(INF)、NaN(nan),i(j)、nargin、nargout等
3.整数和浮点数( P35)
-整数:int8(16/32/64)、uint8(16/32/64)
-浮点数:single(单精度)、double(双精度,matlab默认数据类型)
例子:转换
(1)x=int8(2.4);
(2)y=int8(1546.34);
(3)z=int16(1546.34);
(4)x1=1/3;
(5)x2=3*x1;
(6)x3=double(x);
4.复数 (P36)
-定义方式:
(1)z=a+b*i
(2)z=a+bi
(3)z=r*exp(i*theta)
(4)z=complex(a,b)
-复数的运算函数:
real(),imag(),angle(),abs(),conj(),complex().

2.2 矩阵和数组的算术运算(P37)
空数组-->标量(一个元素)-->向量(一行/一列)-->矩阵(二维)-->数组
1.数组的创建
- [] %可用函数isempty()来判定
- , 或 空格 %行内元素间隔符
- ; 或 回车 %换行符
- 元素可以是 数组 或者 表达式
(1)空数组:用于清空数组、数组声明中。
a=[];
(2)向量
-form:step:to
e.g.: v = -3:2:6
-linspace()、logspace()
e.g.: x=linspace(1,10,10)
y=logspace(-2,2,5)
(3)矩阵
e.g.: a=[1 2 3;4 5 6;7 8 9
b=[1:5,linspace(6,10,5)]
(4)特殊矩阵和数组
- magic()、eye()、zeros()、ones()、rand()等
2.数组的操作(P40)
(1)访问
-全下标、单下标
e.g.: a=magic(3); %取出元素9
a(3,2) %全下标
a(6) %单下标
(2)子矩阵的产生
-全下标、单下标
e.g.:
a=magic(3);
b=a([1 2],[2 3]) %全下标:取出元素【1 6;5 7】构成一个2X2矩阵b
c=a(6:end); %单下标:取出元素【9,6,7,2】构成一个数组c
(3)数组赋值
-全下标、单下标、全元素
e.g.:
a=magic(5);
a([1,5],4)=0 %全下标
a(18:20)=[-1,-2,-3] %单下标
a=[0.8147 0.0975 0.1576 0.1419 0.6557;
0.9058 0.2785 0.9706 0.4218 0.0357;
0.1270 0.5469 0.9572 0.9157 0.8491;
0.9134 0.9575 0.4854 0.7922 0.9340;
0.6324 0.9649 0.8003 0.9595 0.6787];%全元素
(4)矩阵合并
- c=[a b]; %左右合并
- c=[a;b]; %上下合并
e.g.:
a=ones(2,3);
b=eye(2,3);
c=[a b];
d=[a;b];
(5).数组元素的删除
e.g.:
x=magic(3);
x(:,2)=[];
x(4)=[];%变为行向量
x=[];
3.矩阵和数组函数
(1)常用函数:
- det(行列式)、rank(秩)、inv(求逆)、eig(特征值)、diag(对角阵)、
qr(正交分解)、triu(上三角)、tril(下三角)
(2)数组翻转:
- flipud、fliplr、flipdim(x,dim)、rot90(x,k)
(3)数组查找:
-find
e.g.:
x=magic(3)
y=find(x>6)
x(y)
[r c]=find(x>6)
(4)数据统计
-max、min、mean、std、var、sort、sum等
4.矩阵和数组的算术运算
(1)矩阵运算:+、-、*、/、^
- +、-、*:矩阵尺寸匹配(除非其中一个是标量)
- 除法运算:\(左除)、/(右除)
e.g.:
2*a-3*b+c=8;
a-b+c=7;
a+3*b+c=6;
A=[2,-3,1;1,-1,1;1,3,1];
B=[8;7;6];
X=A\B;
- 乘方运算(^)
e.g.:
A=magic(3);
A1=A^2;
A3=A^0;
-矩阵转置
e.g.:
A=magic(3);
B=A'
C=A+B.*i;%构造一个复数矩阵
C'
-矩阵算术运算函数:sqrtm/expm/logm等
(2)数组运算:.*、./、.\、.^、.'
e.g.:
A=[1 2 3;4 5 6]
B=[2 3 1;5 3 9]
C=A.*B %注意与A*B区别
D=A./B
E=A.^B
A.' %对于实数矩阵<=>A'
F=A+B*i%对于复数矩阵与F'有区别
F' %转置同时求共轭
F.' %只转置不求共轭
-数组运算的基本函数:
abs\sqrt\exp\ceil\rem\log\pow2等
e.g.:
A=magic(3);
B=sqrt(A); %求A各元素的函数值
(3)稀疏矩阵:sparse
-sparse(i,j,s,m,n) %直接创建 0 1 0
e.g.: 0 0 0
i=[ 3 1 3]; 2 0 3
j=[ 1 2 3];
s=[ 2 1 3];
A=sparse(i,j,s,3,3);
-sparse(A) %由矩阵A直接转换为稀疏矩阵
e.g.:
A=eye(4);
B=sparse(A);

2.3 字符串
1.创建字符串
-直接赋值:
e.g.:
s1='matlab R2009a'
s2='数字媒体技术'
s3='Xi''an' %输出字符串 Xi'an
-字符串组合构成新串:利用 ,和;组合新串
e.g.:
str=[s1,' ',s2,' ',s3] % ,连接多个字符串(也可用空格)
str2=[s2;s3] %出错, 原因?
-字符串的存储空间:每个字符以ascii码的形式存放,占2个字节
e.g.:
s2 ?
s3 ?
2.字符串函数
-串合并:strcat/strvcat(char)
e.g.:
str2=[s2;s3] %出错
str3=strvcat(s2,s3)
str4=char(s2,s3)
-字符串与数值转换
-字符串转数值:abs/str2num/str2double/等
-数值转字符串:num2str/mat2str/char/等
-字符串常用函数:比较、查找、格式转换等
-strcmp/findstr/lower(upper)/eval
e.g.:
s1='matlab R2009a'
s2='clc'
e=strcmp(s1,s2)
n=findstr(s1,'a')
str=upper(s1)
eval(s2)

2.4 日期和时间
1.表示格式
-日期字符串:
e.g.:
d1='09/19/2012' %m/d/y
d2='19-Sep-2012' %d-m-y
-连续的日期数值
-日期向量:[Y, M, D, H, MN, S]
-日期格式转换:datenum/datestr
2.日期时间函数
-date/now/clock
-year/month/day/hour/minute/second
-datestr(d,f)
-cputime/tic/toc/etime
e.g.:
year(date)
datestr(now,'yyyy-mmmm-dd')
tic
for k=1:1000
2^k;
end
toc
2.5 元胞数组和结构体
1.元胞数组
(1)创建
A={'cell',1:5;[1 2;3 4],{0:pi/2:2*pi,'matlab'}};%直接创建
B(1,1)={'cell'};%使用元胞创建'{}'
B(1,2)={1:5};
B(2,1)={[1 2;3 4]};
B(2,2)={{0:pi/2:2*pi,'matlab'}};
C{1,1}='cell'; %使用元胞内容创建
C{1,2}=1:5;
C{2,1}=[1 2;3 4];
C{2,2}={0:pi/2:2*pi,'matlab'};
- D=cell(2,2); %使用cell函数创建元胞数组
(2)元胞数组操作
-用{}取元素内容
-用()取元素:定位元胞位置
-用deal函数取多个元胞元素的内容
(3)元胞数组的内容显示
-celldisp、cellplot
2.结构体
(1)创建
-直接创建:
e.g. stu(1).name='李思';
stu(1).age=20;
stu(1).sex='男'
-struct函数创建
e.g.:
stu(1)=struct('name','李思','age',20,'sex','男');
(2)获取结构体内部数据:
- .
- getfield(stu,{1},'age');
- fieldnames(s);%获取所有字段名
- [] %合并相同字段数据
(3)结构体操作
-rmfield(stu,'sex');
-stu=setfield(stu,{1},'name','马六');
(4)结构体转换为元胞数组
-stu_cell=struct2cell(stu);

2.7 关系运算/逻辑运算
1.逻辑变量:
- 0(false)、1(true)
- logical函数可以将数值型转换为逻辑型:非零->逻辑1,数值0->逻辑0
2.关系运算:>、<、>=、<=、==、~=、
e.g.:
- a=1:8;
r1=a>6; %数组与标量比较
- c=[ 6 3 7 8 5 1 2 4];
r2=c==a; %两个数组比较
3.逻辑运算:
- &、|、~ 、xor %元素逻辑运算
- &&、|| %先决逻辑运算
e.g.:
t=0:3
y1=(t(1)~=0)&&(100/t(1)>10) %使用先决与
y2=(t(1)~=0)&(100/t(1)>10) %使用一般与
- bitand(按位与)、bitor(按位或)、bitcmp(按位非)、bitxor(按位异或)
e.g.:
a=8;
b=7;
c=bitand(a,b);
d=bitor(a,b);
4.运算符优先级:
()--> '--> ^--> +/- --> ~ 等等(P72)
e.g.:
l = x>0&&x<3;

2.8 数组的信息获取
-尺寸:size/length/numel/ndims
-数组检测:isempty/isvector/isscalar/issparse/isnumeric/isa

2.9 多项式
1.多项式求根、求值
-matlab中多项式的表示方式:行向量
e.g.: f(x)=x^3-2*x-1
f=[1 0 -2 -1];
-求根:roots
由跟构建多项式:poly([r(1),r(2),...])
-求值:polyval(p,x)/polyvalm(p,m)
2.多项式算术运算
-乘法:conv
-除法:deconv
e.g.:
p1=[1 2];
p2=[1 -1];
p3=conv(p1,p2);
[p3_2,r]=deconv(p3,p2);
-部分分式展开:[r,p,k]=residue(B,A)
e.g.:
A=[1,-2,-1,2];
B=[1,-5];
[r,p,k]=residue(B,A);
-多项式的求导:polyder
e.g.:
A=[1,-2,-1,2];
d=polyder(A)
3.多项式的拟合与插值
-拟合:polyfit(x,y,n)
e.g.:
绘制KNo3的溶解度随温度变化的曲线,并求出曲线对应的多项式2阶拟表达式
实验数据:
温度(°C) 20 30 40 50 60 70 80
溶解度(g) 31.6 45.8 63.9 85.5 110 142 168
x=[20 30 40 50 60 70 80];
y=[31.6 45.8 60.9 85.5 110 142 168];
p=polyfit(x,y,2);
fx=0.0171*x.^2+0.618*x+11.6;
plot(x,y,'ro-',x,fx,'b*-');
-插值
e.g.:接上例,求34°C时KNo3溶解度?
x=[20 30 40 50 60 70 80];
y=[31.6 45.8 60.9 85.5 110 142 168];
y1=interp1(x,y,34,'linear');
hold on
plot(34,y1,'*');
y2=interp1(x,y,34,'cubic');
plot(34,y2,'>');
y3=interp1(x,y,34,'spline');
plot(34,y3,'o');



相关文章:
基本计算公式
基本计算公式_金融/投资_经管营销_专业资料。计算公式基本概念市价单:是以现价买入或卖出商品的定单。执行此定单即建立交易头寸,买入 以买入价成交, 卖出以卖出价...
什么是基本运算
什么是基本运算_其它_高等教育_教育专区。什么是基本运算? 什么是算法的时间复杂性(度)? 什么是算法的渐近时间复杂性? 表示渐进时间复杂性的三个记号的具体定义是...
线性代数的基本运算
线性代数的基本运算_数学_自然科学_专业资料。第 5 章 线性代数的基本运算 本章学习的主要目的: 1 复习线性代数中有关行列式、矩阵、矩阵初等变换、向量 的线性相...
基本运算
基本运算_六年级数学_数学_小学教育_教育专区。基本运算及含义 基本运算及每种运算的含义初等代数有六种基本运算,分别为加法,减法,乘法,除法,乘方,开方。加减法互...
基本运算
2-基本运算 暂无评价 27页 2下载券 2-基本运算 暂无评价 14页 2下载券 集合的基本运算 29页 免费 基本计算问题 暂无评价 7页 4下载券 基本计算 暂无评价 1...
数学运算基本
数学运算可以说是行测 当中最费时费力的一种题型了,具有速度和难度测验 的双重性质,这类题型测试的范围很广,涉及的知识 点很多,但是 2/3 的部分都是基础部分,...
基本运算
基本运算 1 求 输入(12+2*(7-4))/3^2 执行 2 输入 x = (5*2+1.3-0.8)*10^2/25 执行 再输入 y= 2*x+1 执行 3 执行 clear 命令。...
基本运算之数的运算(二)
基本运算之数的运算(二)_数学_高中教育_教育专区。基本运算之数的运算(二) 一、单选题(共 12 道,每道 8 分) 1.计算: =( ) A.0 C. B. D. 2....
第6章 基本运算
第6章 基本运算 本章主要介绍 COBOL 开发中常用的一些基本运算。此处所说的基本运算包括三大类型的运算:算 术运算、关系运算和逻辑运算。本章将依次讲解这三种运算...
更多相关标签:
数学基本运算 | 基本运算符号 | 基本运算电路 | 三级运算 | 集合的基本运算 | 布尔运算的基本元素是 | 集合的基本运算ppt | 运算放大器基本电路 |