回复:(cycr1234)可以运行,谢谢可是如果改成q = qu...
<DIV class=quote><B>以下是引用<I>cycr1234</I>在2006-3-28 15:34:23的发言:</B><BR><P>可以运行,谢谢<BR><BR>可是如果改成q = quad(@y,0,2*pi,1.0e-6,0,a)<BR> 或q = quad(y,0,2*pi,1.0e-6,0,a)<BR>就会提示程序出错<BR><BR>那么这样岂不是很不实用,无法计算其有效值,也没办法把它应用到其他函数里去,再计算其他函数特性</P></DIV>
<P>你改完之后,matlab认为y是变量,怎么会不出错,晕乎乎</P> <P>头都大了呵呵<BR>syms a t %主程序<BR>t=linspace(0,2*pi,361);<BR>a=;<BR>for a=<BR>uA=source(t,a);<BR>uB=shift(uA,t);<BR>uC=shift(uB,t);<BR>uAO=(2*uA-uB-uC)/3;<BR><BR>function y=shift(u,x) %120度移相<BR>x1=(x/2/pi)*360;<BR>y1=u(x1<=120);<BR>y2=u(x1>120&x1<=360);<BR>y=;<BR><BR><BR>function y =source(x,a) %产生A相波形,是个360度内的分段函数<BR>x1=(t/2/pi-floor(t/pi/2))*360;<BR>uA(x1<=a)=0;<BR>uA(x1>a&x1<(180-a))=1;<BR>uA(x1>=(180-a)&x<=180)=0;<BR>uA(x1>180&x1<(180+a))=0;<BR>uA(x1>(180+a)&x1<(360-a))=-1;<BR>uA(x1>=(360-a)&x<=360)=0;<BR><BR><BR><BR>如何求uAO的有效值?</P>
页:
1
[2]