How about matlab size function ?

Why is the size of matrix b different from the size of matrix a?
Please, any suggestions? How to fix it
________________________
a = testSizeFunction
a =
1×1 testSizeFunction array with properties: s: [2×3 double]
[M,N] = size(a)
M = 2
N = 3
b = rand(size(a))
b = 2×2
0.5167 0.2590 0.8186 0.9810

 Risposta accettata

Matt J
Matt J il 4 Mar 2023
Modificato: Matt J il 4 Mar 2023
You have not overloaded the size method appropriately for the case where nargout=1:
a = testSizeFunction;
siz=size(a)
siz = 2
Try this instead:
function varargout = size(obj,varargin)
[varargout{1:nargout}] = builtin('size', obj.s, varargin{:}); % call builtin size function
end

6 Commenti

Thank you very much
Matt J
Matt J il 4 Mar 2023
You're welcome, but please Accept-click the answer to indicate that it worked.
Thank you very much, it works.
Matt J
Matt J il 5 Mar 2023
I'm glad, but please Accept-click the answer.
Okay. It works well.
Voss
Voss il 5 Mar 2023
@Mohamed Gharbi: Please click the "Accept This Answer" button on Matt J's answer.

Accedi per commentare.

Più risposte (0)

Prodotti

Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by