c语言 单词变复数_一些复数运算的C语言实现

1 /*file ComplexCalculation.c2 *author Vincent Cui3 *e-mail whcui1987@163.com4 *version 0.15 *data 20-Oct-20146 *brief 用于复数运算的一些函数7 */

8

9

10 #include "ComplexCalculation.h"

11 #include "math.h"

12 #include "stdio.h"

13

14

15 /*函数名:complexAdd16 *说明:复数加法17 *输入:a,b两个复数18 *输出:19 *返回:a + b20 *调用:21 *其它:22 */

23 complexType complexAdd(complexType a, complexType b)24 {25 complexType result;26

27 result.Real = a.Real +b.Real;28 result.Imag = a.Imag +b.Imag;29

30 returnresult;31 }32

33 /*函数名:complexSubtract34 *说明:复数减法35 *输入:minuend被减数,subtrahend减数36 *输出:37 *返回:a - b38 *调用:39 *其它:40 */

41 complexType complexSubtract(complexType minuend, complexType subtrahend)42 {43 complexType result;44

45 result.Real = minuend.Real -subtrahend.Real;46 result.Imag = minuend.Imag -subtrahend.Imag;47

48 returnresult;49 }50

51 /*函数名:complexMultiply52 *说明:复数乘法53 *输入:a,b两个复数54 *输出:55 *返回:a * b56 *调用:57 *其它:58 */

59 complexType complexMultiply(complexType a, complexType b)60 {61 complexType result;62

63 result.Real = a.Real * b.Real - a.Imag *b.Imag;64 result.Imag = a.Imag * b.Real + a.Real *b.Imag;65

66 returnresult;67 }68

69

70 /*函数名:complexDivision71 *说明:复数除法72 *输入:dividend被除数,divisor除数73 *输出:74 *返回:a / b75 *调用:76 *其它:divisor的实部和虚部不能同时为077 */

78 complexType complexDivision(complexType dividend, complexType divisor)79 {80 complexType result;81

82 /*断言,被除数的实部和虚部不能同时为零*/

83 assert_param(IS_COMPLEX_DIVISOR_CORRENT(divisor.Real, divisor.Imag));84

85 result.Real = (mathDouble)(dividend.Real * divisor.Real + dividend.Imag * divisor.Imag) /\86 (divisor.Real * divisor.Real + divisor.Imag *divisor.Imag);87 result.Imag = (mathDouble)(dividend.Imag * divisor.Real - dividend.Real * divisor.Imag) /\88 (divisor.Real * divisor.Real + divisor.Imag *divisor.Imag);89 returnresult;90 }91

92 /*函数名:complexAbs93 *说明:复数取模94 *输入:a复数95 *输出:96 *返回:复数的模97 *调用:98 *其它:99 */

100 mathDouble complexAbs(complexType a)101 {102 return (sqrt( pow(a.Real,2) + pow(a.Imag,2) ));103 }104

105

106 /*函数名:complexAngle107 *说明:复数取相角108 *输入:a复数109 *输出:110 *返回:复数的相角111 *调用:112 *其它:113 */

114 mathDouble complexAngle(complexType a)115 {116 /*是atan2而非atan,(-PI,PI]*/

117 return(atan2(a.Imag, a.Real));118 }119

120 /*函数名:complexByAbsAngle121 *说明:通过模和相角合成复数122 *输入:r 模, theta 相角123 *输出:124 *返回:复数125 *调用:126 *其它:127 */

128 complexType complexByAbsAngle(mathDouble r, mathDouble theta)129 {130 complexType tmp_1,tmp_2;131

132 tmp_1.Real = 0;133 tmp_1.Imag =theta;134 tmp_2 =complexExp(tmp_1);135 tmp_2.Real *=r;136 tmp_2.Imag *=r;137

138 returntmp_2;139 }140

141 /*函数名:complexExp142 *说明:复指数运算143 *输入:a 复指数144 *输出:145 *返回:e的a次方146 *调用:147 *其它:使用欧拉公式 e^(jw) = cos(w) + j * sin(w)148 */

149 complexType complexExp(complexType a)150 {151 complexType result;152

153 result.Real = exp(a.Real) *cos(a.Imag);154 result.Imag = exp(a.Real) *sin(a.Imag);155

156 returnresult;157 }158

159

160 #if ASSERT_ENABLE

161 /*函数名:assert_failed162 *说明:断言函数163 *输入:164 *输出:打印出错的位置165 *返回:166 *调用:167 *其它:168 */

169 void assert_failed(mathUint_8*file, mathUint_32 line)170 {171 printf("Assert Error in File: %s \r\nLine: %d \r\n",file,line);172 }173

174 #endif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/442338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机考试前的心情作文,考试时的心情作文(七篇)

星期五,我们学校举行了期中考试。“叮铃铃,叮铃铃。”上课了,同学们立刻坐整齐,等待着老师的到来,教室里顿时变得鸦雀无声。一会儿,老师拿着试卷来了。我的心里立刻像有着小兔子一样,非常紧张。…

ts 模板库文件_在ts文件中使用模板引用变量的方法

ViewChildimport { Component, ViewChild, AfterViewInit } from angular/core;//假设的。这里引入你用到的table组件类import { TableComponent } from PrimeNGComponent({selector: app-xxx,templateUrl: ./xxx.component.html,styleUrls: [./xxx.component.css]})export cla…

计算机二级web程序设计习题,2015年计算机二级《Web程序设计》习题及答案(5)

一、单选题1、在超级链接中&#xff0c;如果指定___________框架名称&#xff0c;连接目标将在链接文本所在的框架页内出现&#xff0c;当前页面被刷新。(D)A、BlankB、SelfC、ParentD、Top2下面关于标记的说法不正确的是___________。(C)A、标记要填写在一对尖括号(<>)内…

消息队列_消息队列:kafka

概念kafka是一个分布式的基于发布/订阅模式的消息队列&#xff0c;主要用于大数据实时处理领域。要理解kafka首先要有分布式的概念&#xff0c;要有消息队列的概念。分布式系统最大的优势就是解耦和削峰&#xff0c;这种情况下&#xff0c;A系统生成了一个消息&#xff0c;B系统…

简单 局部 整体光照模型计算机图形学,计算机图形学北大光照模型.ppt

计算机图形学北大光照模型* 当来自光源和周围环境的入射光照射在景物表面上时&#xff0c;将有部分光被反射或透射&#xff1b; 在视线方向的反射或透射光&#xff0c;被观察者眼睛中的视觉细胞接收 人眼中的杆状及锥状细胞接收光线&#xff0c;产生视觉 * * Insulator:绝热体 …

kopernio显示无效程序_陆风路虎外观设计专利无效案一锤定音,最高法:陆风X7专利无效...

点击上方“华商报”可快速关注哦&#xff01;持续5年多的路虎、陆风外观设计专利有效性之争终于尘埃落定&#xff1a;华商报记者日前从代理律师处获悉&#xff0c;最高人民法院近日驳回了江铃控股有限公司的再审请求&#xff0c;这意味着&#xff0c;陆风X7的外观专利无效。陆风…

掩膜区域内像素值_MRI ADC值是怎么来的?咱们来手算一下

首发公众号“医影杂记”ADC&#xff08;Apparent diffusion coefficient&#xff09;&#xff0c;表观弥散系数&#xff0c;用于描述DWI序列中不同方向的分子扩散运动的速度和范围&#xff0c;是MRI DWI&#xff08;Diffusion-weighted imaging, 弥散加权成像&#xff09;中最常…

我的家计算机教学反思,《我的家》教学反思

文章来源初 中教师cz 91 0.cOm《我的家》是一篇表达对爸爸妈妈爱的短诗&#xff0c;在我上完课后并在黄老师的指导下得出了以下几点反思。首先是好的地方&#xff1a;一&#xff1a;识字教学对于一年级语文来说识字应该是很重要的环节&#xff0c;所以我在识字教学过程中充分渗…

计算机上的查找替换功能快速格式化,Word2013文档中使用查找和替换功能来快速更改文本格式的方法...

在对文档进行处理时灵活使用Word的查找和替换功能将能够取得事半功倍的效果。下面介绍Word2013文档中使用查找和替换功能来快速更改文本格式的方法。1、在“开始”选项卡中单击“编辑”组中的“替换”按钮&#xff0c;打开“查找和替换”对话框&#xff0c;切换到“替换”选项卡…

composer 依赖包版本冲突_composer快速入门教程

php中文网最新课程每日17点准时技术干货分享Composer 是 PHP 的一个依赖管理工具。我们可以在项目中声明所依赖的外部工具库&#xff0c;Composer 会帮你安装这些依赖的库文件&#xff0c;有了它&#xff0c;我们就可以很轻松的使用一个命令将其他人的优秀代码引用到我们的项目…

计算机少年宫辅导教师总结,微机兴趣小组活动总结

少年宫活动微机小组总结为了迎接新世纪的挑战&#xff0c;为了全面推行教育&#xff0c;培养学生全面发展&#xff0c;我们学校继上学期继续开展了丰富多彩的第二课堂兴趣小组&#xff0c;为那些有各种特长的学生了发展的机会&#xff0c;对他们进行了专业知识方面的系统训练&a…

python一个月能掌握吗_Python 从入门到精通:一个月足够了!

毫无疑问&#xff0c;Python 是当下最火的编程语言之一。对于许多未曾涉足计算机编程的领域「小白」来说&#xff0c;深入地掌握 Python 看似是一件十分困难的事。其实&#xff0c;只要掌握了科学的学习方法并制定了合理的学习计划&#xff0c;Python 从 入门到精通只需要一个月…

联想服务器开机引导,联想服务器怎么进入bios

联想电脑设置起来比较麻烦&#xff0c;除了快捷启动菜单比较方便&#xff0c;如果要用传统的方式进行设置&#xff0c;会有很多项要设置。那么你知道联想服务器怎么进入bios吗?接下来&#xff0c;学习啦小编跟你分享联想服务器进入bios的设置步骤图解。联想服务器进入bios的设…

boot lib分离 spring_SpringBoot打包分离依赖jar和资源文件

网上找了很多 maven-dependency-plugin 在我的电脑试了很多次都无法把依赖的jar独立下载到target/lib目录 暂时使用下面折中的方法 (缺点是每次修改依赖可能都需要重新执行默认sb的打包 以便手工拷贝jar)默认springboot打包配置为&#xff1a;samplesrc/main/java**/*.xmlsrc/m…

极品飞车ol服务器维护,《极品飞车OL》配件升级常见问题介绍

今天九游和大家讲解《极品飞车OL》配件升级常见问题介绍极品飞车OL游戏中&#xff0c;玩家们是需要不断使用配件加强自己的车辆来提升能力值。那么关于配件升级玩家们整体的有什么问题呢&#xff1f;下面小编也为大家带来了相关的介绍。感兴趣的玩家快来看看吧。《极品飞车OL》…

linq判断集合中相同元素个数_JavaSe集合的概念以及集合框架介绍

###集合今天任务1.概念1.1 集合的概念1.2 集合的框架结果介绍1.3 集合和数组的对比 2.Collection接口2.1 Collections中常用的方法 3.泛型3.1 什么是泛型3.2 泛型的声明3.3 说明3.4 泛型使用时的注意事项3.5 受限泛型3.6 泛型应用在集合上 4.Iterator迭代器4.1 迭代器的工作原理…

vue页面取ajax返回值,Vue前端交互模式、Promise用法(回调地狱)

Promise 概述Promise 是异步编程的一种解决方案&#xff0c;从语法上讲&#xff0c;Promise 是一个对象&#xff0c;从它可以获取异步操作的消息。优点&#xff1a;可以避免多层异步调用嵌套问题(回调地狱)Promise 对象提供了简洁的 API&#xff0c;使得控制异步操作更加容易Pr…

华为手机获取状态栏高度是错误的_你的华为手机状态栏有HD图标吗?这又代表着什么?看完你就懂了...

平时比较细心的朋友应该都发现了&#xff0c;华为手机的状态栏(信号栏)有个"HD"图标。有些朋友看到这个图标&#xff0c;可能会担心自己手机是不是出问题了&#xff1f;会不会对手机有什么影响&#xff1f;能不能把它关闭&#xff1f;下面就给大家解惑。1. "HD&…

ext.ajax.request跨域,跨域Ajax访问header中 x-requested-with丢失

前端调用后端接口&#xff0c;本域情况下&#xff0c;ajax方式调用&#xff0c;request header中包含x-requested-with信息。跨域情况下&#xff0c;request header中不再包含x-requested-with。说明&#xff1a;1.前端ajax封装的jquery的$.ajax方法。2.后端header相关设置已允…

bread是可数还是不可数_可数名词不可数名词分不清?出题老师告诉你方法

我是瓶子老师。我有10多年初中英语教学经验&#xff0c;参与过中考一模、二模命题&#xff0c;同时我也是《学生双语报》的撰稿人&#xff0c;为本市超过5万名中考生出过中考模拟试题。在初中英语的学习过程中&#xff0c;我们会讲到可数名词和不可数名词。很多同学总是记不住哪…