画图主要是用极坐标,我们使用画复数的函数来画。
clc;%清空上次的%draw_Bessel%画这个东西a=4;%圆形半径%%定义角向和径向的步长和范围fai=[-4:0.1:4];r=[0:0.02:a];%将fai和r组合起来并生成复平面[R,T] = meshgrid(fai,r);Z = R.*exp(1i*T);%和画具体图有关的m=1;%阶数%k_11=4.612/a;B=1;A_11=-((besseli(m,k_11*a))/(besselj(m,k_11*a)))*B;%边界条件F_11=cos(m*T).*((A_11.*besselj(m,k_11*R)+B.*besseli(m,k_11*R)));F=F_11;%开始画图cplxmap(Z,F);xlabel('')ylabel('')title('鼓膜振动');```总结一下1. 定义fai和r,用一维的步长来定义。2. 使用meshgrid(fai,r),得到[R,T]组合3. 使用Z = R.*exp(1i*T),生成复平面4. 极坐标下的函数,径向坐标用R,角向坐标用T。记得运算符号加".",表示矩阵乘法。5. 使用cplxmap画图;缺点是,cplxmap画出的图,颜色用来表示虚部,但因为虚部是0,所以整个图形的颜色都是一样的。优点是,不需要想太多,直接往里套就好了,还可以画复平面上的函数。
如果觉得《以二维振动为例展示使用matlab画圆形三维图的偷懒方法》对你有帮助,请点赞、收藏,并留下你的观点哦!