cycr1234 发表于 2006-3-28 15:34

<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>

happy 发表于 2006-3-28 15:35

回复:(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>

cycr1234 发表于 2006-3-28 16:21

<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&lt;=120);<BR>y2=u(x1&gt;120&amp;x1&lt;=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&lt;=a)=0;<BR>uA(x1&gt;a&amp;x1&lt;(180-a))=1;<BR>uA(x1&gt;=(180-a)&amp;x&lt;=180)=0;<BR>uA(x1&gt;180&amp;x1&lt;(180+a))=0;<BR>uA(x1&gt;(180+a)&amp;x1&lt;(360-a))=-1;<BR>uA(x1&gt;=(360-a)&amp;x&lt;=360)=0;<BR><BR><BR><BR>如何求uAO的有效值?</P>
页: 1 [2]
查看完整版本: [求助]关于积分的问题