应用MATLAB符号积分实现复变函数积分运算

  • 应用MATLAB符号积分运算实现复变函数积分计算
    • 1. 解析函数的积分
    • 2. 一般复变函数的曲线积分

应用MATLAB符号积分运算实现复变函数积分计算

本文简单介绍如何应用MATLAB的符号运算功能,来实现复变函数积分。主要方法是将复变函数的积分问题化为定积分,然后应用MATLAB的符号运算完成有关定积分的计算。

1. 解析函数的积分

设解析函数(满足Cauchy-Riemann条件)为f(z)=u(x,y)+iv(x,y)f(z)=u(x,y)+{\rm i} v(x,y)f(z)=u(x,y)+iv(x,y),其中z=x+iyz=x+{\rm i} yz=x+iy ,积分上下限分别为z0=x0+iy0,z1=x1+iy1z_0=x_0 +{\rm i}y_0, z_1=x_1+{\rm i}y_1z0​=x0​+iy0​,z1​=x1​+iy1​,此时复变函数积分
I=∫z0z1f(z)dz=∫(x0,y0)(x1,y1)(u(x,y)+iv(x,y))d(x+iy)I=\int_{z_0}^{z_1}f(z){\rm d}z=\int_{(x_0,y_0)}^{(x_1,y_1)}(u(x,y)+{\rm i}v(x,y)) {\rm d}(x+{\rm i} y) I=∫z0​z1​​f(z)dz=∫(x0​,y0​)(x1​,y1​)​(u(x,y)+iv(x,y))d(x+iy)
将上式右边的实部和虚部分开,可得
I=∫(x0,y0)(x1,y1)u(x,y)dx−v(x,y)dy+i∫(x0,y0)(x1,y1)v(x,y)dx+u(x,y)dyI=\int_{(x_0,y_0)}^{(x_1,y_1)}u(x,y){\rm d}x-v(x,y){\rm d}y+{\rm i}\int_{(x_0,y_0)}^{(x_1,y_1)}v(x,y){\rm d}x+u(x,y){\rm d}y I=∫(x0​,y0​)(x1​,y1​)​u(x,y)dx−v(x,y)dy+i∫(x0​,y0​)(x1​,y1​)​v(x,y)dx+u(x,y)dy
因为f(z)f(z)f(z)为解析函数,积分与路径无关,将积分路径取为拆线路径。上式可化为4个定积分。
I=∫x0x1u(x,y0)dx−∫y0y1v(x1,y)dy+i(∫x0x1v(x,y0)dx+∫y0y1u(x1,y)dy)I=\int_{x_0}^{x_1}u(x,y_0){\rm d}x-\int_{y_0}^{y_1}v(x_1,y){\rm d}y+{\rm i}\left(\int_{x_0}^{x_1}v(x,y_0){\rm d}x+\int_{y_0}^{y_1}u(x_1,y){\rm d}y\right) I=∫x0​x1​​u(x,y0​)dx−∫y0​y1​​v(x1​,y)dy+i(∫x0​x1​​v(x,y0​)dx+∫y0​y1​​u(x1​,y)dy)

以上过程应用MATLAB符号运算实现,其代码如下

%创建符号变量x,y
syms x real;
syms y real;
z=x+i*y; % 创建复变量
f=z^2; % 定义复变函数,注意要求是解析函数z0=0; %给出积分下限
z1=3+3*i; %给出积分上限
complex_int(f,z0,z1) %应用积分函数complex_int进行积分运算%定义积分求解函数complex_int
function v_int=complex_int(f,z0,z1)
% 本积分计算函数求解符号积分
% f被积分函数
% z0,z1分别为积分上限和积分上限%定义函数内部的积分变量x,ysyms x real;syms y real;u=real(f); %提出被积函数实部v=imag(f); %提出被积函数虚部%提取积分上限和下限的实部及虚部   x0=sym(real(z0)); x1=sym(real(z1));y0=sym(imag(z0));y1=sym(imag(z1));    real_part=simplify(int(subs(u,y,y0),x,x0,x1)-int(subs(v,x,x1),y,y0,y1));%积分值的实部imag_part=simplify(int(subs(v,y,y0),x,x0,x1)+int(subs(u,x,x1),y,y0,y1));%积分值的虚部v_int=real_part+i*imag_part;% 返回得到的积分值
end

计算结果为

ans =
- 18 + 18i

2. 一般复变函数的曲线积分

设有向曲线C:
z=z(t)=x(t)+iy(t),(t0≤t≤t1),z=z(t)=x(t)+{\rm i}y(t), (t_0\leq t \leq t_1), z=z(t)=x(t)+iy(t),(t0​≤t≤t1​),
f(z)f(z)f(z)在曲线C上连续,则有
∫Cf(z)dz=∫t0t1f[z(t)]z′(t)dt\int_C f(z) {\rm d}z=\int_{t_0}^{t_1} f[z(t)]z'(t){\rm d}t ∫C​f(z)dz=∫t0​t1​​f[z(t)]z′(t)dt
或者
∫Cf(z)dz=∫t0t1Re{f[z(t)]z′(t)}dt+i∫t0t1Im{f[z(t)]z′(t)}dt\int_C f(z) {\rm d}z=\int_{t_0}^{t_1}{\rm Re}\{ f[z(t)]z'(t)\}{\rm d}t+{\rm i}\int_{t_0}^{t_1}{\rm Im}\{ f[z(t)]z'(t)\}{\rm d}t ∫C​f(z)dz=∫t0​t1​​Re{f[z(t)]z′(t)}dt+i∫t0​t1​​Im{f[z(t)]z′(t)}dt
这样,就可以将复积分化为两个定积分来表示。应用MATLAB符号积分,代码如下:

syms t real; %定义符号变量%积分曲线C参数方程为
x=t;
y=t^2;z=x+i*y;
dz=diff(z,t);
f=z^2; % 定义复变函数
%曲线C中参数t的变化范围tspan=[t0,t1]=[0,1]
complex_int(f,dz,[0,1])function v_int=complex_int(f,dz,tspan)
% 本积分函数实现复变函数在积分曲线C上积分计算
% f被积分函数,dz为导数dz/dt
% tspan为曲线C的参数方程中参数的取值区间syms t real;% 定义符号变量ref=real(f*dz);imf=imag(f*dz);t0=sym(tspan(1)); % 取出积分上限t1=sym(tspan(2)); % 取出积分上限real_part=simplify(int(ref,t,t0,t1)); %符号积分结果的实部imag_part=simplify(int(imf,t,t0,t1)); %符号积分结果的虚部v_int=real_part+i*imag_part;
end

计算结果为

ans =
- 2/3 + 2i/3

欢迎网友批评指正。

MATLAB符号运算实现复变函数积分相关推荐

  1. matlab求xk符号解,matlab符号运算习题

    matlab符号运算习题 第 3 讲 MATLAB 符号计算符号计算则是可以对未赋值的符号对象(可以是常数.变量.表达式)进行运算和处理.MATLAB 具有符号数学工具箱(Symbolic Math ...

  2. Matlab符号运算总结

    matlab符号运算功能强大,在帮一师兄校对矩阵推导的时候使用到.暂时没有仔细研究,做一个标记. http://blog.chinaunix.net/uid-20559667-id-1924747.h ...

  3. 第十一章:MATLAB:符号运算(符号与数值,符号矩阵)

    第十一章:MATLAB符号运算 11.1. 符号与数值 11.1.1. 符号与数值间的转换 实例-数值与符号转换 11.1.2. 符号表达式与数值表达式的精度设置 实例-魔方矩阵的数值解 实例-稀疏矩 ...

  4. matlab整理符号表达式,[2018年最新整理]MATLAB符号运算与符号方程求解.ppt

    [2018年最新整理]MATLAB符号运算与符号方程求解 MATLAB符号计算 1 符号对象 2 符号微积分 3 级 数 4 符号方程求解 9.1 符号对象 9.1.1 建立符号对象 1.建立符号变量 ...

  5. matlab符号函数绘图法_《MATLAB符号运算及其应用》(黄忠霖著).pdf

    <MATLAB符号运算及其应用>(黄忠霖著).pdf [General Information] 书名=MATLAB符号运算及其应用 作者=黄忠霖,黄京编著 页数=425 出版社=北京市: ...

  6. 数学建模学习笔记(19)Matlab符号运算

    % Matlab的符号运算% 1.符号变量的创建 % syms 符号变量名 % 注释:可以用一个syms语句同时创建多个变量 syms y; syms a b;% 2.符号方程的创建 % 符号方程可以 ...

  7. MATLAB符号运算(七)

    目录 1.实验目的: 2.实验内容: 1.实验目的: 1)掌握定义符号对象和创建符号表达式的方法: 2)掌握符号运算基本命令和规则: 3)掌握符号表达式的运算法则以及符号矩阵运算: 4)掌握符号微积分 ...

  8. matlab word几级标题,完整word版,MATLAB符号运算

    . 符号运算 科学计算包括数值计算和符号计算两种计算,数值计算是近似计算:而符号计算则是绝对精确的计算. 符号变量的生成和使用 1.符号变量.符号表达式和符号方程的生成 (1).使用sym函数定义符号 ...

  9. Matlab 符号运算 机器人正运动学DH 代公式

    通常算DH的时候需要先列DH参数表,再依次依据公式求T01,T12,T23,然后T03=T01*T12*T23 但是这最后一步T03=T01*T12*T23 非常麻烦,代公式容易代错,算4*4的矩阵相 ...

最新文章

  1. Docker Container同时启动多服务 supervisor
  2. cassandra框架模型之二——存储机制 CommitLog MemTable SSTable
  3. 消费者接收消息过程?
  4. linux history 看更多历史记录_Linux历史记录history常用技巧
  5. boost::math模块使用逆高斯(或逆正态)分布的示例
  6. python中random是什么意思_Python代码中的“importrandom”是什么意思?
  7. 【HNOI】 lct tree-dp
  8. oracle查询用户下所有表名称
  9. 三.apache 网页重写 squid
  10. jquery提交表单_jQuery提交表单
  11. Arduino IDE下载安装ESP8266/32慢的解决办法
  12. 姆町网络验证带壳内存取密钥
  13. 修饰器 TypeError: A() missing 1 required positional argument: ‘func‘
  14. GDK动态代理原理分析
  15. 视觉数据集是基于物体和风景标记的巨大的图像库
  16. XStream 转换 ListString的方法
  17. 打开一个浏览器跳转到2345浏览器主页 这里以Google为例 亲测已解决。
  18. mysql查看时区 go时区问题
  19. node+express 搭建商城项目(1-项目搭建)
  20. Qt接入阿里云SDK,OSS工程,实现头像上传,Mac和Win编译库文件。

热门文章

  1. 使用单片机AT89S52设计一台微型程控搅拌机
  2. 和汪峰共创音乐新世界,Wom音乐虚拟形象空投启动
  3. 骨密度中android区域,基于Android的超声骨密度测量软件的设计与实现
  4. css多行超出省略号(一行超出省略号)
  5. docker-compose 安装部署BSC
  6. layui的form表单提交数据,layui的select框默认选中
  7. 马上看懂各种内聚类型(逻辑内聚、过程内聚、顺序内聚)
  8. 基于SSH开发学院图书馆管理系统 课程设计 大作业 毕业设计
  9. 【vue】时间戳、中国标准时间等格式转换时间样式(yyyy-MM-dd)
  10. 光伏并网柜综合监测解决方案之防孤岛保护装置