matlab cplxmap,数学物理方法的matlab解法及可视化(一)复变函数图形

数学物理方法的matlab解法及可视化(一)复变函数图形

数学物理方法的matlab解法及可视化(一)复变函数图形

本节是本专栏的第一节,更是后续学习的基础。

说明:复变函数和实变函数的计算在matlab中是相同的,但是,对于多值函数,matlab仅仅是对主值进行计算。

matlab表现四维数据的方法是在三维数据的基础上加上颜色,具体的画法是以xy平面表示自变量所在的复平面,以z轴表示复变函数的实部,用颜色表示复变函数值的虚部。为了能明确表示颜色和数值的对应关系,一般还需要用指令colorbar表示各种颜色所代表的数值。

matlab画复变函数图形的指令有以下3个

(1)CPLXGRID    构建一个极坐标的复数数据网络

格式:Z=CPLXGRID(m)

这是一个(m+1)*(2*m+1)的复数的极坐标下的数据网络

在指令窗口输入:edit cplxgrid,将显示该指令的源程序

function z = cplxgrid(m)

%CPLXGRID Polar coordinate complex grid.

% Z = CPLXGRID(m) is an (m+1)-by-(2*m+1) complex polar grid.

% See CPLXMAP.

% Copyright 1984-2014 The MathWorks, Inc.

r = (0:m)'/m;

theta = pi*(-m:m)/m;

z = r * exp(i*theta);

(2)CPLXMAP 对复变函数作图

格式:CPLXMAP(z,f(z),(optional bound))

这将画出复变函数

9b330a3cd116c516be867656f3263df8.gif的图像,选项optional bound用来选择变量的范围

源程序如下:

function cplxmap(z,w,B)

%z,w,B分别是自变量,函数值和函数值的作图范围

%CPLXMAP Plot a function of a complex variable.

% CPLXMAP(z,f(z),(optional bound))

% Used by CPLXDEMO.

%

% See also CPLXGRID.

% Copyright 1984-2014 The MathWorks, Inc.

blue = 0.2;

x = real(z);

y = imag(z);

u = real(w);

v = imag(w);

%如果输入变量数大于两个,即指定了函数值的范围,就将不需要的函数值去掉

if nargin > 2%指令nargin是输入的变量数目

k = find((abs(w) > B) | isnan(abs(w)));

%找出绝对值大于B或者为非数的函数值的元素足标

if length(k) > 0%如果存在这样的数,则作如下处理

u(k) = B*sign(u(k));%将范围以外的函数值的实部都设为B

v(k) = zeros(size(k));%将范围以外的函数值的虚部都设为0

v = v/max(max(abs(v)));%函数值虚部归一化

v(k) = NaN*ones(size(k));%设为非数就可以不对他们作图

end

end

M = max(max(u));%求出函数值的大小范围


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部