Effacer les filtres
Effacer les filtres

how to create a changing variable for fsolve?

3 vues (au cours des 30 derniers jours)
Hana
Hana le 6 Juil 2012
i want fsolve to calculate the output for different uc each time (increasing uc by 0.001 each time). each output from fsolve should be sent to a simulink model seperatly. so i set a loop to do so, but i believe that at the currenty constellation (if it will work)will just calculate 1000 different values? is there a way to send out the values seperately?
if not, how can i create a parameter uc. that goes from 0 to say 1000? i tried uc=0:0.1:1000, but again, the demension doen't seem to fit.
how do i create a function that takes the next element of a vector/matrix each time the function is called?
best regards

Réponse acceptée

Walter Roberson
Walter Roberson le 6 Juil 2012
Modifié(e) : Walter Roberson le 6 Juil 2012
function Result = f(YourArray)
persistent iteration_number
if isempty(iteration_number); iteration_number = 0; end
iteration_number = iteration_number + 1;
if iteration_number > numel(YourArray);
Result = [];
iteration_number = []; %reset for next cycle
return;
end
Result = some expression in YourArray(iteration_number)
end
Please also read the documentation for fsolve() as you cannot pass in parameters the way you do. Please see the section about parameterizing the function.
  5 commentaires
Walter Roberson
Walter Roberson le 6 Juil 2012
Write a Level 2 S function if necessary.
There is a lot about Simulink that I have not put together mentally yet, as I do not have access to it myself.
Hana
Hana le 8 Juil 2012
thank you, i will try that. &thanks for taking time answering my questions :)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Schedule Model Components dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by