How to return a structure as a function output?

44 visualizzazioni (ultimi 30 giorni)
function [s, rx, ry] = ComputeR(frame);
[pyr,pind] = buildLpyr(frame,'auto'); %Building Laplace pyramid
nLevels = size(pind,1)-1; %no. of levels in the pyramid
kernelx = [0.0, 0.0, 0.0; 0.5, 0.0, -0.5; 0.0, 0.0, 0.0];
kernely = [0.0, 0.5, 0.0; 0.0, 0.0, 0.0; 0.0, -0.5, 0.0];
for k = 1:nLevels
s = pyrBand(pyr, pind, k);
rx = conv2(s,kernelx);
ry = conv2(s,kernely);
S(k).s = s;
S(k).rx = rx;
S(k).ry = ry;
end
end
Here this function is returning the values of s, rx, ry corresponding to the last 'k' value only. How can I get the whole values of S(k).s, S(k).rx and S(k).ry as my function output?
  1 Commento
Jiri Hajek
Jiri Hajek il 14 Dic 2022
Hi, you need just one output, the structure itself. Its field are part of it... Or try to explain better what you mean by "How can I get the whole values of S(k).s, S(k).rx and S(k).ry as my function output?"

Accedi per commentare.

Risposta accettata

Rik
Rik il 14 Dic 2022
If you want the entire struct as the output, then you should make the struct the output:
function S = ComputeR(frame);

Più risposte (0)

Categorie

Scopri di più su Weather and Atmospheric Science in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by