数学建模matlab学习

发布 2023-05-18 00:59:28 阅读 6466

第六章复数数据、字符数据和附加画图类型 3

6.1 复数数据 3

6.1.1 复变量(complex variables) 4

6.1.2 带有关系运算符的复数的应用 4

6.1.3 复函数(complex function) 5

1. 类型转换函数 5

2. 绝对值和幅角函数 5

3. 数学函数 5

例6.1 6

6.1.4 复数数据的作图 7

6.2 字符串函数(string functions) 11

6.2.1 字符转换函数 11

6.2.2 创建二维字符数组 12

6.2.3 字符串的连接 12

6.2.4 字符串的比较 13

6.2.5 在一个字符串中查找/替换字符 14

6.2.6 大小写转换 15

6.2.7 字符串转换为数字 16

6.2.8 数字转化为字符串 16

例6.2 18

6.3 多维数组 21

6.4 关于二维作图的补充说明 23

6.4.1 二维作图的附加类型 23

6.4.2 作图函数 27

6.4.3 柱状图 28

6.5 三维作图 28

6.5.1 三维曲线作图 29

6.5.2三维表面,网格,等高线图象 30

6.6 总结 33

6.6.1 好的编程习惯总结 33

6.6.2 matlab函数与命令总结 33

6.7 练习 34

在第二章中,我们学习了matlab基础数据类型:double和char。matlab还有许多的附加数据类型,在本章,我们将会了解它们中的一个。

我们要讨论的附加数据类型是matlab支持的复数数据。我们也将学习如何使用char数据类型,以及如何把matlab数组扩展为多维数组。

本章还会涉及到matlab的附加画图类型。

复数是指既包含实部又包含虚部的数。复数出现在许多的科研工作问题上。例如,在电器工程中,我们可以用复数代表交变电压,交变电流和阻抗。

描述电器系统行为的公式经常用到复数。因为这是非常常见的,作为一个程师如果没有很好理解和运用复数,它无法工作。

复数的一般形式如下:

c=a+bi

其中c为复数,a和b均为实数,i代表。a,b分别为c的实部和虚部。由于复数有两个部分,所以它能在平面内标出。

这个平面的横轴是实轴,纵轴是虚轴,所以复数在这个平面内为一个点,横轴为a,纵轴为b。用上面的方式表示一个复数,叫做直角坐标表示,为坐标的横轴与虚轴分别代表复数的实部与虚部。

复数有在一平面内另一种表达方式,既极坐标表示,公式如下,c = a + bi = z∠θ

其中z代表向量的模,θ代表辐角。直角坐标中的a,b和极坐标z,θ之间的关系为。

a = z cos6.2)

b = z sin6.3)z6.4)

图6.1 直角坐标系中复数。

图6.2 极坐标系中复数。

matlab用直角坐标表达复数。每一个复数应有一对实数(a,b)组成。第一个数(a)代表复数的实部,第二个数(b)代表复数的虚部。

如果复数c1=a1+b1i和复数c2=a2+b2i,那么它们的加减乘除运算定义如下。

c1 + c2 = a1 + a2) +b1 + b2)i6.6)

c1 - c2 = a1 - a2) +b1 - b2)i6.7)

c1 × c2 = a1a2 - b1b2) +a1b2 + b1a2)i6.8)

当两个复数进行二元运算,matlab将会用上面的法则进行加法,减法,乘法和除法运算。

当复数值赋值于一个变量名,matlab将自动创建一个复变量。创建复数的最简单方法是用matlab本自带的因有变量i或j,它们都被预定义为。例如下面的语句将复数4+3i赋值于c1。

> c1 = 4 + 3*i

c1 =4.0000 + 3.0000i

函数isreal可以判断一个数组包是实数组还是复数组。如果一个数组中的所有元素只有虚部,那么这个数组是复数组,并且isreal(array)将会返回一个0。

用关系运算符==来判断两复数是否相等,或用关系运算符~=判断两复数是否不相等,这种情况是可能的。这些运算都会产生出我们所期望的结果。例如,如果c1=4+3i和c2=4-3i,那么关系运算c1==c2将会产生0,关系运算c1~=c2将会产生1。

但是,比较运算符》,<或》=将不会产生我们所期望的结果。当复数进行此类关系运算时,只对复数的实部进行比较。例如,如果c1=4+i3和c2=4+i8,那么比较运算c1>c2将会产生1,尽管c1的模要比c2的模小。

如果我们需要用这些运算对两复数进行比较,我们更加关心的是两复数的模,而不只是实部。复数的模可以由abs固有函数计算得到(在下一节介绍,或者由公式(6.4)得到)。

如果我们对两复数进行比较,得到的结果将更加合理。abs(c1)>abs(c2)将会产生0,因为c1的模大于c2的模。

常见编程错误。

当我们应用关系运算符对复数运算时,一定要小心。关系运算符》,<或》=只比较复数的实部,而不是它们的模。如果你要用这些关系运算符对一复数进行运算,比较两复数的模将更加常见。

matlab中有许多的函数支持复数的运算。这些函数可分为三大类。

这些函数把数据从复数据类型转换为实数数据类型(double)。函数real将复数的实部转化为double型数据,把复数的虚部抛弃。函数imag把函数的虚部转化为相应的实数。

表6.1 常见的支持复数运算的matlab函数。

这些函数把复数转化它的极坐标形式。函数abs(c)用于计算复数c相应的绝对值,公式如下。

其中c=a+bi。函数angle(c)用下面的公式计算复数c的幅角。

angle(c)=atan2(imag(c), real(c))

由它产生的角的取值范围为-π<

许多的数函数都可以对复数进行运算。这些函数包括指数函数,对数函数,三角函数,还有平方根函数。函数sin,cos,log,sqrt等既能对复数数据进行运算,又能对实数据进行运算。

MATLAB数学建模算法学习笔记

关于matlab的数学建模算法学习笔记。目录。线性规划中应用 3 非线性规划 3 指派问题 投资问题 0 1问题 3 1 应用fmincon命令语句 3 2 应用指令函数 bintprog 5 重新整理矩阵类型 6 1 应用reshape 6 2 应用命令 nonzeros 7 非线性的最小值得求法...

数学建模matlab作业

数统应数 20121323003 王妍。数统应数 20121323022 胡可旺。1 生成5阶矩阵,使其元素满足均值为1,方差为4的正态分布 y 1 sqrt 4 randn 5 结果 2,生成一个20行5列矩阵a,其元素分别以概率 2取自 这三个整数,然后将 删除a的全零行 之后的结果赋给矩阵b ...

数学建模Matlab练习

matlab练习四。1.绘制两个一元函数的曲线图 例如y sin x y cos x 加上标注说明,包括坐标 抬头 曲线说明等。x 0 pi 30 2 pi y sin x plot x,y,ob markersize 10 hold on y1 cos x plot x,y1,markersize...