Searching for minimum x root for known y

2 visualizzazioni (ultimi 30 giorni)
Hello. I am beginner with matlab and I'm getting confused so I would like some help.
I have the equation y = -0,1042x^5 + 1,9167x^4 - 13,062x^3 + 39,333x^2 - 45,083x + 21 and I have also inserted a matrix of 8760 y values.
I want to build a table that displays the minimum root of x every time for given y values.
Any help?
  3 Commenti
Panos Katsa
Panos Katsa il 20 Feb 2020
i dont know exaclty how to make equations between this function for instance and each and every column of the matrix
Alex Mcaulley
Alex Mcaulley il 20 Feb 2020
Modificato: Alex Mcaulley il 20 Feb 2020
For each value in y you can obtain the roots using roots function and then take the minimum value using min
Hints:
  • for loop might be useful
  • read the documentation of roots

Accedi per commentare.

Risposta accettata

the cyclist
the cyclist il 20 Feb 2020
This code finds the minimum root, for y == 43.
y = 43;
p = [-0.1042 1.9167 13.062 39.333 45.083 21-y];
min(roots(p))
You'll need to run a loop over your values of y.
  5 Commenti
the cyclist
the cyclist il 20 Feb 2020
Modificato: the cyclist il 20 Feb 2020
Here is one way to convert from table to numeric. I also documented what the prior code was doing.
% Create a variable y that is a table (where the variable *inside* the table is also named
% "y"). You should use your real data here instead
y = table([22; 44],'VariableNames',{'y'});
% Convert it to numeric
y_numeric = table2array(y);
% Get the number of values
y_count = numel(y_numeric);
% Preallocate the array for the minimum values
minValues = zeros(y_count,1);
% Loop over each value of y, and store the minimum root
for iy = 1:y_count
p = [-0.1042 1.9167 13.062 39.333 45.083 21-y_numeric(iy)];
minValues(iy) = min(roots(p));
end

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Data Import from MATLAB in Help Center e File Exchange

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by