可以使用 real 函数求复数的实部,imag 函数求复数的虚部,abs 函数求复数的模,angle 函数求复数的幅角,conj 函数求复数的共轭复数。
例如:
>> x=3;>> y=complex(2,x)%转换为复数
y =2.0000+3.0000i
>>real(y)%复数的实部
ans =2>>conj(y)%复数的共轭
ans =2.0000-3.0000i
>>imag(y)%复数的虚部
ans =3>>angle(y)%复数的幅角
ans =0.9828
例如,A(i,j) 表示 A 矩阵第 i 行、第 j 列的元素,A(i,:) 表示 A 矩阵第 i 行的全部元素,A(:,j) 表示 A 矩阵第 j 列的全部元素。同样,A(i:i+m,k:k+m) 表示 A 矩阵第 i~i+m 行内且在第 k~k+m 列中的所有元素,A(i:i+m,:) 表示 A 矩阵第 i~i+m 行的全部元素,A(:,k:k+m) 表示 A 矩阵第 k~k+m 列的全部元素。例如:
>> A=[1:5;6:10;11:15;16:20]
A =1234567891011121314151617181920>>A(1,:)%取 A 第一行
ans =12345>>A(:,2:4)%取 A 第二、三、四列
ans =234789121314171819>>A(2:3,4:5)%取 A 第二、三行,第四、五列
ans =9101415>>A(2:3,1:3:5)%取 A 第二、三行,第一、三、五列
ans =691114
此外,还可以利用一般向量和 end 运算符来表示矩阵下标,从而获得子矩阵。end 表示某一维的末尾元素下标。例如:
>> A=[1:5;6:10;11:15;16:20]
A =1234567891011121314151617181920>>A(end,:)%取 A 的最后一行
ans =1617181920>>A([1,4],3:end)%取 A 第一、四两行中第三列到最后一列的元素
ans =345181920
3.3 利用空矩阵删除矩阵的元素
空矩阵是指没有任何元素的矩阵,即在建立矩阵时,中括号中为空。例如:
>> x=[]
x =[]
将某些元素从举证中删除,采用将其置为空矩阵的方法也是十分有效的。例如:
>> A=[1,2,3,0,0;7,0,9,2,6;1,4,-1,1,8]
A =123007092614-118>>A(:,[2,4])=[]%删除 A 的第二列和第四列元素
A =1307961-18
3.4 改变矩阵的形状
reshape(A,,m,n) 函数在矩阵总元素不变的前提下,将矩阵 A 重新排成 m×n 的二维矩阵。例如:
>> x=[23,45,65,34,65,34,98,45,78,65,43,76];%产生有 12 个元素的行向量 x
>> y=reshape(x,3,4)%利用向量 x 建立 3×4 的矩阵 y
y =233498654565454365347876>> z=reshape(y,2,6)%针对上面建立的 y 矩阵建立 2×6 矩阵 z
z =236565987843453434456576
who 命令只显示出驻留变量的名称,whos 在给出变量名的同时,还给出它们的大小、所占字节数及数据类型等信息。例如,在某一时刻,使用 who 和 whos 命令的结果如下:
>> who
您的变量为:
A B ans x y z
>> whos
Name Size Bytes Class Attributes
A 2x3 48double
B 6x1 48double
ans 2x3 48double
x 1x1 16double complex
y 1x1 8double
z 1x1 8double
3.2 内存变量文件
利用 MAT 文件可以把当前 MATLAB 工作区中的一些有用变量长久地保留下来。MAT 文件是 MATLAB 保存数据的一种标准的二进制格式文件,扩展名一定是 .mat。MAT 文件的生成和装入由 save 和 load 命令来完成。常用格式如下:
save 文件名 [变量名表][-append][-ascii]
load 文件名 [变量名表][-ascii]
其中,文件名可以带路径,但不需要带扩展名 .mat,命令默认对 MAT 文件进行操作。变量名表中的变量个数不限,只要内存或文件中存在即可,变量名之间以空格分隔。当变量名表省略时,保存或装入全部变量。
-ascii 选项使文件以 ASCII 格式处理,省略该选项时文件将以二进制格式处理。save 命令中的 append 选项控制将变量追加到 MAT 文件中。
假定变量 a 和 x 存在于 MATLAB 工作空间中,输入以下命令便可借助 mydata.mat 文件保存 a 和 x:
>> save mydata a x
假如在下次重新进入 MATLAB 后,需要使用变量 a 和 x,可用以下命令把 mydata.mat 中的内容装入 MATLAB 工作空间:
>> load mydata
在执行上述命令后,在当前的 MATLAB 环境中,a 和 x 就是两个已知变量了。
这里需要注意的是,mydata 是用户自己取的文件名,MATLAB 默认扩展名为 .mat。
上述 save 命令执行以后,该 mydata.mat 文件将存放在当前目录。假如我们需要让 mydata.mat 存放在指定的其他目录(例如 d:\lpp目录)中,那么 save 命令改为
>> save d: \1pp\mydata a x
当然,相应 load 命令中的文件名前也要加路径名。
除了操作命令以外,在 MATLAB 主窗口通过主页选项卡变量命令组中的保存工作区命令按钮或工作区窗口快捷菜单的保存命令,可以保存工作区中的全部变量。通过主页选项卡变量命令组中的导入数据命令按钮可以将保存在 MAT 文件中的变量装入 MATLAB 工作区。