小洋洋 发表于 2014-5-14 14:00

求大神帮忙看一下程序的问题出在哪里,如能帮忙修改万分感谢

CircuitEquations={Ii(1+gm1/s/c1+gm1*gm2/s/c1/s/c2)Ig,  IoIg};Current={Ii,Io};CircuitRespones=Together]];H=Io/Ii/.CircuitRespones//Together//Simplify;Print["H(S)=",H]PoleQpole:=Module[{den,fp,Qp},  den=Denominator;  fp=Sqrt/Coefficient]/(2 pi);  Qp=1/(Coefficient/Coefficient/(2pi fp));  Simplify[{fp,Qp}]];ZeroQzero:=Module[{fz,num,Qz0},  num=Numerator;  Qz0=(Coefficient/Coefficient);  fz=Sqrt/Coefficient]/(2 pi);  Simplify[{fz,Qz0 fz}]];{fp,Qp}=Simplify];Klp=H/.s0;PrintLabeledList[{fp,Qp},{"fp","Qp"}];DesignOTA1:=Module[{gm1,gm2},  gm1=C1*Wp/Qp;  gm2=C2*Wp*Qp;  {C1,C2,gm1,gm2}];{C1,C2,gm1,gm2}=Together];PrintLabeledList[{C1,C2,gm1,gm2},{"C1","C2","gm1","gm2"}];Simplifyh1=Together,      c110.*10^(-12),c210*10^(-12)}//N];Print["gm1=",gm1/.{Q6.,WN,   c110.*10^(-12),c210*10^(-12)}//N,"mS"]Print["gm2=",gm2/.{Q6.,WN,   c110.*10^(-12),c210*10^(-12)}//N,"mS"]h=(Numerator/g)/(Simplify/g])PrintLabeledList,     c110.*10^(-12),c210*10^(-12)}//N],{"Qp","fp(Hz)"}];Rexample=N[{c1*10^(12),c2*10^(12),gm1,gm2}/.{Q6.,WN,      c110.*10^(-12),c210*10^(-12)}//N];PrintLabeledList;Plot[{Abs/.sI*2*pi*f*10^6},{f,0.01,3} ,PlotRangeAll ,AxesLabel{"f(MHz)","M(f)"}]


平凡之不凡 发表于 2014-5-14 16:06

我建议楼主把问题格式调整一下,重发一次,有人会给你解决的

小洋洋 发表于 2014-5-14 19:03

本帖最后由 wangzheng3056 于 2014-5-16 19:40 编辑

CircuitEquations={Ii (1+gm1/s/c1+gm1*gm2/s/c1/s/c2)Ig,
   Io (gm1*gm2/s/c1/s/c2)*Ig};
Current={Ii,Io};
CircuitRespones=Together]];
H=Io/Ii/.CircuitRespones//Together//Simplify;
Print["H(S)=",H]
PoleQpole:=Module[{den,fp,Qp},
   den=Denominator;
   fp=Sqrt/Coefficient]/(2 pi);
   Qp=1/(Coefficient/Coefficient/(2pi fp));
   Simplify[{fp,Qp}]];
ZeroQzero:=Module[{fz,num,Qz0},
   num=Numerator;
   Qz0=(Coefficient/Coefficient);
   fz=Sqrt/Coefficient]/(2 pi);
   Simplify[{fz,Qz0 fz}]];
{fp,Qp}=Simplify];
Klp=H/.s 0;
PrintLabeledList[{fp,Qp},{"fp","Qp"}];
DesignOTA1:=Module[{gm1,gm2},
   gm1=C1*Wp/Qp;
   gm2=C2*Wp*Qp;
   {C1,C2,gm1,gm2}];
{C1,C2,gm1,gm2}=Together];
PrintLabeledList[{C1,C2,gm1,gm2},{"C1","C2","gm1","gm2"}];
Simplify
h1=Together,
      c1 10.*10^(-12),c2 10*10^(-12)}//N];
Print["gm1=",gm1/.{Q 2.,W N,
    c1 10.*10^(-12),c2 10*10^(-12)}//N,"mS"]
Print["gm2=",gm2/.{Q 2.,W N,
    c1 10.*10^(-12),c2 10*10^(-12)}//N,"mS"]
h=(Numerator/g)/(Simplify/g])
PrintLabeledList,
      c1 10.*10^(-12),c2 10*10^(-12)}//N],{"Qp","fp(Hz)"}];
Rexample=N[{c1*10^(12),c2*10^(12),gm1,gm2}/.{Q 2.,W N,
      c1 10.*10^(-12),c2 10*10^(-12)}//N];
PrintLabeledList;
Plot[{Abs/.s I*2*pi*f*10^6},{f,0.01,8}
,PlotRange All
,AxesLabel {"f(MHz)","M(f)"}]这是调整完的程序,麻烦大神们帮忙看看吧

山林隐逸 发表于 2014-5-14 21:55

同意。。格式改一下。。然后说明你用的什么语言什么软件。。什么环境

guozihu1986 发表于 2014-5-15 07:51

建议你最好能把你的原始.nb文件传上来,这样别人才能帮你看,还有你这个程序的目的是什么,想要达到什么样的结果,你也没有说,另外,关键部分的注释也很重要,这样才能让别人帮你,一点个人意见

guozihu1986 发表于 2014-5-15 08:01

建议你把原始的.nb文件传上来

guozihu1986 发表于 2014-5-15 08:02

把程序的目的说清楚,关键部分的注释也要加上

cnmover 发表于 2014-5-17 17:28

看着眼花啊

guozihu1986 发表于 2014-5-18 12:30

看没有注释的代码,比自己写还要累啊,楼主这个程序是想做什么呢,能不能稍微介绍下,就放下这么一段代码,太难看懂

小洋洋 发表于 2014-5-19 23:05

我想模拟一个二阶的OTA-C滤波器,也是才学习这个软件,不知道这个程序问题出在哪里了,非常焦急,我把.nb文件穿上去了,望指教
页: [1]
查看完整版本: 求大神帮忙看一下程序的问题出在哪里,如能帮忙修改万分感谢