您當前位置>首頁 » 新聞資(zī)訊 » 網站(zhàn)建設 >
關(guān)于Matlab的Web開發以及Matlab webservice服務的實現經驗
發表時間:2010-12-20
發布人:葵宇科技
浏覽次數:62
最近碰到一個(gè)同學要用到Matlab web Service服務,聽說過,但是從來沒用過,花(huā)了很多時間去配置,結果失敗了,所以特意到此留個(gè)腳印告誡後來的同學們:
1、首先說說matlab 的webservice服務這個(gè)東西,說白了就是能夠在web頁面調用服務器(qì)上的matlab進行運算,以利用matlab強大的函數庫和(hé)功能。這看起來的确很美好,特别是對于學生來說,matlab裡面大量的函數可(kě)以說大大的減輕了其編程的工作量,而把更多的時間花(huā)在業(yè)務流程與算法上面。
2、可(kě)行性:matlab web service服務在2007版本裡面已經比較完善了,而新版本中(zhōng)已經去掉了這一功能,反正以前的那種web service開發方式是否淘汰掉了。根據官方提供的例子(zǐ)也能夠運行和(hé)配置,雖然matlab為我們提供了這種可(kě)行性,但是我不得不說,對于一個(gè)關(guān)于其他業(yè)務知識的學生來說,采用這一功能,完全不可(kě)行:服務無故啟動(dòng)不了;剛還能運行的程序一會就運行不了;還要結合網頁與輸入輸出參數對源程序和(hé)網頁程序進行更改,……這一些問(wèn)題每一個(gè)都會繁瑣不一,我為2個(gè)程序在服務器(qì)上搞了2天,中(zhōng)間成功過,後來莫名其妙的錯誤,我徹底崩潰了,所以也放棄了采用matlb web service來解決問(wèn)題的方法,實際上還有更好的解決方法;
3、替代解決方法:對很多學生來說,可(kě)能更多的關(guān)注自己的研究領域的細節和(hé)算法,而對實現過程則不關(guān)心,雖然精通(tōng)一門編程語言可(kě)以給他們帶來很多便利,但是在目前很多科研學生的編程能力還是不夠的;對于matlab web service的替代解決方法是:采用其他網頁開發語言來編寫基本的網頁程序和(hé)算法,對于複雜的算法或者需要用到matlab中(zhōng)大量的函數的項目,可(kě)以采用混合編程的方式解決,目前matlab 2010已經很好的支持.NET 和(hé) JAVA的混合編程,這樣可(kě)以極大的提高效率,和(hé)減少(shǎo)部署難度,并且,用.NET或者JAVA來開發算法或者編寫網頁程序也是如(rú)此 的簡單和(hé)便利,至少(shǎo)目前大部分網頁程序的程序員都是屬于這2者。
4、實際案例:以我碰到的這個(gè)案例來說吧:
之前:想采用matlab web service來實現從網頁輸入指定的序列,服務器(qì)調用matlab程序進行運算,并返回結果,網頁輸出;而網頁是采用C#.NET做的;
由于配置複雜,要求較高,最終實現一半放棄了這一想法;轉用.NET混合編程實現:
最終方案:将matlab m程序編譯,在C#.NET中(zhōng)調用大部分算法,其他一部分處理過程直接用C#完成,網頁是用C#.NET做的,所以matlab中(zhōng)的算法很容易得到調用,得到了結果,想怎麼顯示就怎麼顯示。這種方案部署容易,實現簡單(當然要掌握.NET混合編程的技巧),相對第一種方法,不知道輕松多少(shǎo)。
下(xià)次有時間再來寫一篇matlab與.NET混合編程的文(wén)章吧,的确很方便了,有了這個(gè)工具,對于做科研的同學來說,如(rú)虎添翼啊!但是一些實際的應用項目的話,可(kě)能也不太可(kě)行,因為matlab的版權以及運行速度等等。。這不是學生做科研學生考慮的問(wèn)題,呵呵,可(kě)以不予理會。
編程愛好者,關(guān)注.NET軟件開發,Matlab編程及網絡技術(shù)
歡迎光臨我的Cnblog博客:http://www.cnblogs.com/asxinyu/
歡迎大家進行交流,QQ :1287263703
E-mail:asxinyu@qq.com,asxinyu@126.com
cnblogs 标簽: Matlab開發, C#.NET Web開發, matlab混合編程