当前位置: 首页 > news >正文

matlab中高精度计算函数vpa与非厄米矩阵本征值的求解

clear;clc;close all
tic
%并行设置%
delete(gcp('nocreate'));%关闭之前的并行
c=parcluster('local');
c.NumWorkers=50;%手动设置线程数(否则默认最大线程为12)
parpool(c, c.NumWorkers);
%并行设置%w=1;
u=2.5;N=30;valsto=zeros(2*N+2,100);
v10=linspace(-3,3,100).';parfor jj=1:length(v10)v1=v10(jj);[~,val]=eig(vpa(H(u,v1,w,N),30));%设置30位高精度计算%[~,val]=eig(H(u,v1,w,N));tval=diag(val);[~,index]=sort(real(tval));val=tval(index);valsto(:,jj)=val;endfigure
hold on
plot(linspace(-3,3,100),abs(valsto(:,:)),'k.')%%%%%%%%%%=========%%%%%%%%%%%%%%
%%%%%%%%%%=========%%%%%%%%%%%%%%clearvars -except N
syms u v w realval2=eig(H(u,v,w,N));
val2=subs(val2,{u,w},{2.5,1});valsto2=zeros(2*N+2,100);
v10=linspace(-3,3,100).';parfor jj=1:length(v10)v1=v10(jj);tval=val2;tval=double(subs(tval,v,v1));[~,index]=sort(real(tval));tval=tval(index);valsto2(:,jj)=tval;endplot(linspace(-3,3,100),abs(valsto2(:,:)),'bo')
hold off
saveas(gcf,"VAPtest0.fig")
tocfunction [H0]=H(u,v,w,N)T1=[];
T2=[];
for hh=1:NT1=[T1;v+u;w+u];T2=[T2;v-u;w-u];
end
T1=[T1;v+u];
T2=[T2;v-u];
H0=diag(T1,1)+diag(T2,-1);end

上面代码没用高精度计算函数vpa之前数值计算的特征值能谱有部分和符号计算(篮圈)是对不上的,如下:
在这里插入图片描述
使用了vpa高精度函数后,数值计算和符号计算的结果完全一致:
在这里插入图片描述

http://www.lryc.cn/news/515677.html

相关文章:

  • 王佩丰24节Excel学习笔记——第二十四讲:宏表函数
  • Navicat 17 for Mac 数据库管理软件
  • 现代光学基础2
  • Git 入门(一)
  • mysql自定义安装
  • 微软自带日志输出+Serilog
  • 《PHP MySQL 创建数据库》
  • Python虚拟环境管理
  • 一个在ios当中采用ObjectC和opencv来显示图片的实例
  • c++ vector 使用find查找指定元素方法
  • leetcode 732. 我的日程安排表 III
  • k8s系列--docker拉取镜像导入k8s的containerd中
  • 38-其他地方使用模式
  • 单片机按键扫描程序,可以单击、双击、长按,使用状态机,无延时,不阻塞。
  • Django中自定义模板字符串
  • 暴雨总裁孙辉:混合式人工智能是大势所趋
  • 【小制作】米家模拟手指点击
  • 【深度学习入门_基础篇】线性代数本质
  • 047_小驰私房菜_Qcom 8系列,Jpeg GPU 旋转
  • Elasticsearch 操作文档对数据的增删改查操作 索引库文档 操作数据 CRUD
  • 最新MySQL面试题(2025超详细版)
  • 使用MPTCP+BBR进行数据传输,让网络又快又稳
  • 滴滴数据分析80道面试题及参考答案
  • 基于物联网疫苗冷链物流监测系统设计
  • 计算机网络基础(7)中科大郑铨老师笔记
  • GOGOGO 抽象
  • STM32-笔记26-WWDG窗口看门狗
  • 10.装饰器
  • uniapp H5页面实现懒加载
  • STM32使用UART发送字符串与printf输出重定向