Run function multiple times
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi
I have the following function and input
Abonnemang=24200;
filename="Data.xlsx"
[max_val,t0_pos1,peak_width]=FLEXfun(Abonnemang,filename);
The output variables have these formats:
Now I want the function to run two times, so that the output variables have the size 9x2. I tried this but of course it did not work, but maybe you see my point. The function is also generating graphs. They become misformed when I try to run the function 2 times, even without a loop.
Abonnemang=[24200 20000];
filename=["Data.xlsx" "skottar.xlsx"];
for i=1:2
[max_val(:,i),t0_pos1(:,i),peak_width(:,i)]=FLEXfun(Abonnemang(i),filename(i));
end
0 Kommentare
Antworten (1)
Sachin Lodhi
am 12 Jun. 2024
Bearbeitet: Sachin Lodhi
am 12 Jun. 2024
Hello Joel,
To achieve the desired output where each of the variables 'max_val', 't0_pos1', and 'peak_width' have the size '9x2' after running the 'FLEXfun' function twice with different inputs, and to manage the graph generation issue, first pre-allocate the output variables, where each variable has size '9x2' and then assign values to these variables, as shown in the code snippet below:
% Pre-allocate matrices
numOutputs = 9;
max_val = zeros(numOutputs, 2);
t0_pos1 = zeros(numOutputs, 2);
peak_width = zeros(numOutputs, 2);
% Run loop
for i = 1:2
[max_val(:,i), t0_pos1(:,i), peak_width(:,i)] = FLEXfun(Abonnemang(i), filename(i));
end
Note: Ensure that the outputs from FLEXfun are correctly sized (9 elements long). If FLEXfun inherently does not return outputs of this size, you might need to adjust FLEXfun or handle the outputs accordingly.
I hope this helps!
0 Kommentare
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!