matlab_matlab介绍 - CSDN
matlab 订阅
MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。 [1]  MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。 [1]  MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。 展开全文
MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。 [1]  MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。 [1]  MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
信息
开发商
MathWorks.Inc [2]
软件授权
MathWorks.Inc
软件名称
MATLAB
更新时间
2020-06-11
软件版本
R2020a [3]
软件平台
Windows/MacOS/Linux等
软件语言
C
软件大小
216.77M
MATLAB功能特性
·MATLAB®: MATLAB 语言的单元测试框架   ·Trading Toolbox™: 一款用于访问价格并将订单发送到交易系统的新产品  ·Financial Instruments Toolbox™: 赫尔-怀特、线性高斯和 LIBOR 市场模型的校准和 Monte Carlo 仿真  ·Image Processing Toolbox™: 使用有效轮廓进行图像分割、对 10 个函数实现 C 代码生成,对 11 个函数使用 GPU 加速  ·Image Acquisition Toolbox™: 提供了用于采集图像、深度图和框架数据的 Kinect® for Windows®传感器支持  ·Statistics Toolbox™: 用于二进制分类的支持向量机 (SVM)、用于缺失数据的 PCA 算法和 Anderson-Darling 拟合优度检验  ·Data Acquisition Toolbox™: 为 Digilent Analog Discovery Design Kit 提供了支持包  ·Vehicle Network Toolbox™: 为访问 CAN 总线上的 ECU 提供 XCPSimulink 产品系列重要功能  ·Simulink®: Simulation Performance Advisor,链接库模块的封装,以及通过逻辑表达式控制有效变量  ·Simulink: 除 LEGO® MINDSTORMS® NXT、Arduino®、Pandaboard 和 Beagleboard 外,还为 Raspberry Pi™ 和 Gumstix® Overo® 硬件提供了内置支持  ·SimRF™: 针对快速仿真和模型加载时间的电路包络求解器  ·SimMechanics™: 发布了用于从 CAD 和其他系统导入模型的 XML 架构  ·Simulink Design Verifier™: 数组超出边界检查  MATLAB 和 Simulink 的系统工具箱  ·Communications System Toolbo Sphere 解码器和 Constellation 框图系统对象  ·Computer Vision System Toolbox™: 相机标定,立体视觉,Viola-Jones 对象检测培训,FREAK 特征提取和其他新函数  ·DSPSystem Toolbox™: 频谱分析仪和逻辑分析示波器,以及时域示波器的触发·Phased Array System Toolbox™: 极化支持、数组锥化以及针对传感器数组分析、波形分析和雷达方程计算的应用程序代码生成和实现  ·Simulink Coder™: 减少了从 Stateflow® 调用的 Simulink 函数的数据副本  ·Fixed-Point Designer™: 一款结合了 Fixed-Point Toolbox™ 和 Simulink Fixed Point™ 功能的新产品  ·HDL Verifier™: 从 MATLAB 生成 HDL 测试工作台
收起全文
精华内容
参与话题
  • MATLAB基础入门课程

    千人学习 2019-11-21 10:30:22
    MATLAB基础入门课程,系统介绍MATLAB的基础知识。 主要从数组、运算、结构和绘图等几方面进行讲解 简单易懂,轻松入门MATLAB
  • MATLAB零基础入门教程

    万人学习 2019-12-09 16:38:29
    MATLAB零基础入门教程,主要介绍数组和矩阵、数据类型和M文件设计等。很详细地介绍了MATLAB语言的基础知识。 本课程的特点是内容系统全面,条理清晰,并且内容比较新,讲了表、时间表等新的数据类型。
  • matlab经典题目

    2020-07-30 23:33:24
    matlab经典题目,老师上课的时候给的,后续再发具体程序。matlab经典题目,老师上课的时候给的,后续再发具体程序。matlab经典题目,老师上课的时候给的,后续再发具体程序。
  • Matlab小白入门必备教程

    千人学习 2020-07-13 15:13:46
    MATLAB 是一种用于算法开发、数据可视化、数据分析以及数值计算的高级计算语言和交互式环境,本课程将深入浅出讲解 MATLAB 的基本操作、MATLAB 编程和绘图等。          
  • MATLAB(一)——软件及基本操作介绍

    万次阅读 多人点赞 2019-04-23 15:27:57
    一、MATLAB软件介绍 1.matlab的界面 左上角,home标签下,找到layout进行设置/复位,可以设置各板块的显示与隐藏。其中有几个部分,请务必要显示①Current Folder:中文一般翻译成工作路径,一般设置成一个自己...

    一、MATLAB软件介绍

    1.matlab的界面

     左上角,home标签下,找到layout进行设置/复位,可以设置各板块的显示与隐藏。其中有几个部分,请务必要显示
    ①Current Folder:中文一般翻译成工作路径,一般设置成一个自己建立的、有读写权限的文件夹,例如我的文档下建立一个matlab文件夹
    ②Command Window:字面意思是命令窗口,用来运行代码,所有的代码都是在这里输入

    ③Workspace:字面意思是工作空间,其实就是暂存所有运行结果的地方,“暂”的具体含义是:关闭matlab后丢失

    2.软件中的基本概念

    2.1 函数

     

        matlab之所以强大,就是因为提供大量的函数,你也可以建立自定义函数,方法是:Home->New->function。自定义函数一般保存在工作路径下。函数文件的特征是:扩展名m,内容的第一行以function开头,后续内容是“输出变量=函数名(输入变量)”。且函数名和文件名相同。
        每个函数在Command Window中运行,用来完成特定的计算任务,运行方式是输入“输出变量=函数名(输入变量)”,然后按回车。例如有个系统自带的函数是用来求绝对值的,函数名abs,所以在Command Window里输入“a=abs(-1)”,就会显示运算结果为“a=1”。且运算结果会在Workspace里出现一个变量a,双击后可看到a的值是1。

     

    2.2 脚本

        可以理解为特殊的函数,这种函数内容的开头没有function那行,因此没有输入、输出变量,也没有函数名。文件扩展名和函数一样是m,也需要在Command Window里运行。脚本都是用户建立的,方法是:Home->New Script。一般保存在工作路径下。脚本的功能就是完成用户需要的、复杂的计算任务,通常脚本里会调用很多函数。

    2.3 GUI

     

        一般翻译为界面,就是人机交互界面的意思。写脚本处理问题的方法有点麻烦,让人看起来更像是码农,所以现在很多问题可以通过界面点点鼠标解决。这时候就需要打开界面,打开方法是:在APPS标签里可以找到所有已安装的GUI工具,单击即可。注意右边有个小三角可以点开。和函数一样,用户也可以自己建立自定义GUI,这部分较为复杂,对新手而言有点遥远。

     

    2.4 toolbox

     

        一般翻译成工具箱,matlab将功能相近或者应用上自成体系的一组函数和GUI打包成一个toolbox。正版的matlab在购买时,几乎每一个toolbox都是要单独收费的,所以toolbox也可以理解为matlab产品的模块,一个工具箱就是一个产品/商品。

     

    2.5 simulink

     

        一般用matlab解决问题的过程是:用户自定义脚本,在Command Window里运行脚本。而脚本的运行逻辑是顺序执行,和一般的编程一样。simulink则提供另一种思路,图形化编程,有点像labview,这种方法很适合于物理模型的仿真,因此有时用“matlab编程”和“simulink仿真”强调。使用方法是在home标签下点击simulink。

     

    3.获得帮助

     

        常用的获得帮助有四种方法

     

    右上角home标签里,有个Help标志,点开后可以获得各工具箱/产品的完整帮助文档。新版本中默认使用在线,改用本地帮助的办法是在home标签里,Preferences下的matlab/Help里选择installed locally

     

    cn.mathworks.com官网上找到支持,然后可以获得教程。这种方法获得的帮助文档和第一种方法一样。
    在Command Window里输入 doc+函数名 来获得帮助。比如输入"doc fft"可以获得离散傅里叶变换函数fft的帮助和范例。这种方法获得的文档是前两种方法文档中的部分。当然,前提是你要知道函数名,才能找到帮助。这种方法适合于获得系统自带函数的使用说明。
    使用GUI时,通常界面的角落里有Help,点开可以获得帮助。这种方法获得的文档是第一和第二种方法文档中的部分。这种方法适合于获得系统自带GUI的使用说明。
        这几种方法中,最常用的是第三种,只要知道自己需要的函数名,就可以用这种方式获得说明和范例。而实际使用中,一般常用的系统自带函数,也并不是非常多,大概几十个?真正需要牢记使用方法的可能就几个,通常都是知道函数名,要用的时候doc一下。

     

    二、命令窗口的基本配置

    1、format命令

    进行数据类型转换,行间距调节等功能时,用

            format + 关键词 回车

    eg:format long 回车   //将数据变为长整型

            format compat/loose 回车  //调节行间距紧密/松散

    2、clc命令  

        清屏。即清理当前屏幕上的内容,屏幕上没有了,但保留在内存中了

    3、clear命令 

        删除某一变量,或清空工作区

        clear + 变量名 回车

        eg:clear a 回车  //删除工作区中的a变量

                clear或者clear all //清空工作区。建议在刚打开matlab窗口时先清空一下工作区。

    4、whos命令  

        查看某变量详细信息

       4.1  whos 回车  //查看所有变量信息

       4.2 whos + 变量名 回车 // 查看该变量详细信息

        eg:whos a 回车

    5、x/ylable命令  //给xy轴加横纵坐标说明

        eg:xlable (‘x轴’) 回车

    6、disp()  //屏幕输出函数,类似于c语言中的printf()函数

     

        disp函数直接将内容输出在Matlab命令窗口中,关键是看disp函数怎么把字符和数字在一起进行显示。

        disp(X)函数只有一个输入,当你有多个字符串作为输入时就会报错。

    例如:

        disp('Alice is ' , num2str(12) , ' years old!' );

    就会报错--输入参数过多。

        但是将里边的内容用中括号一括就成了一个字符串,

    例如:

        str=['Alice is ' num2str(12) ' years old!'];

        disp(str);

    上边这句话也就等价于:

        disp=(['Alice is ' num2str(12) ' years old!']);

    这就是加中括号的原因,而不是因为num2str(),

        因为disp(num2str(12));也是正确的,因为里边就只有一个字符串。

    7、zeros函数 //创建一个全为零元素的数组

    1、B = zeros(n)  返回一个n x n的零矩阵.如果n不是一个标量,将抛出错误。
    2、B = zeros(m,n) or B = zeros([m n])  返回一个m x n的零矩阵。
    3、B = zeros(d1,d2,d3...) or B = zeros([d1 d2 d3...]) 返回一个d1-by-d2-by-d3-by-... .的零元素数组。
    4、B = zeros(size(A))  返回一个和A一样大小的零数组。
    5、zeros(m, n,...,classname) or zeros([m,n,...]  返回一个类型为classname的m x n x...零数组。classname可以是下面一些值:double', 'single', 'int8', 'uint8', 'int16', 'uint16', 'int32', or 'uint32'
    示例
        x = zeros(2,3,'int8');
    备注
        MATLAB语言 没有一个 维度 声明 ; MATLAB 自动为矩阵分配存储空间。 然而,对于大型矩阵 , MATLAB程序可能会执行得更快 ,如果零函数用于设置一个矩阵,其元素将产生一次 , 或行或列的时间预留存储空间。例如
    
    2、B = zeros(m,n) or B = zeros([m n])  返回一个m x n的零矩阵。
    3、B = zeros(d1,d2,d3...) or B = zeros([d1 d2 d3...]) 返回一个d1-by-d2-by-d3-by-... .的零元素数组。
    4、B = zeros(size(A))  返回一个和A一样大小的零数组。
    5、zeros(m, n,...,classname) or zeros([m,n,...]  返回一个类型为classname的m x n x...零数组。classname可以是下面一些值:double', 'single', 'int8', 'uint8', 'int16', 'uint16', 'int32', or 'uint32'
    示例
        x = zeros(2,3,'int8');
    备注
        MATLAB语言 没有一个 维度 声明 ; MATLAB 自动为矩阵分配存储空间。 然而,对于大型矩阵 , MATLAB程序可能会执行得更快 ,如果零函数用于设置一个矩阵,其元素将产生一次 , 或行或列的时间预留存储空间。例如
    
        x = zeros(1,n); 
        for i = 1:n
        x(i) = i; 
        end

     

     

     

     

     

     

     

    展开全文
  • 常微分方程的数值解法 ode45 ode15i 等等。。 隐函数,边值问题等
  • 非常适合新手使用的 关于利用L=MATLAB 求解高数问题的教材
  • MATLAB 积分求解

    2017-04-03 18:11:44
    Matlab 之中的积分方法及相关函数总结: 有两类解的形式,一类解析解,适用于被积函数可以求出原函数的情况; 另一类为数值解,即被积函数不可求出原函数时,利用梯形法,矩阵法或辛普森法等等将积分区间分成若干块,...
    Matlab 之中的积分方法及相关函数总结:
    有两类解的形式,一类解析解,适用于被积函数可以求出原函数的情况; 另一类为数值解,即被积函数不可求出原函数时,利用梯形法,矩阵法或辛普森法等等将积分区间分成若干块,累计求出近似解。

    积分之前用syms 定义参数, vpa用来把解析解得形式变成具体数值,vpa(f,15),保留15位小数;

    subs(f,x,y)用y 来替代符号x;
    simple()对函数进行简化;
    解析解积分最常用函数为int,形式 int(f(x),'x',min,max), f(x)=ax^2+b,允许带符号积分,而且可以计算不定积分。多重积分形式 int(int(int(4*x*z*exp(-x^2),x,0,2),y,0,pi),z,p,pi),亦可一层层分开积。
    数值积分方法,只能求定积分,而且里面不可包含未知的符号:
    需要建立函数,内建函数方法 Fun=@(x,y) ax+b 或者Fun=inline(‘x.^2’,'x')
    trapz(x,y)梯形法,x1=[0:pi/30:pi]; y=sin(x1),自己可以控制步长
    quad(Fun,a,b,seta) 辛普森二次样条插值法,a,b 为上下限, seta 为制定误差限, 默认为10e(-6).
    quadl(Fun,a,b,seta),Lobbato算法, 调用方法和上着类似,但是精度和计算速度都优于quad.
    双重积分为dblquad(Fun,xm,xM,ym,yM,seta)
    工具箱NIT Numerical Integration Toolbox 可以求解范围带有参数的积分 quad2dggen,发现在新版matlab中已经自带函数quad2d了,用法 quad2d(@(x,y) x^2+y^2, 1,5,2, ymax), ymax=@(x) x^2可以带参数
    fsolve 可以用来解方程

    求数值解的效率高于解析解
    譬如
    Fun1=quadl(@(phi)2.*pi.*sp_R^2.*cos(phi).*sin(phi-angle_a3),angle_sp1,angle_a3);
    的效率明显优于下者
    Fun1=vpa(int(2*pi*sp_R^2.*cos(phi)*sin(phi-angle_a3),'phi',angle_sp1,angle_a3));

    相关例子
    一、Z = trapz(X,Y,dim)
    梯形数值积分,通过已知参数x,y按dim维使用梯形公式进行积分
    例1 计算int(sin(x),0,pi)
    %by dynamic
    %all rights reserved by www.matlabsky.com
    >>x=0:pi/100:2*pi;
    >>y=sin(x);
    >>z=trapz(x,y)%或者说使用z = pi/100*trapz(y)
    z =
       1.0300e-017
    >>z = pi/100*trapz(y)
    二、[q,fcnt]= quad(fun,a,b,tol,trace,p1,p2...)
    自适应simpson公式数值积分,适用于精度要求低,被积函数平滑性较差的数值积分
    注意事项:
    1.被积函数fun必须是函数句柄
    2.积分限[a,b]必须是有限的,因此不能为inf
    3.p1为其他需要传递的参数,一般是数值
    可能警告:
    1.'Minimum step size reached'
    意味着子区间的长度与计算机舍入误差相当,无法继续计算了。原因可能是有不可积的奇点
    2.'Maximum function count exceeded'
    意味着积分递归计算超过了10000次。原因可能是有不可积的奇点
    3.'Infinite or Not-a-Number function value encountered'
    意味着在积分计算时,区间内出现了浮点数溢出或者被零除。
    例2 计算积分1/(x^3-2*x-p),其中参数p=5,积分区间为[0,2]
    %by dynamic
    %all rights reserved by www.matlabsky.com
    >>F = @(x,n)1./(x.^3-2*x-n);
    >>Q = quad(@(x)F(x,5),0,2)%或者使用 quad(F,0,2,[],[],5)效果是一样的,只是前者使用的函数嵌套
    Q =
    -0.4605
    >>quad(F,0,2,[],[],5)
    ans =
    -0.4605
    三、[q,fcnt] = quadl(fun,a,b,tol,trace,p1,p2...)
    自适应Lobatto数值积分,适用于精度要求高,被积函数曲线比较平滑的数值积分

    注意事项:
    同quad

    可能警告:
    同quad

    例3 计算积分1/(x^3-2*x-p),其中参数p=5,积分区间为[0,2]
    %by dynamic
    %all rights reserved by www.matlabsky.com
    >>F=@(x,p)1./(x.^3-2*x-p);
    >>Q = quadl(F,0,2,[],[],5)%或者Q = quadl(@(x)F(x,5),0,2)
    Q =
    -0.4605
    四、[q,errbnd] = quadgk(fun,a,b,param1,val1,param2,val2,...)
    自适应Gauss-Kronrod数值积分,适用于高精度和震荡数值积分,支持无穷区间,并且能够处理端点包含奇点的情况,同时还支持沿着不连续函数积分,复数域线性路径的围道积分法

    注意事项:
    1.积分限[a,b]可以是[-inf,inf],但必须快速衰减
    2.被积函数在端点可以有奇点,如果区间内部有奇点,将以奇点区间划分成多个,也就是说奇点只能出现在端点上
    3.被积函数可以剧烈震荡
    4.可以计算不连续积分,此时需要用到'Waypoints'参数,'Waypoints'中的点必须严格单调
    5.可以计算围道积分,此时需要用到'Waypoints'参数,并且为复数,各点之间使用直线连接
    6.param,val为函数的其它控制参数,比如上面的'waypoints'就是,具体看帮助

    出现错误:
    1.'Reached the limit on the maximum number of intervals in use'
    2.'Infinite or Not-a-Number function value encountered'

    计算有奇点积分int(exp(x)*log(x),0,1)
    %by dynamic
    %all rights reserved by www.matlabsky.com
    >>F=@(x)exp(x).*log(x);%奇点必须在端点上,否则请先进行区间划分
    >>Q = quadgk(F,0,1)
     
    Q =
     
        -1.3179
    五、[Q,fcnt] = quadv(fun,a,b,tol,trace)
    矢量化自适应simpson数值积分

    注意事项:
    1.该函将quad函数矢量化了,就是一次可以计算多个积分
    2.所有的要求完全与quad相同
    计算下面积分,分别计算n=1,2...,5时的5个积分值,被积函数1/(n+x),积分限为[0,1]
    %by dynamic
    %all rights reserved by www.matlabsky.com
    >>for k = 1:5,        Qs(k) = quadv(@(x)1/(k+x),0,1);end;Qs
    Qs =
        0.6931    0.4055    0.2877    0.2231    0.1823
    >>F=@(x,n)1./((1:n)+x);%定义被积函数
    >>quadv(@(x)F(x,5),0,1)%我们可以完全使用quadv函数替换上面循环语句的,建议使用后者
    ans =
        0.6931    0.4055    0.2877    0.2231    0.1823
     
    六、q = dblquad(fun,xmin,xmax,ymin,ymax,tol,method)
    矩形区域二重数值积分,一般区域二重积分参见NIT(数值积分工具箱)的quad2dggen函数
    七、q=triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol,method)
    长方体区域三重数值积分,注意此时没有一般区域的三重积分
    下面总结下:
    (1)quad:采用自适应变步长simpson方法,速度和精度都是最差的,建议不要使用
    (2)quad8:使用8阶Newton-Cotes算法,精度和速度均优于quad,但在目前版本下已被取消
    (3)quadl:采用lobbato算法,精度和速度均较好,建议全部使用该函数
    (4)quadg:NIT(数值积分)工具箱函数,效率最高,但该工具箱需要另外下载
    (5)quadv:quad的矢量化函数,可以同时计算多个积分
    (6)quadgk:很有用的函数,功能在Matlab中最强大
    (7)quad2dggen:一般区域二重积分,效率很好,需要NIT支持
    (8)dblquad:长方形区域二重积分
    (9)triplequadL:长方体区域三重积分
    展开全文
  • quad积分函数的使用的四种方法

    万次阅读 2016-04-11 21:19:12
    转自http://tieba.baidu.com/p/2080411419 示例:求y=2x^4在(1,2)的积分 方法一:fun使用function 编辑function.m function y=integrated(x) ... %注意....f=quad(@integrated,1,2) %注意,@符号千

    转自http://tieba.baidu.com/p/2080411419

    示例:求y=2x^4在(1,2)的积分



    方法一:fun使用function
    编辑function.m

    function
    y=integrated(x)
    y=2*x.*x.*x.^2; %注意.千万不能漏掉
    end
    主文件中执行:
    f=quad(@integrated,1,2) %注意,@符号千万不能漏掉


    如果想控制一个变量a,求y=2x^4+a 在(1,2)的积分
    编辑function.m
    function
    y=integrated(x,a)
    y=2*x.*x.*x.^2+a; %注意.千万不能漏掉
    end
    主文件中执行:比如a=2;则:
    f=quad(@(x) integrated(x,2),1,2) 
    %注意,@符号千万不能漏掉(x)表示,关于x的函数

    方法二:fun使用inline函数

    y1=inline('2*x.*x.*x.^2','x');%注意.号,及'x'关于x的函数
    y=quad(y1,1,2) %此时不需要再@y1 


    方法三:fun直接使用@
    y1=@(x) x.^2; %注意别漏点.号
    y2=@(x ) 2*x.*x; %注意别漏点.号
    y=@(x) y1(x).*y2(x); %注意@和(x)的使用,还有别漏.号
    f=quad(y,1,2) %此时y不用@了

    方法四:fun使用sym表达式
    利用syms,需要使用subs函数替换一下
    syms phy;
    y1=2*phy*phy*phy^2; %不需要.号
    y=@(x) subs(y1,phy,x); %替换phy为x
    f=quad(y,1,2)
    展开全文
  • 复变函数的积分

    千次阅读 2018-11-23 23:07:43
    文章目录一、复变函数积分的概念学习目标二、柯西-古萨(C-G)基本定理学习目标三、复数闭路定理学习目标四、原函数与不定积分学习目标五、柯西积分公式学习目标六、解析函数的高阶导数学习目标七、解析函数与调和函数...

    一、复变函数积分的概念

    学习目标

    • 会用参数法计算复积分
    • 记住 cf(z)dz=c(u+iv)(dx+idy)=cudxvdy+icvdx+udy\int_cf(z)dz=\int_c(u+iv)(dx+idy)=\int_cudx-vdy+i\int_cvdx+udy
    • 记住 zz0=rdz(zz0)n+1={2πin=00n0\oint_{|z-z_0| =r}\frac{dz}{(z-z_0)^{n+1}}=\begin{cases} 2\pi i &n=0 \\ 0 & n\neq 0\end{cases}

    1、参数法计算复积分

        例题1:计算 czdz\int_czdz ,其中 CC 为从原点到点 3+4i3+4i 的直线段.

        直线的方程可写作x=3ty=4t0t1x=3t,y=4t,0\leq t\leq 1z=3t+i4t0t1z=3t+i4t,0\leq t\leq 1CC 上,z=(3+4i)tdz=(3+4i)dtz=(3+4i)t,dz=(3+4i)dt. 于是czdz=01(3+4i)2tdt=(3+4i)201tdt=12(3+4i)2.\int_czdz=\int^{1}_{0}(3+4i)^2tdt=(3+4i)^2\int^{1}_{0}tdt=\frac{1}{2}(3+4i)^2.
        例题2:计算积分 czzdz\oint_c\frac{\overline{z}}{|z|}dz 的值,其中 CCz|z| 的正向圆周

        z=reiθz=re^{i\theta} ,则 z=reiθ\overline{z}=re^{-i\theta}dz=ireiθdθdz=ire^{i\theta}d\theta
    所以 czzdz=02πreiθrireiθdθ=ir02πdθ=4πi\oint_c\frac{\overline{z}}{|z|}dz=\int^{2\pi}_{0}\frac{re^{-i\theta}}{r}·ire^{i\theta}d\theta=ir\int^{2\pi}_{0}d\theta=4\pi i

    二、柯西-古萨(C-G)基本定理

    学习目标

    • 记住柯西-古萨基本定理的内容,并会灵活运用

          柯西-古萨基本定理:如果函数 f(z)f(z) 在单连通域 BB 内处处解析,那么函数 f(z)f(z) 沿 BB 内的任何一条封闭曲线 CC 的积分为零:cf(z)dz=0\oint_cf(z)dz=0

    三、复数闭路定理

    学习目标

    • 记住复合闭路定理的内容(两种形式),并会灵活运用(结合其他公式)

          定理:设 CC 为多个连通域 DD 内的一条简单闭曲线,C1,C2,CnC_1,C_2,···,C_n 是在 CC 内部的简单闭曲线,它们互不包含也不互相交,并且以 C1,C2,CnC_1,C_2,···,C_n 为边界的区域全含于 DD. 如果 f(z)f(z)DD 内解析,那么cf(z)dz=k=1nckf(z)dz\oint_cf(z)dz=\sum \limits_{k=1}^n{\oint_{c_k}f(z)dz}其中 CCCkC_k 均取正方向;并且满足 Γf(z)dz=0\oint_\Gamma f(z)dz=0这里的 Γ\Gamma 为由 CCCk(k=1,2,,n)C_k (k=1,2,···,n) 所组成的复合闭路(其方向是: CC按逆时针进行,CknC^{n}_{k} 按顺时针进行)

    四、原函数与不定积分

    学习目标

    • 知道什么条件下,积分值与起点和终点有关,与路径无关
    • 会用复 NLN-L 公式计算福鼎积分

          定理一:如果函数 f(z)f(z)单连通域 BB 内处处解析,那么积分 cf(z)dz\int_cf(z)dz 与连接起点和终点的路线 CC 无关.

      PSPS单连通域是指:设 DD 是一区域,若属于 DD 内任一简单闭曲线的内部都属于 DD,则称 DD 为单连通区域.

          定理二:如果 f(z)f(z) 在单连通域 BB 内处处解析,那么函数 F(z)F(z) 必为 BB 内的一个解析函数,并且 F(z)=f(z)F^{'}(z)=f(z).

          定理三:如果 f(z)f(z) 在单连通域 BB 内处处解析,G(z)G(z)f(z)f(z) 的一个原函数,那么z0z1f(z)dz=G(z1)G(z0)\int_{z_0}^{z_1}f(z)dz=G(z_1)-G(z_0)这里 z0z1z_0,z_1为域 BB 内的两点.

    五、柯西积分公式

    学习目标

    • 记住柯西积分公式的内容,并会灵活运用

          定理:如果 f(z)f(z) 在区域 DD 内处处解析,CCDD 内的任何一条正向简单闭曲线,它的内部完全含于 DDz0z_0CC 内的任一点,那么cf(z)zz0dz=2πif(z0)\oint_c\frac{f(z)}{z-z_0}dz=2\pi if(z_0)

    六、解析函数的高阶导数

    学习目标

    • 记住高阶导数公式的内容,并会灵活运用

          定理:解析函数 f(z)f(z) 的导数仍为解析函数,它的 nn 阶导数为:f(n)(z0)=n!2πicf(z)(zz0)(n+1)dz     (n=1,2,f^{(n)}(z_0)=\frac{n!}{2\pi i}\oint_c\frac{f(z)}{(z-z_0)^{(n+1)}}dz\ \ \ \ \ (n=1,2,···)其中 CC 为在函数 f(z)f(z) 的解析区域 DD 内围绕 z0z_0 的任何一条正向简单闭曲线,而且它的内部全含于 DD.
      也可以写成cf(z)(zz0)(n+1)dz=2πin!f(n)(z0)     (n=1,2,)\oint_c\frac{f(z)}{(z-z_0)^{(n+1)}}dz=\frac{2\pi i}{n!}f^{(n)}(z_0)\ \ \ \ \ (n=1,2,···)

    七、解析函数与调和函数的关系

    学习目标

    • 会判别一个函数是否为调和函数
    • 知道共轭调和函数的定义
    • 知道解析函数于调和函数的关系
    • 给一个函数 u(x,y)u(x,y)v(x,y)v(x,y), 求另一个函数 v(x,y)v(x,y)u(x,y)u(x,y) 组成一个解析函数

    1、解析函数与调和函数的关系

        如果二元实变函数 ϕ(x,y)\phi(x,y) 在区域 DD 内具有二阶连续偏导数并且满足拉普拉斯(Laplace)(Laplace)方程2ϕx2+2ϕy2=0\frac{\partial^2\phi}{\partial x^2}+\frac{\partial^2\phi}{\partial y^2}=0那么称 ϕ(x,y)\phi(x,y) 为区域 DD 内的调和函数.
        定理:任何在区域 DD 内解析的函数,它的实部和虚部都是 DD 内的调和函数. 即:2ux2+2uy2=0\frac{\partial^2u}{\partial x^2}+\frac{\partial^2u}{\partial y^2}=02vx2+2vy2=0\frac{\partial^2v}{\partial x^2}+\frac{\partial^2v}{\partial y^2}=0
        在 DD 内满足柯西-黎曼方程ux=vyvx=uy\frac{\partial u}{\partial x}=\frac{\partial v}{\partial y},\frac{\partial v}{\partial x}=-\frac{\partial u}{\partial y}的两个调和函数,vv 称为 uu共轭调和函数. 因此,上面的定理说明:区域 DD 内的解析函数的虚部为实部的共轭调和函数.

    2、偏积分法求共轭调和函数

        Test1Test1:证明 u(x,y)=y33x2yu(x,y)=y^3-3x^2y 为调和函数,并求其共轭调和函数 v(x,y)v(x,y) 和由它们构成的解析函数.

        11)因为 ux=6xy2ux2=6y\frac{\partial u}{\partial x}=-6xy,\frac{\partial^2u}{\partial x^2}=-6yuy=3y23x22uy2=6y\frac{\partial u}{\partial y}=3y^2-3x^2,\frac{\partial^2u}{\partial y^2}=6y所以2ux2+2uy2=0\frac{\partial^2u}{\partial x^2}+\frac{\partial^2u}{\partial y^2}=0这就证明了 u(x,y)u(x,y) 为调和函数.
        22)vy=ux=6xy\frac{\partial v}{\partial y}=\frac{\partial u}{\partial x}=-6xyv=6xydy=3xy2+g(x)v=\int-6xydy=-3xy^2+g(x),vx=3y2+g(x)\frac{\partial v}{\partial x}=-3y^2+g^{'}(x)vx=uy\frac{\partial v}{\partial x}=-\frac{\partial u}{\partial y},得3y2+g(x)=3y2+3x2-3y^2+g^{'}(x)=-3y^2+3x^2g(x)=3x2dx=x3+Cg(x)=\int3x^2dx=x^3+C因此v(x,y)=x33xy2+Cv(x,y)=x^3-3xy^2+C从而得到一个解析函数w=y33x2y+i(x33xy2+C)w=y^3-3x^2y+i(x^3-3xy^2+C)

    展开全文
  • MATLAB安装

    万次阅读 多人点赞 2018-07-27 18:09:11
    Matlab 2016a 安装包及破解教程百度云分享链接: 链接:https://pan.baidu.com/s/1i6BgD8p 密码:17gg   Matlab安装教程: 1、下载文件,得到R2016a_win64.part1.rar、R2016a_win64.part2.rar两部分安装文件和...
  • matlab中@的用法

    万次阅读 多人点赞 2020-09-06 12:17:52
    举例:sin是matlab中的一个函数,但sin只是函数名,还不是函数句柄,不可以用于传参。f = @sin;这行代码定义了一个函数句柄,变量名是f。这样就可以当做参数传递了(这就是上面代码中的意义所在),而且还可以跟sin...
  • 基于MATLAB的二值化图像常用的三种方法

    万次阅读 多人点赞 2016-11-24 22:25:36
    图像分割是模式识别和计算机视觉中很重要的一个部分,基于阈值的图像分割具有简单、计算量小、效率高等特点,在实际图像处理中具有广泛的应用。经过国内外学者的广泛努力,已经提出了数以百计的阈值分割的算法,依据...
  • MATLAB基础知识

    万次阅读 多人点赞 2019-03-20 17:13:44
    专题一 MATLAB基础知识 目录 1. MATLAB系统环境 2. MATLAB数值数据 3. 变量及其操作 4. MATLAB矩阵的表示 5. 矩阵元素的引用 6. MATLAB基本运算 7. 字符串处理 ------------------------------------------...
  • matlab是一个很强大的计算软件,合理使用会给我们的学习带来极大的方便之处,本人旨在提供一个零基础的matlab学习博文,供大家学习交流。谢谢大家支持。
  • 1_MATLAB简单介绍

    千次阅读 2018-08-03 16:20:59
    近期刚接触到数学建模,而MATLAB是数学建模中一个非常重要的工具,所以对于数学建模来说是必不可少的,所以在这里做一个学习的笔记,方便以后查看,同时希望可以给以后想要学习MATLAB的读者提供一点个人线索。...
  • MATLAB教程(1) MATLAB 基础知识

    万次阅读 多人点赞 2017-11-04 17:36:47
    首先,以下从九个部分简单介绍基础入门知识。第一部分:MATLAB显示桌面的基本布局https://cn.mathworks.com/help/matlab/learn_matlab/desktop.html1.启动MATLAB后,桌面会显示默认布局,主要有以下三个部分: 当前...
  • RBF神经网络简单介绍MATLAB实现

    万次阅读 多人点赞 2018-11-06 10:01:56
    RBF的直观介绍 RBF是一种两层的网络 RBF的隐层是一种非线性的映射 RBF输出层是线性的 RBF的基本思想是将数据转化到高维空间使其在高维空间线性可分 RBF学习算法 Lazy RBF MATLAB实现RBF神经网络 RBF的直观...
  • 在直接数字域设计中,我们常常需要用到PID算法,而PID算法投入单片机使用时,往往需要硬件的支持,在调试时非常麻烦。本文通过Matlab仿真的手段实现PID,方便了开发者对系统的设计和实时调试。
  • 1.matlab的界面 ①CurrentFolder:中文一般翻译成工作路径,一般设置成一个自己建立的、有读写权限的文件夹,例如我的文档下建立一个matlab文件夹②Command Window:字面意思是命令窗口,用来运行代码,所有的...
1 2 3 4 5 ... 20
收藏数 49,584
精华内容 19,833
关键字:

matlab