You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mathematica中如何绘制模块内定义的函数二维图像

SS拓扑谐振电路效率Mathematica绘图代码修正

原代码问题排查

原代码存在以下可导致运行失败或结果错误的问题:

  • 变量赋值顺序错误:C1、C2的计算语句写在L1、L2赋值之前,计算时会调用未定义的电感值
  • 缺失参数定义:效率表达式中用到的负载电阻RL未赋值
  • 语法笔误:C22为C2^2的书写错误,M [d]2为M[d]^2的书写错误;互感M的定义语法不符合Mathematica局部函数规则,易造成全局变量污染
  • 互感计算的参数未做局部隔离,易和全局变量产生冲突

修正后可运行代码

Eff[d_, f_] := Module[
  {C1, C2, L1, L2, R1, R2, Rs, Ro, a, b, w, mu, RL, M, eff, fr, Vi, N1, N2},
  (* 基础固定参数赋值 *)
  L1 = L2 = 14*10^-6;
  fr = 270*10^3;
  Ro = R1 = R2 = Rs = 0.2;
  RL = 10; (* 负载电阻测试值,可根据实际需求修改 *)
  a = b = 0.5;
  mu = 4*Pi*10^-7;
  Vi = 100;
  N1 = N2 = 100;

  (* 角频率与补偿电容计算,如需固定谐振点电容可将w替换为2*Pi*fr *)
  w = 2*Pi*f;
  C1 = 1/(L1*w^2);
  C2 = 1/(L2*w^2);

  (* 局部定义同轴圆形线圈互感计算函数 *)
  M[dist_] := Module[{k = Sqrt[(4*a*b)/((a + b)^2 + dist^2)]},
    N1*N2*mu*Sqrt[a*b]*2/k*((1 - k^2/2)*EllipticK[k^2] - EllipticE[k^2])
  ];

  (* 修正笔误后的效率表达式 *)
  eff = (C2^2*M[d]^2*Ro*w^4)/(
    R1 + Rs + C2*(-2*L2 + C2*(R2 + RL)^2)*(R1 + Rs)*w^2 + 
    C2^2*(M[d]^2*(R2 + RL) + L2^2*(R1 + Rs))*w^4
  )
]

(* 绘制线圈间距0.1m时,100kHz~100MHz区间的效率随频率变化曲线 *)
Plot[Eff[0.1, f], {f, 100*10^3, 100*10^6}, 
 PlotRange -> All, 
 AxesLabel -> {"频率f/Hz", "传输效率"},
 PlotStyle -> Thick]

运行说明

直接在Mathematica中运行上述代码即可生成对应二维效率曲线,如需调整线圈参数、负载值、扫频范围,直接修改对应位置的赋值即可。如果需要固定谐振补偿电容为270kHz谐振点的定值,将C1、C2计算式中的w替换为2*Pi*fr即可。

内容的提问来源于stack exchange,提问作者Mr Vee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 21:45:46