常見問題 /MATLAB General



MATLAB General

  1. 主旨:MATLAB與.NET及Borland C++ Builder連結性問題?
  2. 請問MATLAB和微軟.NET(如VC.NET及VB.NET)及Borland C++ Builder可以連結在一起使用嗎?如相互呼叫或交換資料等。有相關的文件資料可以參考嗎?

      MATLAB是可以與微軟.NET 及Borland C++ Builder連結,詳細的產品說明可參考下列的連結:
    1. 微軟.NET:可透過MATLAB Builder for .NET將M-file轉成.NET object給相關的.NET軟體使用,請參考原廠產品網頁以獲得更多訊息。

    2. Borland C++ Builder:可使用 MATLAB Compiler將M-file轉成C/C++ shared library,此library可給Borland C++ Builder使用。請參考原廠產品網頁以獲得更多訊息。
    回上一層


  3. 主旨:MATLAB資料與VB之連結性問題?
  4. 請問使用MATLAB擷取影像可否馬上傳給由VB所寫成的資料庫?需要哪些Toolbox?

      欲使用MATLAB擷取影像需要搭配Image Acquisition Toolbox,同時MATLAB也可以直接與VB連結。但若想要將此VB檔分享給其他使用者,則必須加購MATLAB Compiler與MATLAB Builder for COM才可以獨立MATLAB作影像的處理。
    回上一層



  5. 主旨:如何利用MATLAB進行影像擷取?
  6. 請問MATLAB下如何擷取影像及儲存影像?使用的擷取卡為 METEOR2/4 Analog Color/Mono,不知道是否可以跟MATLAB可以連結?

      關於MATLAB支援的影像擷取卡,請參考原廠網頁,有完整支援的產品型號。而跟擷取卡做連結、擷取、存檔,可用下列指令:videoinput、getsnapshot、imwrite,詳細使用方法請參考其說明檔,謝謝。
    回上一層



  7. 主旨:如何在MATLAB GUI中使用圖軸,並將結果存成圖檔?
  8. 請問如何在GUI中使用圖軸,並將結果存成圖?首先load 一張圖片,接著用line或plot加上一些線條或圖形,並將結果儲存下來。現使用gca抓下圖軸的index,可是看不出圖的data matrix存在圖軸的哪一個特性內?

      在GUI介面底下用line或plot所加上一些線條或圖形到原始圖形上時,欲將最後的結果記錄下來,可以使用imwrite指令將現在Axes裡的圖形儲存下來,請在執行這動作的按鈕(如save鈕)的Callback下加入下列的指令: function pushbutton3_Callback (hObject, eventdata, handles) %% 匯入圖檔及加上線條的程式部分 obj = getframe(handles.axes1); imwrite(obj.cdata,'output.bmp') 按下按鈕執行完存圖的動作後,會在現有目錄裡產生output.bmp的檔案。
    回上一層



  9. 主旨:MATLAB是否有計算其它基底的log函式?
  10. MATLAB是否有計算其它基底的log函式?

      MATLAB沒有現成其它基底的函式可以使用,但可以透過log10 或 log2函式作轉換。 舉例說明: log_3(9)=2 可以寫成 log_10(9)/log_10(3) 如果要算以3為基底,值為9時,則可用下列參數:>> x=log10(9)/log10(3);
    回上一層



  11. 主旨:MATLAB關於向量值大小排序之用法?
  12. 需要將一個vector依照另一個vector值的大小排序?例如 向量A=[ 3 1 2 ]與向量B=[ 5 6 7 ],向量B 依照 向量A 值的大小排序,則新的向量B = [ 6 7 5]。請問有類似的功能嗎?

     請使用sort指令,指令的使用方式為[Anew , IX] = sort(A),變數Anew為排序過後的新矩陣;IX則為對應原資料的指標。
    以問題的例子來說,撰寫下列程式即可得到新矩陣。

    >> [A1,IX] = sort(A)
    A1 =    1     2     3

    IX =     2     3     1

    >> B1=B(IX)
    B1 =    6     7     5


    回上一層



  13. 主旨:MATLAB是否可以將bar及plot繪製在同一張圖形?
  14. 請問有關bar及plot的繪圖指令? 是否可以將bar及plot繪製在同一張圖形上,但是使用不同的y軸,例如bar使用左邊的y軸,plot使用右邊的y軸。

      PLOTYY指令有此供能,請參考下列範例:


    >> x=1:5;
    >> Y = round(rand(5,3)*10);
    >> Y1=[100 250 80 60 300];
    >> [AX,H1,H2] =plotyy(x,Y, x, Y1, 'bar', 'plot')

    回上一層



  15. 主旨:如何在MATLAB中指定X或Y軸的刻度範圍?
  16. 如何指定X或Y軸的刻度範圍呢?

      欲指定X或Y軸的範圍可使用XLIM和YLIM指令,範例如下:

    >> a=0:0.1:20;
    >> plot(a,sin(a))
    >> xlim([-10 30]) %改變X軸範圍
    >> ylim([-2 2]) %改變Y軸範圍




  回上一層回頁首