
matlab
元周民
这个作者很懒,什么都没留下…
展开
-
matlab中高精度计算函数vpa与非厄米矩阵本征值的求解
matlab中高精度计算函数vpa原创 2025-01-04 15:26:30 · 525 阅读 · 0 评论 -
对colormap的那个N行三列矩阵进行线性插值的代码(三维scatter3中的确可以看到是正确插好值了的)
【代码】对colormap的那个N行三列矩阵进行线性插值的代码(三维scatter3中的确可以看到是正确插好值了的)原创 2024-12-07 16:08:15 · 116 阅读 · 0 评论 -
紧束缚开链驻波动画(可生成gif图片)
【代码】紧束缚开链驻波动画。原创 2024-10-30 21:58:59 · 123 阅读 · 0 评论 -
给定正多边形外切圆半径和边数,给出正多边形各顶点的xy坐标的matlab函数
给定正多边形外切圆半径和边数,给出正多边形各顶点的xy坐标的matlab函数原创 2024-06-15 20:45:31 · 191 阅读 · 0 评论 -
matlab中一种直观的构建矩阵的方式
matlab中一种构建矩阵的技巧原创 2024-04-22 21:21:49 · 136 阅读 · 0 评论 -
二维体光子晶体的平面波展开法代码2
这篇文章接前面《二维体光子晶体的平面波展开法代码》这个是实际网格划分,各标记的含义上篇文章有说明下面是傅里叶系数恢复的相对介电常数分布(虚部),看起来非常大,那是因为imag(EpsMat)趋于0的原因。下面这个图是实空间相对介电常数分布的伪彩图:下面这个图是TE能带图,可以看到和FEM的结果还是有点偏差,但实际上只要加密网格同时遵守前一篇文章所述的nG参数和precisStruct参数的关系就可以获得误差更小的能带图。原创 2023-05-10 15:35:15 · 428 阅读 · 0 评论 -
matlab根据中心和边长构建正方形
【代码】matlab根据中心和边长构建正方形。原创 2023-05-04 16:02:18 · 1169 阅读 · 0 评论 -
二维体光子晶体的平面波展开法代码
二维平面波展开法原创 2023-05-04 09:25:48 · 1268 阅读 · 1 评论 -
Matlab绘图为什么设置了相同的字体大小结果出的图字体大小还是不一样
matlab相同字号设置但最终图片字号大小不一致(matlab2018b中已验证过)原创 2023-02-26 10:06:50 · 1241 阅读 · 1 评论 -
matlab同一条曲线上plot不同x位置颜色不同
matlab同一条曲线上不同颜色,注意曲线是光滑的,不是scatetr原创 2022-10-01 11:37:06 · 3325 阅读 · 0 评论 -
寻找子集一维数组在母集一维数组中的位置(注意只适用于特定关系数组,未详细测试)
只适用于特定关系的数组原创 2022-07-30 09:45:05 · 299 阅读 · 0 评论 -
一维列数组分类加强版(可以对重复元素使用,但不能含有0元素)
一维数组按间隔分类,请仔细阅读注释原创 2022-07-28 10:14:28 · 154 阅读 · 0 评论 -
检查一维数组中的重复元素以及每个重复元素的重复次数(结果以矩阵形式给出)
matlab函数,检测一列数组中的重复元素和重复次数,结果以矩阵形式给出,第一行是重复元素,第二行是对应元素的重复次数原创 2022-07-27 21:38:42 · 613 阅读 · 0 评论 -
对输入的一维数组(按顺序列且不重复)按容差tol分类(未详细测试)
主要用于识别简并能带原创 2022-07-27 18:45:15 · 157 阅读 · 0 评论 -
一点绕另一点旋转angle度的matlab子程序(未详细测试)
某点绕某点旋转angle度的matlab程序原创 2022-07-25 14:40:57 · 389 阅读 · 0 评论 -
运用小矩阵作为元素构建大矩阵(matlab函数,未详细测试)
如题原创 2022-07-01 11:09:19 · 1716 阅读 · 0 评论 -
一个有趣的极限(会在求标量格林函数的Ewald级数时且处理它的奇点的时候会遇到)
如题目所示,这就是要表达的意思原创 2022-06-29 16:23:02 · 135 阅读 · 0 评论 -
一个和二维泊松求和有关的公式(推导Ewald级数中有用,运用了2D泊松求和公式,傅里叶变换的位移性质)
如题所示原创 2022-06-28 21:24:57 · 534 阅读 · 0 评论 -
matlab复误差函数的高效计算(有官方背书)
matlab复误差函数的高效计算,可以和mathematica的官方函数对比验证下,有权威官方背书,是参考网站的代码改写而来。原创 2022-06-27 17:40:46 · 653 阅读 · 0 评论 -
赫尔维兹_勒奇超越函数(matlab自编函数)
function [out] = Lerch_fun(z,s,v)%Lerch_fun(exp(1j*2),3,0.1)% Lerch transcendent%表达式:\Phi(z, s, v)=\sum_{n=0}^{\infty} \frac{z^{n}}{(n+v)^{s}}%syms tf=@(t)((t.^(s-1)).*exp(-v*t))./(1-z.*exp(-t));out=(1/gamma(s))*(integral(f,0,Inf));end和Mathematic原创 2022-03-01 21:29:14 · 993 阅读 · 0 评论 -
带选择程序(未测试)
function [band_sto]=choice_band(vec,val,band_index)%根据band_index选择能带%vec,val是最原始的vec,valval=real(sqrt(diag(val)));%w/c,,real可改,决定画能带的实部还是虚部[~,order]=sort(val);%w/cband_sto=zeros(size(vec,1),length(band_index));for count=1:length(band_index)tp=band.原创 2022-01-05 17:14:49 · 227 阅读 · 0 评论 -
matlab画圆函数
function [] = circle(x,y,r)%画圆函数% circle(0,0,4) ;grid on% x y是中心,r是半径rectangle('Position',[x-r,y-r,2*r,2*r],'Curvature',[1,1])axis equal%为了修饰曲线的颜色,宽度,圈盘填充颜色等,可以设置其他参数等,例如%'edgecolor','b',其中edgecolor表示边框颜色,后面的b是颜色参数值;%facecolor','r',其中facecolor表示内部填原创 2021-12-31 11:24:04 · 6363 阅读 · 0 评论 -
matlab angle函数
angle采用的算法:angle(z) = imag(log(z)) = atan2(imag(z), real(z)).原创 2021-12-29 11:19:01 · 2547 阅读 · 0 评论 -
匿名函数支持输入向量,匿名函数可以组成向量,
################原创 2021-12-23 19:32:16 · 354 阅读 · 0 评论 -
一段判断点是否在多边形内的matlab代码
function [out]=shape_f(xx,yy,xp,yp)%xx、yy是输入的要判断的点,%xp 、yp是多边形的顶点(顺时针或逆时针,首尾相连)%xp、yp是向量%如果在多边形内或边上,out为1,否则为0out=double(inpolygon(xx,yy,xp,yp));end...原创 2021-12-23 16:52:38 · 575 阅读 · 0 评论 -
画格点程序
function []=point_figure()a1=[10,0];a2=[0,10];site=[];for m=-6:6 for n=-6:6 vec=m*a1+n*a2; site=[site;sq(vec(1),vec(2),4)]; endendscatter(site(:,1),site(:,2),'bo','filled') axis equal endfunction [ou原创 2021-11-01 17:12:07 · 168 阅读 · 0 评论 -
matlab确定特定一行在矩阵中的位置
A=[122 51 41]B=[122 49 41; 122 51 41; 121 49 42; 122 49 42][~,ind]=ismember(A,B,'rows')原创 2021-10-24 09:57:33 · 2287 阅读 · 0 评论 -
一个clear的高级用法
clearvars -except stoM原创 2021-10-22 16:06:12 · 138 阅读 · 0 评论 -
Floquet-傅里叶方法里面一个积分的验证小程序
%Floquet-傅里叶-方法里面积分的一个验证小程序function []=main_jifen()clear;clcfor jj=-100:1:100 disp(['jj=',num2str(jj),';',newline]) mm=jifen(jj) disp([newline,'--------------'])endendfunction [out1]=jifen(delta)syms vac w t k T%delta=3;m=2*vac*c.原创 2021-09-16 21:19:46 · 317 阅读 · 0 评论 -
一个matlab小函数,寻找矩阵最小n个值的位置(没有详细测试)
function [out]=find_M(M,n)%这个函数是找到矩阵M中最小的n个点的位置[u,~]=size(M);sto_v=[];for ii=1:u sto_v=[sto_v,M(ii,:)];endsort_v=unique(sort(sto_v));if length(sort_v)<n sto2=sort_v(:); disp('n超过了矩阵不重复元素数')elsesto2=sort_v(1:n);endclear iisto_si原创 2021-09-03 10:51:25 · 1989 阅读 · 0 评论 -
正倒空间基矢转换
matlab代码:%正空间、倒空间转换clear;clc;close all%%%%%%%%%%%%%%a=sym(1,'f');%晶格常数%%%%%%%%%%%%%% a1=[sqrt(3)/2,1.5,0].*a;%正空间基矢 a2=[-sqrt(3)/2,1.5,0].*a;%三维%a1=[a,0,0];a2=[0,a,0];a3=[0,0,1];%单位向量A=abs(a3*cross(a1,a2)');s=2*pi./A;b1(1,1)=a2(1,2);b1(1,2)=-a原创 2021-08-02 16:37:38 · 1574 阅读 · 3 评论 -
很好的画格点的代码
function []=main_surper_cell()n=10;a = 1; %%%%%%%%%%%%%%%定义原胞基矢%%%%%%%%%%%%%% a1 = a* [ sqrt(3)/2 1/2 ]; a2 = a* [-sqrt(3)/2 1/2 ]; a3 = a* [ 0 0 1]; %%%%%%%%%%%%%%%定义三个格点的位置%%%%%%%%%%%%%% u1 = a*[sqrt(3)/6 0 ]; u2 = a*[5*sqrt(3)/12 a/4 ]; u3 =原创 2021-07-17 21:45:57 · 158 阅读 · 0 评论 -
很好很高效的离散简约BZ的代码(好像高对称点重复了)
function [k0]=BZ_dispersed()global aa=1;%临时参数delta=0.01;%可调参数T=[0,0];M=(2*pi/a)*[1/(4+2*sqrt(2)),1/(4+2*sqrt(2))];X=(2*pi/a)*[1/(4+2*sqrt(2)),0];MT=T-M;mt=MT(1)+MT(2)*1i;list_mt=(M(1)+M(2)*1i)+[0:delta:1]*mt;TX=X-T;tx=TX(1)+TX(2)*1i;list_tx原创 2021-07-16 16:36:50 · 148 阅读 · 0 评论 -
matlab分块构建矩阵技巧
*原创 2021-07-09 21:02:55 · 5164 阅读 · 3 评论 -
画kagome格子的matlab程序
function []=main()a=5;%晶格常数d1=a*[1,0];%正空间基矢d2=a*[0.5,-sqrt(3)/2];para=20;sto=[];for u=0:para for v=0:para D=u*d1+v*d2; [p]=triangle_fun(D,0.5*a); sto=[sto;p]; endendscatter(sto(:,1),sto(:,2),'o')end%下面的子程序可自己编原创 2021-06-25 09:32:11 · 847 阅读 · 0 评论 -
matlab中一个显示根号的技巧
原创 2021-06-24 16:10:02 · 6593 阅读 · 0 评论 -
matlab笔记
dot函数在对复数向量操作的时候要注意的地方原创 2021-06-11 15:49:51 · 148 阅读 · 1 评论