2013-04-02 194 views
0

我想用神經網絡工具箱與simulink模型生成神經網絡。如何使用神經網絡與simulink和神經網絡工具箱

的NN爲倒立擺的控制器。每當我建立一個網絡時,它總是會產生一個單一輸入的網絡。我的問題需要用兩個輸入一個輸出來解決,然後我必須把這個網絡放在一個simulink塊上,但是我找不到正確的工具。我看到的唯一一個需要兩個網絡模型,我不知道爲什麼。

請問有人可以幫我嗎?

回答

1

在嘗試轉換爲Simulink模塊,你應該確保你訓練的NN正常工作在MATLAB。你是什​​麼意思有一個單一的輸入?所有的輸入都應該在相同的數據結構(例如矩陣)中,其中行數=「輸入」的數量。

以下是使用house_dataset的示例。只需在matlab命令行輸入「help house_dataset」即可獲得此示例代碼。

[x,t] = house_dataset; 
net = fitnet(10); 
net = train(net,x,t); 
view(net) 
y = net(x); 

無論如何,x是13乘506矢量。該訓練的網絡有大小13的輸入:

net.inputs {1} .size

ANS =

13 

你和你的培訓看到了什麼網絡?你給它一個2D輸入矢量嗎?

一旦你的網絡進行訓練,你有正確的輸入大小,可以傳輸網絡使用gensim功能SIMULINK。一旦進入simulink,您可以通過使用多路複用器等構建輸入向量來將輸入發送到NN,並將其作爲單個信號連接到網絡。當然,您可以通過多種方式生成矢量,您不必使用多路複用器。

+0

現在我明白了。我很困惑。我重新檢查,實際上,我的網絡有2個輸入。非常感謝您的寶貴時間。 – Fred

+0

我們如何使用訓練好的網絡來預測新輸入向量的值? – Rasoul

+0

@Rasoul,你可以使用一個訓練好的網絡來預測給定一個新的輸入向量的新的_target_:newTarget = net(newInputVector)。你是這個意思嗎? – Grittathh