许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  MATLAB将CST两端口Y参数转换为T参数方法

MATLAB将CST两端口Y参数转换为T参数方法

阅读数 3
点赞 0
article_banner


因为CST中内嵌的脚本语言winwrap basic v9不支持复数运算,所以将两端口Y参数导出到MATLAB中计算。

此代码实现的功能:从CST中导入两端口Y参数到MATLAB,在MATLAB中将Y参数转换为T参数,将MATLAB中的T参数导入到CST中。

MATLAB使用2023版本。CST使用2023版本。

下文代码

clc,clear

filename_cst = "C:\Users\Desktop\***.cst"; Y11filepath = "Tasks\SPara1\Y-Parameters\Y1,1";%CST设计工作室导航树上Y11路径 Y12filepath = "Tasks\SPara1\Y-Parameters\Y1,2";%CST设计工作室导航树上Y12路径 Y21filepath = "Tasks\SPara1\Y-Parameters\Y2,1";%CST设计工作室导航树上Y21路径 Y22filepath = "Tasks\SPara1\Y-Parameters\Y2,2";%CST设计工作室导航树上Y22路径

cst = actxserver("CSTStudio.Application.2023");pause(1.5) file_cst=invoke(cst,'OpenFile',filename_cst);%注意,在cst中不要提前打开仿真文件(文件名filename_cst) %file_cst=invoke(cst,'Active3D');

%获取Y参数路径 DSResultTree=invoke(file_cst,"DSResultTree"); sY11=invoke(DSResultTree,"GetFileFromTreeItem",Y11filepath); sY12=invoke(DSResultTree,"GetFileFromTreeItem",Y12filepath); sY21=invoke(DSResultTree,"GetFileFromTreeItem",Y21filepath); sY22=invoke(DSResultTree,"GetFileFromTreeItem",Y22filepath);

%获取Y参数数据 Result1DComplex_Y11 = invoke(file_cst,"Result1DComplex",sY11); Result1DComplex_Y12 = invoke(file_cst,"Result1DComplex",sY12); Result1DComplex_Y21 = invoke(file_cst,"Result1DComplex",sY21); Result1DComplex_Y22 = invoke(file_cst,"Result1DComplex",sY22); length=invoke(Result1DComplex_Y11,"GetN"); f=zeros(length,1); Y11=zeros(length,1);Y12=zeros(length,1);Y21=zeros(length,1);Y22=zeros(length,1); for i =1:length %注意VBA中的数组索引都是从0开始的 disp("Y"+" "+num2str(i)) f(i)=invoke(Result1DComplex_Y11,"GetX",num2str(i-1)); real=invoke(Result1DComplex_Y11,"GetYRe",num2str(i-1)); imag=invoke(Result1DComplex_Y11,"GetYIm",num2str(i-1)); Y11(i)=real+1i*imag; real=invoke(Result1DComplex_Y12,"GetYRe",num2str(i-1)); imag=invoke(Result1DComplex_Y12,"GetYIm",num2str(i-1)); Y12(i)=real+1i*imag; real=invoke(Result1DComplex_Y21,"GetYRe",num2str(i-1)); imag=invoke(Result1DComplex_Y21,"GetYIm",num2str(i-1)); Y21(i)=real+1i*imag; real=invoke(Result1DComplex_Y22,"GetYRe",num2str(i-1)); imag=invoke(Result1DComplex_Y22,"GetYIm",num2str(i-1)); Y22(i)=real+1i*imag; end clear real imag

MATLAB

%Y参数转T参数 T11=zeros(length,1);T12=zeros(length,1);T21=zeros(length,1);T22=zeros(length,1); for i = 1:length T11(i) = -Y22(i)/Y21(i); T12(i) = -1/Y21(i); T21(i) = Y12(i)-Y11(i)*Y22(i)/Y21(i); T22(i) = -Y11(i)/Y21(i); end

%将T参数写入CST %T11 Result1DComplex_T11 = invoke(file_cst,"Result1DComplex",""); for i =1:length disp("T11"+" "+num2str(i)) invoke(Result1DComplex_T11,"AppendXY",num2str(f(i)),num2str(real(T11(i))),num2str(imag(T11(i)))); end invoke(Result1DComplex_T11,"Save","T11"); invoke(Result1DComplex_T11,"AddToTree","T Matrix\T11"); %T12 Result1DComplex_T12 = invoke(file_cst,"Result1DComplex",""); for i =1:length disp("T12"+" "+num2str(i)) invoke(Result1DComplex_T12,"AppendXY",num2str(f(i)),num2str(real(T12(i))),num2str(imag(T12(i)))); end invoke(Result1DComplex_T12,"Save","T12"); invoke(Result1DComplex_T12,"AddToTree","T Matrix\T12"); %T21 Result1DComplex_T21 = invoke(file_cst,"Result1DComplex",""); for i =1:length disp("T21"+" "+num2str(i)) invoke(Result1DComplex_T21,"AppendXY",num2str(f(i)),num2str(real(T21(i))),num2str(imag(T21(i)))); end invoke(Result1DComplex_T21,"Save","T21"); invoke(Result1DComplex_T21,"AddToTree","T Matrix\T21"); %T22 Result1DComplex_T22 = invoke(file_cst,"Result1DComplex",""); for i =1:length disp("T22"+" "+num2str(i)) invoke(Result1DComplex_T22,"AppendXY",num2str(f(i)),num2str(real(T22(i))),num2str(imag(T22(i)))); end invoke(Result1DComplex_T22,"Save","T22"); invoke(Result1DComplex_T22,"AddToTree","T Matrix\T22");


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空