Applying one function in another function

2 views (last 30 days)
Bartosz Bagrowski
Bartosz Bagrowski on 13 May 2022
Answered: Voss on 13 May 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?

Answers (1)

Voss on 13 May 2022
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), ...
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');


Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by