MATLAB可视化方法和技巧1_3复数的计算和图示
- 格式:doc
- 大小:570.50 KB
- 文档页数:6
Matlab中的复数运算基础教程引言:在科学计算和工程领域中,复数运算是一项非常重要的技术。
Matlab作为一种强大的数值计算软件,提供了灵活而高效的复数运算工具。
本文将介绍Matlab中的复数运算基础知识,涵盖了复数的表示、基本运算、共轭和幅角的计算等。
1. 复数的表示复数是由实数和虚数组成的数。
在Matlab中,复数可以用a + bi的形式表示,其中a是实部,b是虚部。
例如,3 + 2i就是一个复数。
在Matlab中,可以直接输入复数,例如:z = 3 + 2i;这样就定义了一个复数变量z。
2. 基本运算Matlab中的复数运算基本与实数一致。
支持加法、减法、乘法和除法等运算。
例如,可以使用"+"运算符计算两个复数的和:z1 = 3 + 2i;z2 = 1 + 4i;z = z1 + z2;这样,z的值将是4 + 6i。
3. 共轭运算在复数运算中,共轭运算是一个重要的概念。
复数的共轭是将虚部的符号取反得到的结果。
在Matlab中,可以使用conj函数对复数进行共轭运算。
例如:z = 3 + 2i;w = conj(z);这样,w的值将是3 - 2i。
4. 幅角运算在复数的表示中,幅角是指复数与正实轴之间的夹角。
在Matlab中,可以使用angle函数计算复数的幅角。
angle函数的结果以弧度形式表示。
例如:z = 3 + 2i;theta = angle(z);这样,theta的值将是0.5880弧度。
5. 赋值运算在进行复数运算时,经常需要将结果赋值给一个变量。
在Matlab中,可以使用等号将计算结果赋值给一个变量。
例如:z1 = 3 + 2i;z2 = 1 + 4i;z = z1 + z2;在这个例子中,z1和z2分别是两个复数,将它们相加的结果赋值给z。
6. 数值计算与绘图Matlab中的复数运算不仅支持基本的数值计算,还能与绘图功能结合。
通过使用plot函数和复数运算,可以绘制出复平面上的曲线。
使用MATLAB进行科学计算和数据分析的技巧MATLAB是一种强大且广泛使用的科学计算和数据分析工具。
它的灵活性和强大的功能使得它成为了科研、工程和数据分析等领域中不可或缺的工具。
本文将介绍一些使用MATLAB进行科学计算和数据分析的技巧,旨在帮助读者更好地利用MATLAB进行数据分析和科学计算。
1. 使用向量化运算加速计算在MATLAB中,向量化运算可以大大提高计算效率。
相比于使用for循环逐个处理数据,向量化运算可以直接对整个向量或矩阵进行操作,从而避免了循环的开销。
例如,如果要计算一个向量的平方和,可以使用sum和power函数实现:```matlabx = [1 2 3 4 5];result = sum(power(x, 2));```上述代码中,使用了power函数对向量x中的每个元素进行平方操作,然后使用sum函数对平方后的向量进行求和。
这种向量化的操作能够大大加快计算速度,特别是在处理大规模数据时。
2. 利用MATLAB的工具箱进行数据分析MATLAB提供了各种强大的工具箱,其中包括用于数据分析的统计工具箱、优化工具箱、信号处理工具箱等。
这些工具箱提供了各种函数和算法,可以方便地进行数据处理和分析。
例如,统计工具箱中提供了各种统计分析函数,可以进行假设检验、回归分析、方差分析等。
使用这些工具箱,可以避免自己实现复杂的算法,提高数据分析的效率。
同时,MATLAB还支持对工具箱中函数的自定义,可以根据实际需要进行扩展和修改。
3. 使用绘图功能进行数据可视化MATLAB拥有强大的绘图功能,可以绘制出各种类型的图形,包括折线图、柱状图、散点图等。
数据可视化是数据分析过程中非常重要的一部分,通过图像的展示,可以更直观地理解数据的特点和规律。
MATLAB提供了丰富的绘图函数和参数设置选项,可以满足不同类型的数据可视化需求。
同时,通过与其他工具箱的结合,例如统计工具箱中的函数,可以在绘图过程中进行更深入的数据分析。
学习使用MATLAB进行科学计算和数据可视化MATLAB(Matrix Laboratory)是一款被广泛应用于科学计算和数据可视化的工具软件,也是开发者进行算法实现,模型设计及分析的首要选择。
对于学习使用MATLAB的人来说,熟练掌握该软件的操作和功能可以对其日后的科学研究和工作产生重要的影响。
本文将介绍如何学习并使用MATLAB进行科学计算和数据可视化,内容涵盖三个方面:基础知识、操作技巧以及应用案例。
一、基础知识MATLAB软件由工作空间、命令行窗口和图形窗口三个主要部分组成。
在开始使用MATLAB之前,需要了解以下几个基本概念:1. 变量在MATLAB中,变量是指可以存储数据或操作的值,可以通过变量名来引用变量。
变量可以是标量(一个数)、向量(一维数组)、矩阵(二维数组)或更高维度的数组。
2. 函数函数是一些已定义好的运算操作,可以通过函数名和参数来调用。
在MATLAB中,可以使用内置函数(例如sin、cos、log等)或用户定义的函数。
3. 脚本脚本是一些存储在文本文件中的MATLAB命令,可以通过运行脚本快速实现一系列的操作。
二、操作技巧在掌握基础知识之后,了解和熟练掌握MATLAB的操作技巧是提高工作效率和数据可视化质量的关键。
以下列举几个常用技巧:1. 绘图MATLAB的图形界面十分友好,可以通过直接调用plot、bar、scatter等函数来实现各种常见图形的绘制。
常用的属性包括图例、标签、颜色、线型等,可以通过指定不同的属性来定制绘图风格。
2. 数据处理在数据处理方面,MATLAB的内置函数库非常强大,可以实现数据的读取、处理、转换和分析等一系列操作。
例如,可以使用importdata函数快速读取TXT、CSV、MAT等各种格式的数据文件。
同时,MATLAB中也包含了各种各样的可视化函数,可以帮助用户更加直观地分析数据。
3. 调试在编写代码或脚本的过程中,MATLAB也提供了各种调试工具,例如断点、单步执行、变量检查等。
在Matlab中进行高维数据可视化的方法和工具高维数据集是当今科学研究和工程领域中的一个重要问题。
理解和分析这些数据对于发现潜在模式和规律非常关键。
然而,高维数据的可视化是一个具有挑战性的任务,因为人类眼睛只能直观地感知三维空间。
为了克服这个问题,Matlab提供了多种方法和工具,用于高维数据可视化。
首先,一种常用的方法是降维。
降维可以将高维数据转换为低维空间,使得数据的可视化变得可行。
常见的降维方法包括主成分分析(PCA)和多维尺度分析(MDS)。
PCA通过找到数据中的主要特征来减少维度,并通过绘制数据在主成分空间中的投影来可视化数据。
MDS是一种基于距离矩阵的降维方法,它试图在低维空间中保持数据点之间的原始距离关系。
其次,另一种常用的方法是使用散点图矩阵。
散点图矩阵是一个用于可视化多个变量之间关系的矩阵。
在Matlab中,可以使用“scattermatrix”函数来创建散点图矩阵。
该函数将每个变量两两组合,以散点图的形式呈现。
这样,我们可以通过观察散点图矩阵中的模式和相关性来获得关于高维数据的洞察。
此外,Matlab还提供了一些特定领域的可视化工具。
例如,在生物领域中,可使用Bioinformatics Toolbox的heatmap函数创建热图。
热图可以将高维数据以矩阵的形式呈现,其中颜色表示不同数据点的值。
通过调整颜色映射和标签,我们可以直观地观察到数据之间的模式和趋势。
另一个常用的高维数据可视化工具是t-SNE。
t-SNE是一种在低维空间中可视化高维数据的非线性方法。
Matlab中可使用tsne函数实现t-SNE。
t-SNE通过在高维空间中保持数据点之间的距离关系,将数据投影到二维或三维空间中。
通过观察t-SNE图,我们可以发现数据中的集群和分布模式。
除了这些方法和工具之外,还有许多其他可供选择的方法和工具。
例如,可以使用Matlab的surfc函数创建三维曲面图,该函数允许在三维空间中可视化多个变量之间的关系。
使用MATLAB进行多维数据可视化的技巧引言:数据可视化是数据分析中不可或缺的一环。
通过可视化,我们能够更直观、更全面地了解数据的分布、趋势和关联性。
在处理多维数据时,尤其需要使用适当的工具和技巧来展示数据的复杂性。
本文将介绍使用MATLAB进行多维数据可视化的一些技巧,帮助读者更好地理解和分析数据。
一、二维数据可视化1. 折线图折线图是展示数值随自变量变化的趋势的常用方式。
在MATLAB中,可以使用plot函数绘制折线图。
例如,以下代码绘制了x在范围[0, 10]内的正弦函数图像:```matlabx = linspace(0, 10, 100);y = sin(x);plot(x, y);```2. 散点图散点图适用于展示两个数值变量之间的关系。
可以使用scatter函数在MATLAB中绘制散点图。
以下代码示例展示了两组数据之间的关系:```matlabx = randn(100, 1);y = 2 * x + 0.2 * randn(100, 1);scatter(x, y);```二、多维数据可视化1. 三维散点图在三维数据分析中,散点图可以展示三个数值变量之间的关系。
使用scatter3函数可以在MATLAB中绘制三维散点图。
以下示例展示了三个变量之间的关系:```matlabx = randn(100, 1);y = randn(100, 1);z = 2 * x + y + 0.2 * randn(100, 1);scatter3(x, y, z);```2. 气泡图气泡图是一种展示四维数据关系的方式,除了x、y轴上的数值,还可以利用气泡的大小来表示第三个变量。
在MATLAB中,可以使用bubblechart函数绘制气泡图。
以下代码展示了四个变量之间的关系:```matlabx = randn(100, 1);y = randn(100, 1);z = 2 * x + y + 0.2 * randn(100, 1);s = abs(randn(100, 1));bubblechart(x, y, z, s);```3. 平面等值线图平面等值线图可以展示三维数据的等值分布。
在MATLAB中进行数据可视化的方法和技巧数据可视化是数据分析中的一个重要环节,它可以帮助我们更好地理解数据、发现数据中的规律和趋势,并且可以将复杂的数据以可视化的形式展示出来,使得人们可以更直观地理解和解释数据。
MATLAB作为一种强大的数据分析工具,提供了丰富的函数和工具箱,可以方便地进行各种类型的数据可视化。
本文将介绍一些在MATLAB中进行数据可视化的方法和技巧,帮助读者更好地利用MATLAB实现数据可视化的目标。
1. 绘制基本图形在MATLAB中,我们可以使用一些基本的函数来绘制各种图形,例如直线图、散点图、条形图等。
通过这些基本图形的组合和修改,可以绘制出更复杂的图形。
例如,我们可以使用plot函数绘制直线图,使用scatter函数绘制散点图,使用bar函数绘制条形图。
这些函数都有一些可选的参数,可以对图形进行颜色、线型、标题等方面的设置。
2. 自定义图形样式除了使用MATLAB提供的默认样式,我们还可以根据需要自定义图形的样式,使其更符合我们的需求。
MATLAB提供了一些函数和属性可以实现这一目的。
例如,我们可以使用set函数来修改图形的属性,例如修改线条的颜色、线宽、线型等。
我们还可以使用subplot函数将多个图形放在一个图中,使用legend函数添加图例,使用text函数在图中添加文字说明。
3. 多维数据可视化在处理多维数据时,我们需要进行高维数据的可视化,以便更好地理解数据的分布和特征。
MATLAB提供了一些函数和工具箱来实现多维数据的可视化。
例如,我们可以使用scatter3函数绘制三维散点图,使用mesh函数绘制三维曲面图,使用contour函数绘制等高线图。
这些函数可以帮助我们将高维数据映射到三维图形中,直观地展示数据的分布情况和特征。
4. 动态数据可视化有时我们需要展示随时间变化的数据,这就要求我们实现动态数据可视化。
MATLAB提供了一些函数和工具箱可以实现动态数据可视化。
[matlab画复数函数图像]MATLAB函数画图(2)篇一: MA TLAB函数画图MA TLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示。
本节将介绍MA TLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制、列印及存档。
plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及y座标。
下例可画出一条正弦曲线:close all; x=linspace; % 100个点的x座标y=sin; % 对应的y座标plot;=================================================== =小整理:MA TLAB基本绘图函数plot: x轴和y轴均为线性刻度loglog: x轴和y轴均为对数刻度semilogx: x轴为对数刻度,y轴为线性刻度semilogy: x轴为线性刻度,y轴为对数刻度=================================================== =若要画出多条曲线,只需将座标对依次放入plot函数即可:plot, x, cos);若要改变颜色,在座标对后面加上相关字串即可:plot, …c‟, x, cos, …g‟);若要同时改变颜色及图线型态,也是在座标对后面加上相关字串即可:plot, …co‟, x, cos, …g*‟);=================================================== =小整理:plot绘图函数的叁数字元颜色字元图线型态y 黄色. 点k 黑色o 圆w 白色x xb 蓝色+ +g 绿色* *r 红色- 实线c 亮青色: 点线m 锰紫色-. 点虚线-- 虚线=================================================== =图形完成后,我们可用axis函数来调整图轴的范围:axis;此外,MA TLAB也可对图形加上各种注解与处理:xlabel; % x轴注解ylabel; % y轴注解title; % 图形标题legend‟,‟y = cos‟); % 图形注解grid on; % 显示格线=================================================== =我们可用subplot来同时画出数个小图形於同一个视窗之中:subplot; plot);subplot; plot);subplot; plot);subplot; plot);MA TLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。
matlab 复数角度一、Matlab中复数的表示在Matlab中,复数可以用a+bi的形式表示,其中a和b分别为实部和虚部。
例如:>> z = 2 + 3iz =2.0000 +3.0000i也可以用complex(a,b)函数来表示:>> z = complex(2,3)z =2.0000 +3.0000i二、Matlab中复数的运算1. 加减法复数的加减法与实数的加减法类似,只需要将实部和虚部分别相加或相减即可。
例如:>> z1 = 2 + 3i;>> z2 = 4 - i;>> z3 = z1 + z2z3 =6.0000 + 2.0000i>> z4 = z1 - z2z4 =-2.0000 + 4.0000i2. 乘法复数的乘法也与实数的乘法类似,只需要将实部和虚部分别相乘并相加即可。
例如:>> z1 = 2 + 3i;>> z2 = 4 - i;>> z3 = z1 * z2z3 =11.0000 +10.0000i注意:在Matlab中,乘号“*”表示复数的乘法运算。
3.除法复数的除法需要用到共轭复数,即将一个复数的虚部取负数,例如:>> z1 = 2 + 3i;>> z2 = 4 - i;>> z3 = z1 / z2z3 =0.4419 + 0.7365i其中,z1/z2的结果为:(z1/z2) = (z1*conj(z2))/(z2*conj(z2))4.幂运算复数的幂运算可以用Matlab中的power函数实现,例如:>> z = 2 + 3i;>> z^3ans =-46.0000 + 9.0000i三、Matlab中复数的角度表示在Matlab中,可以用角度(弧度制)来表示一个复数。
对于一个复数a+bi,它的角度可以用atan(b/a)来计算。
用Matlab语言实现噪声的1/3倍频程分析摘要:在声学测量研究中,1/3倍频程谱反映了声源的能量分布情况.本文基于Matlab软件开发平台,实现了对高斯白噪声的1/3倍频程分析,验证了该算法的正确性,具有精度高,性能稳定的特点。
关键词: 故障诊断;传感器优化布置;高斯白噪声;功率谱;1/3倍频程0 引言“设备故障诊断(Condition Monitoring and Faults Diagnosis)”是近十几年发展起来的一门新兴技术,包含两方面的内容:一是对设备的现场运行状态进行监测;二是在出现故障情况时对故障进行分析与诊断。
这二者是密不可分和相互关联的。
掌握设备现在的状况及信息,预知和预测有关故障或异常的程度,分析故障产生的原因,判断故障发展趋势及其对将来的影响,从而找出必要的对策或解决方法,是设备故障诊断的功能。
运用设备诊断技术所取得的经济效益是明显的。
据日本资料报道,采用诊断技术后,事故率减少75%,维修费用可降低25-50%。
英国对两千个工厂进行的调查表明,采用诊断技术后,维修费用每年可节约 3 亿英磅。
目前我国的机器设备总值约为8000 多亿元,每年用于设备大修、小修和处理故障的费用一般占固定资产原值的3%—5%,采用诊断技术改进维修方式和方法后,一年取得的经济效益可达数百亿元。
因而减少停机时间而创造的社会效益将非常巨大。
显然,设备故障诊断与监测技术对企业的正常生产经营是必不可少的,必须把它作为企业管理与发展的一个重要内容。
设备故障诊断一般分两个阶段四个步骤实施。
两个阶段为状态监测和故障诊断。
故障诊断的四个步骤为:信号检测、特征提取(信号处理)、状态识别和诊断决策。
其具体内容为:(l)信号检测:按不同诊断目的选择最能表征工作状态的信号。
这种工作状态信号称为初始模式。
(2)特征提取(信号处理):将初始模式向量进行信号处理、变换,去掉冗余信息,提取故障特征、形成待检模式;(3)状态分析:将待检模式与样式模式(故障档案)对比和状态分类,判断出故障类型。
matlab复数数组Matlab是一种强大的数学软件,可以进行复数计算和操作。
复数是由实部和虚部组成的数,可以用a+bi的形式表示,其中a是实部,b是虚部。
在Matlab中,复数数组可以用一个一维数组来表示,每个元素都是一个复数。
复数数组在Matlab中的使用非常方便,可以进行各种复数运算和操作。
下面我们来介绍一些常见的复数数组操作。
1. 创建复数数组我们可以使用complex函数来创建复数数组。
例如,我们可以创建一个包含5个复数的数组:```z = complex([1 2 3 4 5], [6 7 8 9 10]);```这个数组中的第一个元素是1+6i,第二个元素是2+7i,以此类推。
2. 访问复数数组的元素我们可以使用索引来访问复数数组的元素。
例如,我们可以访问数组z的第3个元素:```z(3)```这将返回数组z的第3个元素。
3. 复数数组的运算在Matlab中,我们可以对复数数组进行各种运算,包括加法、减法、乘法和除法。
例如,我们可以计算两个复数数组的和:```a = complex([1 2 3], [4 5 6]);b = complex([7 8 9], [10 11 12]);c = a + b;```这将返回一个新的复数数组c,其中的元素是a和b对应元素的和。
4. 复数数组的函数计算Matlab提供了许多函数来计算复数数组的各种属性,如绝对值、相位、共轭等。
例如,我们可以计算复数数组z的绝对值:```abs(z)```这将返回一个新的数组,其中的元素是z中对应元素的绝对值。
5. 复数数组的切片和索引我们可以使用切片和索引来访问复数数组的子数组。
例如,我们可以访问数组z的前三个元素:```z(1:3)```这将返回一个包含z的前三个元素的新数组。
6. 复数数组的图表绘制Matlab提供了丰富的绘图函数,可以用来绘制复数数组的图表。
例如,我们可以使用plot函数来绘制复数数组的实部和虚部:```plot(real(z), imag(z))```这将绘制出一个以实部为x轴,虚部为y轴的散点图。
复数的计算和图示表3 MATLAB关于复数运算的函数{范例3_1}复数的加减法设有两个复数z1 = 1 + 2i和z2 = 4 + 3i,其中i是虚数单位求两个复数的和z1 + z2和差z2–z1。
[解析]复数有三种表示形式(1)代数式z = x + i y(3_1_1)(2)三角式z = r(cosθ + isinθ) (3_1_2) 其中r是复数的模,θ是复角。
代数式与三角式的换算关系是r=arctan y xθ(3_1_3)x = r cosθ,y = r sinθ(3_1_4)(3)指数式z = r e iθ(3_1_5) 其中利用了欧拉公式e iθ= cosθ + isinθ(3_1_6)设有两个复数z1 = x1 + i y1,z2 = x2 + i y2(3_1_7) 复数加法是z= z1 + z2 = (x1 + x2) + i(y1 + y2) (3_1_8) 复数减法是z= z1 - z2 = (x1 - x2) + i(y1 - y2) (3_1_9) [程序]P3_1plus.m如下。
%复数的加减法clear %清除变量z1=1+2i; %第1个复数(1)x1=real(z1); %取第1个复数的实部(2)y1=imag(z1); %取第1个复数的虚部(2)x2=4; %第2个复数的实部y2=3; %第2个复数的虚部z2=x2+i*y2; %形成第2个复数(3)z=z1+z2; %两复数之和(4)x=real(z); %取复数的实部y=imag(z); %取复数的虚部figure %创建图形窗口quiver(0,0,x1,y1,0) %在复平面画第1个复数(5)hold on%保持图像quiver(0,0,x2,y2,0) %画第2个复数(5)quiver(0,0,x,y,0) %画复数之和(5)plot([x1,x],[y1,y],'--') %画虚线(6)plot([x2,x],[y2,y],'g--') %画虚线(6)axis equal%使坐标刻度相等(7)grid on%加网格r=abs(z); %求模(8)theta=angle(z)*180/pi; %求复角(9)text(0,0,num2str(theta),'FontSize',16) %显示复角(10)text(x,y,num2str(r),'FontSize',16) %显示模(10)title('两复数之和','FontSize',16) %显示标题z=z2-z1; %两复数之差x=real(z); %取复数的实部y=imag(z); %取复数的虚部figure %创建图形窗口quiver(0,0,x1,y1,0) %在复平面画第1个复数(11)hold on%保持图像quiver(0,0,x2,y2,0) %画第2个复数quiver(x1,y1,x,y,0) %画复数之差axis equal%使坐标刻度相等grid on%加网格title('两复数之差','FontSize',16) %标题[说明](1)变量i表示虚数单位,可用于形成复数。
(2)函数real和imag取复数的实部和虚部。
(3)如果已知数据的实部和虚部,也可形成复数。
(4)求复数之和时,实部与实部相加,虚部与虚部相加,形成新的复数。
(5)quiver指令画箭杆,前两个参数表示箭杆的起点坐标,后两个参数表示箭杆两个分量的长度,第5个参数表示按所给数据画箭杆。
(6)画虚线形成平行四边形,如P3_1a图所示。
(7)坐标间隔应该相等。
(8)对于复数(包括实数),abs函数求模。
(9)angle函数求复角。
(10)text指令显示文本。
(11)求复数之差时,三个复数形成三角形。
P3_1a 图 P3_1b 图{范例3_2}复数的乘除法设有两个复数z 1 = 1 + 2i 和z 2 = 4 + 3i ,求两个复数的积z 1z 2和商z 2/z 1。
[解析]复数乘法为z = z 1z 2 = (x 1 + i y 1)(x 2 + i y 2) = x 1x 2 - y 1y 2 + i(x 1y 2 + x 2y 1) (3_1_10)用指数表式为z = r 1exp(θ1)r 2exp(θ2) = r 1r 2exp(θ1 + θ2) (3_1_11)可见:两复数相乘时,其模等于两个复数的模的乘积,其复角等于两个复数的复角之和。
复数除法为22222111212122122111111111i (i )(i )()i()====i (i )(i )z x y x y x y x x y y x y x y z z x y x y x y x y ++-++-++-+ (3_1_12)用指数表式为z = r 2exp(θ2)/[r 1exp(θ1)] = (r 2/r 1)exp(θ2 – θ1) (3_1_13)可见:两复数相除时,其模等于两个复数模的商,其复角等于两个复数的复角之差。
复数的乘方用指数表示为z n = |z |n exp(i n θ) = |z |n cos(n θ) + isin(n θ) (3_1_14)[程序]P3_2times.m 如下。
%复数的乘除法clear %清除变量z1=input('请输入第1个复数(包括实数和虚数)z1:');%键盘输入第1个复数(1)z2=input('请输入第1个复数(包括实数和虚数)z2:');%键盘输入第2个复数(1)x1=real(z1); %取第1个复数的实部y1=imag(z1); %取第1个复数的虚部x2=real(z2); %取第2个复数的实部y2=imag(z2); %取第2个复数的虚部z=z1*z2; %两复数之积x=real(z); %取复数的实部y=imag(z); %取复数的虚部figure %创建图形窗口quiver(0,0,x1,y1,0) %在复平面画第1个复数hold on %保持图像quiver(0,0,x2,y2,0) %画第2个复数quiver(0,0,x,y,0) %画复数之和(2)axis equal %使坐标刻度相等grid on %加网格r1=abs(z1); %求第1个复数的模theta1=angle(z1)*180/pi; %求第1个复数的复角txt=[num2str(r1),',',num2str(theta1)]; %横和复角字符串text(x1,y1,txt,'FontSize',16) %显示模和复角r2=abs(z2); %求第2个复数的模theta2=angle(z2)*180/pi; %求第2个复数的复角txt=[num2str(r2),',',num2str(theta2)]; %模和复角字符串text(x2,y2,txt,'FontSize',16) %显示模和复角r=abs(z); %求模theta=angle(z)*180/pi; %求复角txt=[num2str(r),',',num2str(theta)]; %模和复角字符串text(x,y,txt,'FontSize',16) %显示模和复角z=z2/z1; %两复数之商x=real(z); %取复数的实部y=imag(z); %取复数的虚部r=abs(z); %求模quiver(0,0,x,y,0) %画复数之和theta=angle(z)*180/pi; %求复角txt=[num2str(r),',',num2str(theta)]; %模和复角字符串text(x,y,txt,'FontSize',16) %显示模和复角title('两复数之积和商','FontSize',16) %显示标题[说明](1)两个复数都从键盘输入。
(2)当两个复数分别为1 + 2i 和4 + 3i 时,结果如P3_2图所示。
P3_2图{范例3_3}复数的开方求复数z 的开整数次方。
[解析]复数开方的公式(棣莫佛公式)为1/1/2π||exp(i)n n kz z n θ+=,k = 0,…,n - 1(3_1_15)例如,对-8开三次方,由于-8 = 8exp(πi) = 8(cos π + isin π) = 8exp(i π)所以1/31/3π2π(8)8exp(i)3k+-=,k = 0,1,2当k = 0时,可得第1个根1/3πππ1(8)2exp(i)2[cos()+isin()]2(i 133322-===+=+当k = 1时,可得第2个根1/3π2π(8)2exp(i)2(cos πisin π)23+-==+=-当k = 2时,可得第3个根1/3π4π5π5π1(8)2exp(i)2[cos()isin()]2(i )133322+-==+=-=-第1个根与第第3个根互相共轭。
[程序]P3_3complex.m 如下。
%复数的开方clear %清除变量z=input('请输入复数(包括实数和虚数)z:');%键盘输入被开方数n=input('请输入被开方的整数n:'); %键盘输入开方次数r0=abs(z)^(1/n); %开方后的模th0=angle(z)/n; %开方后的主复角k=0:n-1; %整数向量th=th0+2*pi*k/n; %开方后的复角向量r=r0*exp(i*th); %开方后的向量figure %创建图形窗口plot(r0*exp(i*linspace(0,2*pi)),'--'); %画圆(1)axis equal %使坐标间隔相等grid on %加网格hold on %保持图像plot(r,'r*') %画点(2)plot(z^(1/n),'o') %画直接开方的点(3)o=zeros(1,n); %全零向量x=real(r); %各点横坐标y=imag(r); %各点纵坐标plot([o;x],[o;y]) %画线(4)fs=16; %字体大小text(x,y,num2str(r.',4),'FontSize',fs) %显示各点之值(5)xlabel('\itx','FontSize',fs) %横坐标ylabel('\ity','FontSize',fs) %纵坐标title('复数的开方','FontSize',fs) %标题txt=['\itz\rm=',num2str(z)]; %被开方数文本txt=[txt,',\itn\rm=',num2str(n)]; %连接指数文本txt=[txt,',\it\theta\rm_0=',num2str(th0*180/pi),'\circ'];%连接角度文本txt=[txt,',\itr\rm_0=',num2str(r0)]; %连接模文本text(0,0,txt,'FontSize',fs) %显示角度等文本[说明](1)利用复数画圆。