Chapter2.4:复数和复变函数运算

article/2025/9/24 8:15:01

该系列博客主要讲述Matlab软件在自动控制方面的应用,如无自动控制理论基础,请先学习自动控制系列博文,该系列博客不再详细讲解自动控制理论知识。
自动控制理论基础相关链接:https://blog.csdn.net/qq_39032096/category_10287468.html?spm=1001.2014.3001.5482
博客参考书籍:《MATLAB/Simulink与控制系统仿真》。



4.复数和复变函数运算

4.1 复数运算基础
  1. 复数的一般表示

    • M A T L A B {\rm MATLAB} MATLAB是以 i {\rm i} i j {\rm j} j表示虚部复数运算;

    • 一个复数可以表示为: x = a + b i {\rm x=a+bi} x=a+bi,其中: a {\rm a} a为实部, b {\rm b} b为虚部;

    • 复指数形式: x = r e i θ {\rm x=re^{i\theta}} x=reiθ,其中: r {\rm r} r为复数的模,记为 ∣ x ∣ {\rm |x|} ∣x∣ θ {\rm \theta} θ为复数的幅角,记为 a r c t a n ( x ) {\rm arctan(x)} arctan(x),满足关系:
      r = a 2 + b 2 , tan ⁡ θ = b a r=\sqrt{a^2+b^2},\tan\theta=\frac{b}{a} r=a2+b2 tanθ=ab

    • 一般形式适合处理复数的代数运算,复指数形式适合处理复数旋转等涉及幅角改变的问题;

    • 构造复数的方法:

      • 直接构造复数:用符号 i {\rm i} i j {\rm j} j表示复数单位,将复数看成完整的一个表达式输入;
      • 用符号函数法构造复数:将复数看成函数形式,其实部和虚部看成自变量,用 s y m s {\rm syms} syms构造,用 s u b s {\rm subs} subs对符号函数中自变量进行赋值;
    • 实例:

      % example2_4.m
      clc;% 直接法构造
      image_number1=-1+i;     % 实部虚部形式;
      image_number2=sqrt(2)*exp(i*(3*pi/4));  % 复指数形式;image_number1,image_number2% 符号函数法构造
      syms a b real;
      image_number3=a+b*i;    % 实部虚部形式;
      image_number3=subs(image_number3,{a,b},{-1,1});syms r ct real;
      image_number4=r*exp(ct*i);  % 复指数形式;
      image_number4=subs(image_number4,{r,ct},{sqrt(2),3*pi/4});image_number3,image_number4
      
      % 结果显示:
      image_number1 = -1.0000 + 1.0000i
      image_number2 = -1.0000 + 1.0000i 
      image_number3 = - 1 + 1i 
      image_number4 = - 1 + 1i
      
  2. 复数矩阵的表示

    • 复数矩阵的每个元素都是复数,创建复数矩阵方法:直接创建、利用符号函数创建。

    • 复数矩阵直接创建的两种方法:由复数元素构造复数矩阵、利用两个矩阵分别构建实部和虚部构造新的复数矩阵;

    • 实例:

      % example2_5.m
      clc;% 直接由元素构造复数矩阵
      matrix1=[sqrt(2)*exp((pi/4)*i) 1+2i 1+3i;sqrt(2)*exp((-pi/4)*i) 1-2i 1-3i];% 分别由实部、虚部构造复数矩阵
      matrix_re=[1 1 1;1 1 1];
      matrix_im=[1 2 3;-1 -2 -3];
      matrix2=matrix_re+matrix_im*i;matrix1,matrix2
      
      % 结果显示:
      matrix1 =1.0000 + 1.0000i   1.0000 + 2.0000i   1.0000 + 3.0000i1.0000 - 1.0000i   1.0000 - 2.0000i   1.0000 - 3.0000imatrix2 =1.0000 + 1.0000i   1.0000 + 2.0000i   1.0000 + 3.0000i1.0000 - 1.0000i   1.0000 - 2.0000i   1.0000 - 3.0000i
      
  3. 复数绘图

    • 复数函数的绘图形式:直角坐标图,即分别以复数的实部和虚部为坐标画出复数的表示图;极坐标图,即分别以复数的模和幅角为坐标画图;

    • 实例:

      % example2_6.m
      clc;t=0:0.01:2*pi;
      y=2*t+i*t.*sin(t);
      r=abs(y);delta=angle(y);subplot(1,2,1);
      plot(y);grid;
      set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
      set(gca, 'GridAlpha', 1);  % 设置透明度
      title('直角坐标图');subplot(1,2,2);
      polarplot(delta,r);
      set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
      set(gca, 'GridAlpha', 1);  % 设置透明度
      title('极坐标图');
      

      1

  4. 复数的结构操作函数

    函数名功能说明函数名功能说明
    r e a l ( A ) {\rm real(A)} real(A)求复数或复数矩阵 A {\rm A} A的实部 a b s ( A ) {\rm abs(A)} abs(A)求复数或复数矩阵 A {\rm A} A的模
    i m a g ( A ) {\rm imag(A)} imag(A)求复数或复数矩阵 A {\rm A} A的虚部 a n g l e ( A ) {\rm angle(A)} angle(A)求复数或复数矩阵 A {\rm A} A的相角,单位:弧度
    c o n j ( A ) {\rm conj(A)} conj(A)求复数或复数矩阵 A {\rm A} A的共轭
4.2 拉普拉斯变换及反变换
拉普拉斯变换函数语法格式:
L=laplace(F)函数说明:
F:时域函数表达式,约定的变量是t,得到的拉氏变换函数是L(s);拉普拉斯反变换函数语法格式:
F=ilaplace(L)Tips:
符号变量设置函数syms语法格式:
syms arg1 arg2 ...	函数说明:
用于设置符号运算的变量arg1,arg2等;若需要说明变量数据类型,语法格式:
syms arg1 arg2 ... datatype函数说明:
datatype:real(实型)、positive(整型)、unreal(非实型)

实例:求函数 f 1 ( t ) = sin ⁡ ω t , f 2 ( t ) = cos ⁡ ω t f_1(t)=\sin\omega{t},f_2(t)=\cos{\omega{t}} f1(t)=sinωtf2(t)=cosωt的拉氏变换。

% example2_7.m
clc;
syms w s t;
f1=sin(w*t);
f2=cos(w*t);L1=laplace(f1);
L2=laplace(f2);L1,L2
% 结果显示(可查表):
L1 = w/(s^2 + w^2) 
L2 = s/(s^2 + w^2)

实例:求函数 F 1 ( s ) = ω s 2 + ω 2 , F 2 ( s ) = s s 2 + ω 2 F_1(s)=\displaystyle\frac{\omega}{s^2+\omega^2},F_2(s)=\displaystyle\frac{s}{s^2+\omega^2} F1(s)=s2+ω2ωF2(s)=s2+ω2s的拉氏反变换。

% example2_8.m
clc;
syms w s t;
F1=w/(s^2 + w^2);
F2=s/(s^2 + w^2);f1=ilaplace(F1);
f2=ilaplace(F2);f1,f2
% 结果显示:
f1 = sin(t*w) 
f2 = cos(t*w)
4.3 Z变换及其反变换
Z变换语法格式:
F=ztrans(f):函数返回独立变量n关于符号向量f的Z变换函数;
F=ztrans(f,w):函数返回独立变量n关于符号向量f的Z变换函数,用w代替默认的z;
F=ztrans(f,k,w):函数返回独立变量n关于符号向量k的Z变换函数;Z反变换语法格式:
f=iztrans(F):函数返回独立变量z关于符号向量F的Z反变换函数;
f=iztrans(F,k):函数返回独立变量k关于符号向量F的Z反变换函数,用k代替默认的z;
f=iztrans(F,w,k):函数返回独立变量w关于符号向量F的Z反变换函数;

实例:求解函数 f 1 ( t ) = t 、 f 2 ( t ) = e − a t 、 f 3 ( t ) = sin ⁡ ( a t ) f_1(t)=t、f_2(t)={\rm e}^{-at}、f_3(t)=\sin(at) f1(t)=tf2(t)=eatf3(t)=sin(at) Z Z Z变换。

% example2_9.m
clc;
syms n a w k z T;   % T为周期变量;
x1=ztrans(n*T);x1=simplify(x1);
x2=ztrans(exp(-a*n*T));x2=simplify(x2);
x3=ztrans(sin(w*a*T),w,z);x3=simplify(x3);x1,x2,x3
% 结果显示:
x1 = (T*z)/(z - 1)^2  
x2 = z/(z - exp(-T*a))  
x3 = (z*sin(T*a))/(z^2 - 2*cos(T*a)*z + 1)

实例:求解函数 F 1 ( s ) = 1 s ( s + 1 ) 、 F 2 ( s ) = s s 2 + a 2 、 F 3 ( s ) = a − b ( s + a ) ( s + b ) F_1(s)=\displaystyle\frac{1}{s(s+1)}、F_2(s)=\displaystyle\frac{s}{s^2+a^2}、F_3(s)=\displaystyle\frac{a-b}{(s+a)(s+b)} F1(s)=s(s+1)1F2(s)=s2+a2sF3(s)=(s+a)(s+b)ab Z Z Z变换。

% example2_10.m
clc;
syms s n t1 t2 t3 a b k z T;% 对函数进行拉氏反变换
x1=ilaplace(1/s/(s+1),t1);x1=simplify(x1);
x2=ilaplace(s/(s^2+a^2),t2);x2=simplify(x2);
x3=ilaplace((a-b)/(s+a)/(s+b),t3);x3=simplify(x3);% x1,x2,x3
% x1 = 1 - exp(-t1) 
% x2 = cos(a*t2) 
% x3 = exp(-b*t3) - exp(-a*t3)% 对函数进行Z变换
z1=ztrans(1-exp(-n*T));z1=simplify(z1);
z2=ztrans(cos(a*n*T));z2=simplify(z2);
z3=ztrans(exp(-b*n*T)-exp(-a*n*T));z3=simplify(z3);z1,z2,z3
% 结果显示:
z1 = z/(z - 1) - z/(z - exp(-T)) 
z2 = (z*(z - cos(T*a)))/(z^2 - 2*cos(T*a)*z + 1) 
z3 = z/(z - exp(-T*b)) - z/(z - exp(-T*a))

实例:求函数 F 1 ( z ) = 2 z 2 − 0.5 z z 2 − 0.5 z − 0.5 、 F 2 ( z ) = z + 0.5 z 2 + 3 z + 2 F_1(z)=\displaystyle\frac{2z^2-0.5z}{z^2-0.5z-0.5}、F_2(z)=\displaystyle\frac{z+0.5}{z^2+3z+2} F1(z)=z20.5z0.52z20.5zF2(z)=z2+3z+2z+0.5 Z Z Z反变换。

% example2_11.m
clc;
syms z a k T;z1=iztrans((2*z^2-0.5*z)/(z^2-0.5*z-0.5));z1=simplify(z1);
z2=iztrans((z+0.5)/(z^2+3*z+2));z2=simplify(z2);z1,z2
% 结果显示:
z1 = (-1/2)^n + 1 
z2 = (-1)^n/2 - (3*(-2)^n)/4 + kroneckerDelta(n, 0)/4

http://chatgpt.dhexx.cn/article/8xR1TYVv.shtml

相关文章

信号与系统分析中的复变函数

动态图片来自于: ShutterStock 网站 . 01 教程规划 1.1 背景介绍 针对于信号与系统分析 课程学习的同学,由于之前没有先修过课程复变函数 ,则会在后面信号与系统理论学习中缺少复变函数相关理论支持。为了帮助这部分同学及时补充上复变函数相…

matlab复变函数应用,matlab在复变函数中的一些应用修改后的.doc

matlab在复变函数中的一些应用修改后的.doc MATLAB语言课程论文MATLAB在复变函数中的一些应用姓名刘乐学号12013241953专业通信工程班级2013级通信2班指导老师朱瑜红学院物理电气性息学院完成日期2013年11月9日MATLAB在复变函数中的一些应用刘乐120132419532013级通信2班【摘要…

复变函数与积分变换matlab,matlab在复变函数与积分变换的应用

matlab在复变函数与积分变换的应用 本科毕业论文题目: MATLAB在复变函数与积分变换的应用 学院: 数学与计算机科学学院 班级: 数学与应用数学2009级班 姓名: 指导教师: 职称: 副教授 完成日期:…

复变函数与积分变换

复变函数与积分变换 一、拉普拉斯变换1.拉氏变换的性质a.线性性质b.相似性质c.微分性质例子例子 拉式变换 象函数的微分性质例子例子 积分性质象函数的积分性质例子例子 延迟性质位移性质拉氏变换的应用 一、拉普拉斯变换 1.拉氏变换的性质 a.线性性质 b.相似性质 pygame ursi…

unigui美化界面源码框架

对于delphier来说,顺应互联网时代,用delphi开发web程序,一直是一个很头痛的问题,以往开发delphi程序往往不需要前端和美工参与。但在ui界面上要想漂亮,需要配合和学习css、JS和美工知识,所以很多人会放弃。…

【一起学UniGUI】--UniGUI的界面与程序架构(4)

1、【统一的界面】 uniGUI是统一的图形用户界面,简称统一GUI。之所以称为统一的是因为它在所有带有Web浏览器的设备中提供了相同的UI体验。无论设备、操作系统、CPU和显示器是什么,在所有具有兼容Web浏览器的设备上,用户体验都是相同…

【一起学UniGUI】--创建新的uniGUI应用程序(11)

打开Delphi 10.3.1,在Delphi IDE中可以通过uniGUI应用程序向导轻松创建一个新的uniGUI应用程序(必须通过此方式来创建一个新的uniGUI应用程序),并按向导界面提示操作。(一)、使用uniGUI应用程序向导创建一个新的uniGUI应用程序&am…

(1)uniGUI for C++ builder网站开发之uniGUI控件安装和你好世界

uniGUI for CBuilder网站开发之uniGUI控件安装和你好世界 By runsky中行雷威 2018.2.5 (同一个世界,同一个梦想,交流学习CBuilder XE10,传承cbuilder的魅力!欢迎各地朋友加入我的QQ群299497712,860634510、484979943…

uniGUI之UniDBGrid

uniDBGrid的相关样式设置 1.自适应列宽 代码如下(示例): function store.load(sender, records, successful, operation, eOpts) {sender.grid.columnManager.columns.forEach(function(col){col.autoSize()}) }2.显示page当前记录及总记录…

unigui 脚本交互

http://blog.sina.com.cn/s/blog_44fa172f0102vsv0.html 【转】如何在html与delphi间交互代码 (2015-11-19 22:16:24) 转载▼ 标签: it 分类: uniGUI uniGUI总群中台中cmj朋友为我们总结了如下内容,对于利用delphiuniGUI开发应用&#xf…

基于UniGUI的管理系统

1.界面略图。 2.仅通过数据库即可二次开发,支持多个服务,多个数据库开发,轻松几步配置即可轻松打造任意管理类系统。 3.三层结构,支持多种数据库。 4.支持hyper_sever负载均衡。 5.dll扩展支持已开发成功。你可以使用此框架同时…

提高unigui开发效率的两个方法

1、编译时自己退出运行的程序。 在做unigui开发时,每次编译运行时,unigui的应用都会在后台运行,每次重新编译时都必须手工在任务栏里将应用退出才行,非常麻烦,可以在项目编译的参数里加上杀进程的命令,这样…

unigui使用技巧

1、编译时原程序在运行无法重新形成 在做unigui开发时,每次编译运行时,unigui的应用都会在后台运行,每次重新编译时都必须手工在任务栏里将应用退出才行,非常麻烦,可以在项目编译的参数里加上杀进程的命令,…

delphi10.4使用uniGUI

从csdn下载了uniGUI的1.90.0.1555版本:uniGUI_Professional_1.90.0.1555.rar_unigui-Web服务器文档类资源-CSDN下载 编译时还是找不到某些源码文件如:uniStrUtils.pas,ext.pas.............. 但是没关系,用里面的\Framework\uni…

uniGUI概述

uniGUI 在DELPHI 10 IDE 中的应用 在浏览器中运行的 Web 应用程序 在浏览器地址栏中 , 键入以下 URL: http://localhost:8077 uniGUI 在智能手机上运行的 web 应用程序

uni-ui的使用

uni-ui的使用 当uni-app提供的基础组件不够使用时,比如像日历组件是基础组件没有的,这个时候我们就可以从uni-ui中去找我们要的日历组件,uni-ui类似于elemnet,antd vue一样是个组件库。 uni-ui官方文档 1、进入日历宫格组件 2、使…

【一起学UniGUI】--UniGUI的部署选项(5)

uniGUI支持Windows平台下所有主要部署选项。 1.Standalone Server (独立服务器) 最简单的部署方法是独立服务器。在这种模式下,应用程序服务器像桌面应用程序一样直接运行。它也是用于调试应用程序的模式。运行应用程序可执行文件后(它是一个EXE文件)&#xff0c…

用unigui来制作网站

主要是uni控件的布局应用、css样式的使用,以及组装一些js插件,去除unigui的加载动画,等控件的默认效果。 直接从SqlServer数据库中读取栏目、内容和网页参数信息。 头部和尾部使用框架形式,直接继承基类页面后,修改中间…

uni-UI

<view class"delet" click"delets">删除</view>.delet {border: 1px solid #e3e3e3;padding: 4rpx 18rpx;font-size: 26rpx;border-radius: 10rpx;}<button class"btn" click"payfor" type"primary">确认…

FMSoft uniGUI Professional 1.90.0.1564 Crack

uniGUI Web 应用程序框架将 Web 应用程序开发体验扩展到一个新的维度。uniGUI使Delphi开发人员能够使用一组独特的可视化组件在 IDE 中创建、设计和调试 Web 应用程序。每个组件都旨在提供与 Delphi VCL 中对应的可视化组件相同的功能。这提供了一个非常舒适的开发环境&#xf…