comsol with matlab 求散射场

本文介绍如何结合Comsol与Matlab来计算电磁散射场,并展示如何绘制散点图以表示全场、入射场及散射场。通过mphinterp函数在Comsol模型中获取电场值,然后在Matlab中进行处理和作图,通过对比全场和入射场的电场强度差值得到散射场。
摘要由CSDN通过智能技术生成

想要求comsol中仿真的模型的散射场,想对入射场与全场分别取点画出散点图,同时将全场值减去入射场得到散射场绘图。
首先,将comsol与matlab进行关联。
取点值函数mphinterp

clc
clear
%% 加载comsol模型
model = mphload(‘3.mph’);
%mphnavigator
%mphplot(model,‘pg1’)
A=zeros(62500,3);
p=0;
for i=-340:2:160
for j=-abs(sqrt((250250)-((i+90)(i+90)))):2:abs(sqrt((250250)-((i+90)(i+90))))
p=p+1;
Qht= mphinterp(model,‘emw.Ex’,‘coord’,[36.5;i;j])%取特定点的电场值
A(p,1)=Qht;
A(p,2)=i;
A(p,3)=j;
end
end
x=A(:,2);y=A(:,3);C=A(:,1);
`
通过程序分别均匀取出全场与入射场中固定点数的电场值,相减得出散射场进行绘图。


clc
clear
S=10
cell2mat(struct2cell(load(‘全场.mat’)))
B=ans
cell2mat(struct2cell(load(‘入射场.mat’)))
A=ans
z=A(:,1);x=A(:,2);y=A(:,3);z=real(z);
m=B(:,1);n=B(:,2

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值