Borrar filtros
Borrar filtros

Applying one function in another function

1 visualización (últimos 30 días)
Bartosz Bagrowski
Bartosz Bagrowski el 13 de Mayo de 2022
Respondida: Voss el 13 de Mayo de 2022
Hi guys, I have two functions:
1) function sol = CreateRandModel(model)
2) function qnew = CreateNeighbor(q,model)
as an output of my first function I get a structure sol where:
sol =
struct with fields:
sum_fburn_rand: 1.2503e+06
fburn_rand: [1×25 double]
arrival_time: [1×25 double]
In the second function I'm only intersted in the field sum_fburn_rand from the output of my first function, I would like to generate in a loop an array of 10 different values based on how this value is generated in the first function. Could you help me with code?

Respuestas (1)

Voss
Voss el 13 de Mayo de 2022
CreateNeighbor()
ans = 1×10
0.3231 0.6672 0.5264 0.2974 0.2440 0.9573 0.2416 0.2394 0.1875 0.8790
function sol = CreateRandomModel()
sol = struct( ...
'sum_fburn_rand',rand(), ...
'fburn_rand',rand(1,25), ...
'arrival_time',rand(1,25));
end
function result = CreateNeighbor()
result = zeros(1,10);
for ii = 1:numel(result)
temp = CreateRandomModel();
result(ii) = temp.sum_fburn_rand;
% or, without the temporary variable 'temp':
result(ii) = getfield(CreateRandomModel(),'sum_fburn_rand');
end
end

Categorías

Más información sobre Structures en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by