首页 > 其他分享 >MATLAB生成各类区域网格剖分

MATLAB生成各类区域网格剖分

时间:2024-08-03 21:39:10浏览次数:14  
标签:node initmesh 剖分 figure 网格 pdemesh MATLAB hmax axis

一、双洞模型

代码:

hg=[1 1 1 1   1 1 1 1 
   2 0 -2 0  0 1 0 -1
   0 -2 0 2  1 0 -1 0
   0 2 0 -2  0 1 2 1
   2 0 -2 0  1 2 1 0
   1 1 1 1   0 0 0 0
   0 0 0 0   1 1 1 1
   0 0 0 0   0 0 0 0
   0 0 0 0   1 1 1 1
   2 2 2 2   1 1 1 1];
ug=[1 1 1 1
    0 1 0 -1
    1 0 -1 0
    -2 -1 0 -1
    -1 0 -1 -2
    0  0 0 0
    1  1 1 1
    0  0 0 0
    -1 -1 -1 -1
    1 1 1 1]; % 顺时针
g=[hg ug];
[p,e,t] = initmesh(g,'hmax',0.25);
figure
pdemesh(p,e,t);

 二、铜钱型

代码:

g=[1 1 1 1 2 2 2 2
   2 0 -2 0 1 1 -1 -1
   0 -2 0 2 1 -1 -1 1
   0 2 0 -2 -1 1 1 -1
   2 0 -2 0 1 1 -1 -1
   1 1 1 1 0 0 0 0  % 这里0改为2即可变为实心
   0 0 0 0 1 1 1 1
   0 0 0 0 0 0 0 0
   0 0 0 0 0 0 0 0
   2 2 2 2 0 0 0 0];
[p,e,t] = initmesh(g,'hmax',0.25);
figure
pdemesh(p,e,t);
figure
node=p';elem=t(1:3,:)';
h = trisurf(elem(:,1:3),node(:,1),node(:,2),zeros(size(node,1),1));
set(h,'facecolor',[0.9 0.9 0.1],'edgecolor','k');
view(2); axis equal; axis tight; axis off;

  三、环状

g=[1 1 1 1 1 1 1 1
   2 0 -2 0 1 0 -1 0
   0 -2 0 2 0 -1 0 1
   0 2 0 -2 0 1  0 -1
   2 0 -2 0 1 0 -1 0
   1 1 1 1  0 0 0 0  % 把0变为2可为实心
   0 0 0 0  1 1 1 1
   0 0 0 0  0 0 0 0
   0 0 0 0  0 0 0 0
   2 2 2 2 1 1 1 1];
[p,e,t] = initmesh(g,'hmax',0.25);
figure
pdemesh(p,e,t);
figure
node=p';elem=t(1:3,:)';
h = trisurf(elem(:,1:3),node(:,1),node(:,2),zeros(size(node,1),1));
set(h,'facecolor',[1 0. 0.],'edgecolor','k'); % 红色[1,0,0],绿色[0,1,0],蓝色[0,0,1]
view(2); axis equal; axis tight; axis off;

  四、常见区域(方形,圆形及L型区域)

clc,clear;
close all
h=0.25;        

%% Ex1: L shape mesh
figure
g=[2 0 2 0 0 1 0
   2 2 2 0 1 1 0
   2 2 1 1 1 1 0
   2 1 1 1 2 1 0
   2 1 0 2 2 1 0
   2 0 0 2 0 1 0]';
[p,e,t] = initmesh(g,'hmax',h);
pdemesh(p,e,t);

%% Rectangle
figure
r=Rectg(0,0,1,1);
[p,e,t] = initmesh(r,'hmax',h);
pdemesh(p,e,t);

%% Unit circle
figure
[p,e,t] = initmesh('circleg','hmax',h);
pdemesh(p,e,t);

  

标签:node,initmesh,剖分,figure,网格,pdemesh,MATLAB,hmax,axis
From: https://www.cnblogs.com/qfl21/p/18341146

相关文章

  • 灰狼优化算法(GWO)与长短期记忆网络(LSTM)结合的预测模型(GWO-LSTM)及其Python和MATLAB实现
    ####一、背景在现代数据科学和人工智能领域,预测模型的准确性和效率是研究者和工程师不断追求的目标,尤其是在时间序列预测、金融市场分析、气象预测等领域。长短期记忆(LSTM)网络是一种解决传统递归神经网络(RNN)在长序列学习中存在的梯度消失和爆炸问题的有效模型。LSTM能够保持......
  • 灰狼优化算法(GWO)与门控循环单元(GRU)结合的预测模型(GWO-GRU)及其Python和MATLAB实现
    ####一、背景深度学习已成为解决复杂时序数据预测问题的重要工具。在众多神经网络架构中,门控循环单元(GatedRecurrentUnit,GRU)凭借其在捕捉时间序列数据中的长程依赖性和相对较低的计算复杂度而受到广泛关注。此外,优化算法在深度学习模型的训练中扮演着至关重要的角色。灰......
  • 【MATLAB源码】机器视觉与图像识别技术(7)续---BP神经网络
    系列文章目录在最后面,各位同仁感兴趣可以看看!BP神经网络第一节、BP网络定义第二节、BP网络结构及其特点第三节、信息传播方式信息的正向传播:实质是计算网络的输出误差的反向传播:实质是学习过程第四节、BP网络的算法流程图及设计第五节、BP网络的局限与不足第八节、BP网络......
  • 【MATLAB源码】数学建模基础教程---初步认识数学建模
    系列文章目录在最后面,各位同仁感兴趣可以看看!什么是数学建模含义1.区分数学模型和数学建模2.建立数学模型的注意事项3.数学建模流程图解4.数学建模模型分类5.论文常用套路6.最后:总结系列文章目录含义所谓数学建模,简言之,就是对研究对象进行系统的抽象和概化,进而形成数学......
  • MATLAB(16)评价模型
    一、前言    在MATLAB中实现各种评价模型,如模糊评价、层次分析法(AHP)、综合评价模型、主成分分析(PCA)、数据包络分析(DEA,也称为数据包络分析或DataEnvelopmentAnalysis)和神经网络模型评价,需要编写相应的代码或使用MATLAB的内置函数和工具箱。下面我将为每种方法提供一......
  • MATLAB(15)分类模型
    一、前言    在MATLAB中,实现不同类型的聚类(如K-means聚类、层次聚类、模糊聚类)和分类(如神经网络分类)需要用到不同的函数和工具箱。下面我将为每种方法提供一个基本的示例代码。二、实现1.K-means聚类%假设X是数据矩阵,每行是一个样本,每列是一个特征X=[randn......
  • MATLAB预测模型(1)
    一、前言    在MATLAB中,解决和预测微分方程通常涉及到使用数值方法,因为许多微分方程的解析解是难以找到的。MATLAB提供了多种函数和工具箱来处理这类问题,其中ode45是最常用的一个,用于求解非刚性微分方程的初值问题。二、实现    以下是一个使用ode45来求解......
  • MATLAB预测模型(2)
    一、前言    在MATLAB中,进行线性回归、非线性回归以及统计回归预测可以通过多种方法实现,包括使用内置函数和自定义函数。下面,我将分别给出线性回归、非线性回归和基于统计回归进行预测的基本示例代码。二、实现1.线性回归    MATLAB中的polyfit函数可以......
  • 【创新未发表】Matlab实现蚁狮优化算法ALO-Kmean-Transformer-LSTM组合状态识别算法研
    蚁狮优化算法(AntLionOptimisation,ALO)是一种启发式优化算法,灵感来源于蚁狮捕食过程中的行为。这种算法模拟了蚁狮捕食中的策略,其中蚁狮通过在环境中设置虚拟陷阱来吸引蚂蚁,然后捕食这些落入陷阱的蚂蚁。在算法中,蚁狮代表潜在解决方案,而虚拟陷阱代表目标函数的局部最小值。......
  • 用电量预测 | 基于ELM极限学习机用电量预测附matlab完整代码
    极限学习机(ExtremeLearningMachine,ELM)是一种单隐层前馈神经网络,具有快速训练速度和良好的泛化能力。ELM通过随机初始化输入层到隐层的连接权重和隐层神经元的偏置,然后利用解析方法直接计算输出层的权重,从而实现快速训练。以下是一个基于ELM的用电量预测流程示例:数据......