基于遗传优化的无源被动匀场算法matlab仿真

简介: 本程序基于遗传算法优化无源被动匀场,目标函数为AX+B-D,其中A为132个测量点的贡献矩阵,B为初始磁场,D为目标磁场。通过优化贴片分布X,提升磁场均匀性,适用于MRI系统。程序用MATLAB 2022A实现,包含矩阵构建、遗传优化与结果可视化。

1.程序功能描述
基于遗传优化的无源被动匀场算法matlab仿真,其中优化目标函数为AX+B-D。A矩阵为对圆筒内表面上的132个点进行贴片,进而对匀场球体表面上132个测量点的贡献矩阵系数,B矩阵为初始磁场分布数值列矩阵,D矩阵为目标磁场分布数值列矩阵。

2.测试软件版本以及运行结果展示
MATLAB2022A版本运行
4e8c8bbfad70dcc050c77fa8c54b7aa2_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg
1415e9ae265a7a6e79db93995e3c63d8_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

3.核心程序

A8   = A8.*[B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0];
A7   = A7.*[B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0];
A6   = A6.*[B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0];
A5   = A5.*[B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0];
A4   = A4.*[B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0];
A3   = A3.*[B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0];
A2   = A2.*[B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0];
A1   = A1.*[B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0];
A0   = A0.*[B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0];
A_1  = A_1.*[B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0];
A_2  = A_2.*[B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0];
A_3  = A_3.*[B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0];
A_4  = A_4.*[B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0];
A_5  = A_5.*[B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0];
A_6  = A_6.*[B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0];
A_7  = A_7.*[B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0];
A_8  = A_8.*[B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0];

A     = [A_8,A_7,A_6,A_5,A_4,A_3,A_2,A_1,A0,A1,A2,A3,A4,A5,A6,A7,A8];
Ax    = [A;A;A;A;A;A;A;A;A;A;A;A];  %这个位置就是之前说的数据A太小导致 


Ax    = imresize(Ax,[132,132]);

...............................................................
figure;
plot(1:20:length(ERR),ERR(1:20:end),'-b^',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.2,0.9,0.5]);
grid on
xlabel('GA迭代次数');
ylabel('适应度曲线A*X+B-D');
[V,I]   = min(JJ);
Xx_best = Xx2{I};


X       = reshape(Xx_best,[11,12]) 


y       = Ax*Xx_best'+Bx;
Y       = (reshape(y,[11,12]) - ([B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0,B0]));
round(1e6*max(max(Y)))

figure;
imagesc(X)
colorbar
title('优化后的磁感应强度影响系数矩阵投影图');

4.本算法原理
在磁共振成像(MRI)系统中,磁场的均匀性对于获得高质量的图像至关重要。无源被动匀场是一种常用的提高磁场均匀性的方法,它通过在磁体孔洞内放置合适的磁性材料来调整磁场分布。基于遗传优化的无源被动匀场算法能够有效地确定这些磁性材料的放置位置和参数,以达到最佳的匀场效果。

eebaf7278faefc31f3066fcf459ea7a4_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

首先来分析一下这个最优计算公式:

一、A矩阵为对圆筒内表面上的132个点进行贴片,进而对匀场球体表面上132个测量点的贡献矩阵系数。 以上数据构成MATLAB大数据矩阵,其中大矩阵中的数据按照从-5至+5的顺序进行周期排列填充,其中行数为12*11=132行。

其中12为重复的周期数,11为每个周期中所含有的行数=-5至+5,一共为11行,每行中的元素按照表格中的角度从小到大进行填充,每个角度中的列数据按照由上至下的顺序填充,每行中含有的数据为1112=132个数据,也即构成大矩阵的132列。所以,大矩阵中一共含有的填充数据位(1211)(总行数)*132(总列数)=17424个数据。(此矩阵也即算法中的贡献因子矩阵A)

二、每个位置上的贴片数量构成的矩阵X,贴片位置数一共为1211=132个,其中12代表沿着圆筒圆周方向将360°等分12份,11代表每一等分位置处,沿着轴向位置从坐标-5至+5的11个位置(即11个位置处的贴片数量可表示为:-x5、-x4、-x3、-x2、-x1、x0、+x1、+x2、+x3、+x4、+x5),所以矩阵X中的元素数为1211=132个,可表示成132*1的矩阵。

三、B矩阵为初始磁场分布数值列矩阵.

四、D矩阵为目标磁场分布数值列矩阵,各点目标场值的偏差量控制在-2000Hz~2000Hz。

相关文章
|
2月前
|
存储 传感器 分布式计算
针对大尺度L1范数优化问题的MATLAB工具箱推荐与实现
针对大尺度L1范数优化问题的MATLAB工具箱推荐与实现
|
2月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
261 0
|
2月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
175 8
|
2月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
181 8
|
2月前
|
机器学习/深度学习 供应链 算法
【电动车】基于削峰填谷的电动汽车多目标优化调度策略研究(Matlab代码实现)
【电动车】基于削峰填谷的电动汽车多目标优化调度策略研究(Matlab代码实现)
121 0
|
2月前
|
机器学习/深度学习 数据采集 负载均衡
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
166 0
|
2月前
|
机器学习/深度学习 算法 新能源
基于动态非合作博弈的大规模电动汽车实时优化调度电动汽车决策研究(Matlab代码实现)
基于动态非合作博弈的大规模电动汽车实时优化调度电动汽车决策研究(Matlab代码实现)
|
2月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
128 0
|
2月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
112 0