[英]return several arrays and variables in a function in c++ (like MATLAB)
[英]Matlab | Matrix Function of Several Variables
我正在研究Matlab,需要定義一個依賴於幾個變量的矩陣函數。
例如,我有以下向量:
t=[1,2,3,4,5,6,7,8,9,10]
y=[1,2,3,4,5,6,7,8,9,10]
那可以包含任何實數或具有任何長度(t和y的長度相同,我稱之為NumData)。
我有一個取決於某些參數P1,P2,...,P5的函數。 我想做的是形成一個依賴於p的矩陣(NumData x 5),它是參數的向量:
我不知道該如何進一步。 我想到定義一個矩陣:
Matrix = ones(NumData,NumParameters)
但是當我嘗試分配時
Matrix(1,3) = p(1)+3*p(2)
我有一個錯誤。
我試圖定義:
Matrix(1,3)=@(p) p(1)+3*p(2)
但這沒用...
我試圖在代碼中定義矩陣,如下所示:
J=@(p) [1 1 1 exp(-p(5)) -p(4)*exp(-p(5))
1 2 4 exp(-2*p(5)) -p(4)*exp(-2*p(5))
1 3 9 exp(-3*p(5)) -p(4)*exp(-3*p(5))
1 4 16 exp(-4*p(5)) -p(4)*exp(-4*p(5))
1 5 25 exp(-5*p(5)) -p(4)*exp(-5*p(5))]
但這不好,因為這是針對特定情況的...
我的主要目標是從t向量形成J,並且J取決於向量參數p,因此我可以稍后進行評估
A= J(1,2,1,2,2)
例如,然后將A分解為QR。
你有什么建議嗎? 還是我對Matlab的要求太多?
我不是100%地確定您要做什么,但是讓我給您一些可行的例子,希望它能對您有所幫助。
p=[1 2 3 4 5];
M=zeros(3,2);
M=[p(1) p(2) p(5); p(3)/p(2) p(5)^p(2) exp(p(3))]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.