# How to tune matrices to specific output?

1 vue (au cours des 30 derniers jours)
Ali Almakhmari le 26 Sep 2023
Commenté : Sam Chak le 26 Sep 2023
Hey guys. So I have four matrices that are each 8 by 8: matrix P, matrix Q, matrix R, and matrix G. I have a certain algorithm (I wont go in to too much details about it because its too complicated with multiple files) that depends on those four matrices and uses them to output a single column of values for me. I also have what I call the perfect output, which is what I desire the output single column to look like. Now my question is: How can I use MATLAB to tune those 4 matrices in order for the output column to match the perfect output column?
##### 8 commentairesAfficher 6 commentaires plus anciensMasquer 6 commentaires plus anciens
Ali Almakhmari le 26 Sep 2023
The length of the output is 314.
Sam Chak le 26 Sep 2023
The code is looking good. 👍
% Initialize P, Q, R, G
P = [0.5 2.5; 3.5 1.5];
Q = P;
R = Q;
G = R;
perfectoutput = [1; 81; 256; 16];
x0 = cat(3, P, Q, R, G);
lsqnonlin(@(x) computeOutput(x(:,:,1), x(:,:,2), x(:,:,3), x(:,:,4)) - perfectoutput, x0)
Warning: Trust-region-reflective algorithm requires at least as many equations as variables; using Levenberg-Marquardt algorithm instead.
Local minimum found. Optimization completed because the size of the gradient is less than 1e-4 times the value of the function tolerance.
ans =
ans(:,:,1) = 1.0000 4.0000 3.0000 2.0000 ans(:,:,2) = 1.0000 4.0000 3.0000 2.0000 ans(:,:,3) = 1.0000 4.0000 3.0000 2.0000 ans(:,:,4) = 1.0000 4.0000 3.0000 2.0000
function output = computeOutput(P, Q, R, G)
M = P.*Q.*R.*G;
output = [M(1); M(2); M(3); M(4)];
end

Connectez-vous pour commenter.

### Réponse acceptée

Bruno Luong le 26 Sep 2023
Modifié(e) : Bruno Luong le 26 Sep 2023
Use lsqnonlin (or such) if you have optimization toolbox.
##### 0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

R2022b

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by