在之前写的文章中,介绍了三相逆变器的控制方法和数学模型,如果忘记了可以回顾一下。基于PI双闭环解耦控制的三相SVPWM电压型逆变器(1)--数学模型基于PI双闭环解耦控制的三相SVPWM电压型逆变器(2)--控制器设计下面介绍一下调制方法。为什么需要调制方法呢?在之前的控制器的设计的最后,我们得到的是目标的电压,而我们的控制对象是mos管,它的控制信号是PWM,而不是虚拟的电压信号。所以我们要将我们之前得到的目标电压转换成PWM控制信号。调制的过程实际上就是把目标电压转换成PWM信号,使得mos能够按照一定的规律开关,从而输出我们的目标电压。常见的调制方法有两种,SPWM和SVPWM两种。SP
有人可以解释为什么需要添加out或in参数来指示泛型类型是C#4.0中的Co或Contra变体吗?我一直在努力理解为什么这很重要以及为什么编译器不能简单地弄明白..谢谢,乔希 最佳答案 从事语言工作的EricLippert在msdn上有一系列帖子应该有助于澄清所涉及的问题:http://blogs.msdn.com/ericlippert/archive/tags/Covariance+and+Contravariance/default.aspx阅读该链接中显示的文章时,请从底部开始,然后向上阅读。最终您将到达#7(Whydowe
有人可以解释为什么需要添加out或in参数来指示泛型类型是C#4.0中的Co或Contra变体吗?我一直在努力理解为什么这很重要以及为什么编译器不能简单地弄明白..谢谢,乔希 最佳答案 从事语言工作的EricLippert在msdn上有一系列帖子应该有助于澄清所涉及的问题:http://blogs.msdn.com/ericlippert/archive/tags/Covariance+and+Contravariance/default.aspx阅读该链接中显示的文章时,请从底部开始,然后向上阅读。最终您将到达#7(Whydowe
这是怎么回事?interfaceIRepositorywhereT:IBusinessEntity{IQueryableGetAll();voidSave(Tt);voidDelete(Tt);}它说:Invalidvariance:Thetypeparameter'T'mustbecontravariantlyvalidon'MyNamespace.IRepository.Delete(T)'.'T'iscovariant. 最佳答案 考虑如果编译器允许会发生什么:interfaceIR{voidD(Tt);}classC:IR{
这是怎么回事?interfaceIRepositorywhereT:IBusinessEntity{IQueryableGetAll();voidSave(Tt);voidDelete(Tt);}它说:Invalidvariance:Thetypeparameter'T'mustbecontravariantlyvalidon'MyNamespace.IRepository.Delete(T)'.'T'iscovariant. 最佳答案 考虑如果编译器允许会发生什么:interfaceIR{voidD(Tt);}classC:IR{
我没有参加PDC2008,但听说C#4.0宣布支持泛型协变和逆变。即List可以分配给List.怎么可能?在JonSkeet的书C#inDepth中,解释了为什么C#泛型不支持协变和逆变。它主要用于编写安全代码。现在,C#4.0更改为支持它们。会不会带来困惑?谁知道C#4.0的细节可以给些解释? 最佳答案 Variance只会以安全的方式得到支持——事实上,使用CLR已有的能力。所以我在尝试使用List的书中给出的示例作为List(或不管它是什么)仍然不起作用-但其他一些情况会起作用。首先,它只支持接口(interface)和委托(
我没有参加PDC2008,但听说C#4.0宣布支持泛型协变和逆变。即List可以分配给List.怎么可能?在JonSkeet的书C#inDepth中,解释了为什么C#泛型不支持协变和逆变。它主要用于编写安全代码。现在,C#4.0更改为支持它们。会不会带来困惑?谁知道C#4.0的细节可以给些解释? 最佳答案 Variance只会以安全的方式得到支持——事实上,使用CLR已有的能力。所以我在尝试使用List的书中给出的示例作为List(或不管它是什么)仍然不起作用-但其他一些情况会起作用。首先,它只支持接口(interface)和委托(
IEnumerable是co-variant但它不支持值类型,只支持引用类型。下面的简单代码编译成功:IEnumerablestrList=newList();IEnumerableobjList=strList;但从string改变至int会得到编译错误:IEnumerableintList=newList();IEnumerableobjList=intList;原因在MSDN中解释:Varianceappliesonlytoreferencetypes;ifyouspecifyavaluetypeforavarianttypeparameter,thattypeparameter
IEnumerable是co-variant但它不支持值类型,只支持引用类型。下面的简单代码编译成功:IEnumerablestrList=newList();IEnumerableobjList=strList;但从string改变至int会得到编译错误:IEnumerableintList=newList();IEnumerableobjList=intList;原因在MSDN中解释:Varianceappliesonlytoreferencetypes;ifyouspecifyavaluetypeforavarianttypeparameter,thattypeparameter
目录2.7.1逆变的概念1)逆变的概念及原因2)电能的流动3)逆变产生的条件波形分析2.7.2三相桥整流电路的有源逆变工作状态1)逆变工作原理及波形分析2)有源逆变状态时各电量的计算2.7.3逆变失败与最小逆变角的限制逆变失败(逆变颠覆)1)逆变失败的原因换相重叠角的影响2)确定最小逆变角的依据1)查阅有关手册2)参照整流时换相重叠角的计算方法2.7.1逆变的概念1)逆变的概念及原因逆变(Invertion)——把直流电转变成交流电,整流的逆过程。逆变电路——把直流电逆变成交流电的电路。有源逆变电路——交流侧和电网连结应用:直流可逆调速系统、交流绕线转子异步电动机串级调速以及高压直流输电等。无