在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

      EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 學(xué)習(xí)LabVIEW(十二)——公式節(jié)點(diǎn)

      學(xué)習(xí)LabVIEW(十二)——公式節(jié)點(diǎn)

      作者: 時間:2017-01-09 來源:網(wǎng)絡(luò) 收藏
      除了MATLAB節(jié)點(diǎn),LabVIEW還提供了公式節(jié)點(diǎn)。在公式節(jié)點(diǎn)中可以用非常接近C的語法編寫代碼實(shí)現(xiàn)計(jì)算。之所以說是“非常接近C”是因?yàn)樵谝恍┘?xì)節(jié)上它和C還是有些許差別。
      這次拿之前在《學(xué)習(xí)LabVIEW(八)——用循環(huán)處理數(shù)組》中給出的代碼做實(shí)驗(yàn),將最內(nèi)層的循環(huán)改用公式節(jié)點(diǎn)來實(shí)現(xiàn)。之前的最內(nèi)層循環(huán)如下圖所示:


      其實(shí)現(xiàn)的運(yùn)算相當(dāng)于:
      z = 0
      for k in range(128):
      z = z * z input;
      if abs(z) > 2:
      break

      還沒有習(xí)慣G語言的時候看到這個框圖還真是一眼難以看出運(yùn)算的表達(dá)式。對于常年使用文本形式的編程語言的人而言,用公式節(jié)點(diǎn)改寫這個迭代過程的話一定會直觀很多吧。
      但是一旦用起來才發(fā)現(xiàn)一個嚴(yán)重的問題:公式節(jié)點(diǎn)不支持復(fù)數(shù)!想來也在意料之中,畢竟是基于C的語法,而C在C99標(biāo)準(zhǔn)之前沒有內(nèi)置的復(fù)數(shù)支持。也許對復(fù)數(shù)的支持是未來語言的趨勢,已經(jīng)有越來越多的語言或是內(nèi)置,或是以庫的方式提供了對復(fù)數(shù)的支持。但不管怎么樣,我們現(xiàn)在用的公式節(jié)點(diǎn)是沒有復(fù)數(shù)支持的,如http://digital.ni.com/public.nsf/allkb/9A31DC2FF5C7C5DF86256B45007AA115所述。如果用極坐標(biāo)的方式描述復(fù)數(shù),我們就得手動展開復(fù)數(shù)的加法,如果用直角坐標(biāo)的形式描述,就得手動展開復(fù)數(shù)的乘法。想想還是用直角坐標(biāo)的形式吧。
      一開始寫了如下的一段代碼,可是運(yùn)行怎么也不對:


      復(fù)數(shù)的展開怎么看也沒有錯誤啊。
      最后在MATLAB中試著算了一下,終于發(fā)現(xiàn)出問題的地方了:在for循環(huán)內(nèi)部,將實(shí)部的計(jì)算結(jié)果賦值給了zReal,在下一行計(jì)算zImag時,用的zReal就已經(jīng)是新的zReal值了,而這里所需要的是上一次的zReal值。居然會犯這種錯誤,難道是很多年前寫Verilog代碼的后遺癥?
      解決方法很簡單,在第一行計(jì)算實(shí)部的時候,將計(jì)算結(jié)果保存在另一個變量temp中,等zImag計(jì)算完成之后,再將temp中存儲的值賦給zReal。修正的程序如下圖所示:


      還有一點(diǎn)需要注意的就是公式節(jié)點(diǎn)似乎沒有“double”,取而代之的是“float64”。
      總結(jié)一下感想,公式節(jié)點(diǎn)不支持復(fù)數(shù),Array Programming也不及MATLAB,對其描述能力有點(diǎn)失望。但因?yàn)椴挥孟馦ATLAB節(jié)點(diǎn)那樣通過ActiveX通道進(jìn)行進(jìn)程間的通信,效率應(yīng)該還是可以的。


      關(guān)鍵詞: LabVIEW公式節(jié)

      評論


      技術(shù)專區(qū)

      關(guān)閉