How to return a structure as a function output?

39 vues (au cours des 30 derniers jours)
Anisia Anil
Anisia Anil le 14 Déc 2022
Commenté : Anisia Anil le 14 Déc 2022
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 commentaire
Jiri Hajek
Jiri Hajek le 14 Déc 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?"

Connectez-vous pour commenter.

Réponse acceptée

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

Plus de réponses (0)

Catégories

En savoir plus sur Weather and Atmospheric Science dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by