Azzera filtri
Azzera filtri

setdiff error in some cases

4 visualizzazioni (ultimi 30 giorni)
Neesha
Neesha il 26 Set 2014
Modificato: Neesha il 2 Ott 2014
Hi I am using setdiff in my code and i am getting 'Improper assignment with rectangular empty matrix' error in a particular case , why and how to solve this? my code is as below:
A = dataset();
A.Location = {'south'};
A.Number = 3;
B= dataset();
B.Location = {'north'};
B.Number = 3;
diff1 = setdiff(A, B); %THIS EXECUTES JUST FINE
C= dataset();
C.Location = {'north'};
C.Number = 3;
C(1, :) = [];
D= dataset();
D.Location = {'west'};
D.Number = 5;
D.Location(2, 1) = {'north'};
diff2 = setdiff(C, D); %THIS EXECUTES JUST FINE
diff3 = setdiff(C, B); %THIS GIVES ME ERROR MENTIONED ABOVE, WHY?
  5 Commenti
Neesha
Neesha il 1 Ott 2014
Stephen Cobeldick : Yes I have, and that is how i came up with example here with the code.
per isakson : just trying to delete a row, to end up with one row in the dataset
dpb : I am not sure what you meant by 'element' but i think you are describing the problem correctly that setdiff fails when one is empty and not-empty has one row. it does work though with empty dataset if non-empty ha more than one row. What is TMW?
dpb
dpb il 1 Ott 2014
...What is TMW?...
The Mathworks, vendors of Matlab. Shorthand for the suggestion you contact official support at www.mathworks.com with a support request for an official interpretation of the behavior observed if you think it's important that the null input case not fail.

Accedi per commentare.

Risposta accettata

Peter Perkins
Peter Perkins il 2 Ott 2014
Neesha, this appears to be a bug when one of the datasets has zero rows and the other has exactly one. A valid edge case to be sure, but somewhat obscure. I will make a note to adress this bug.
  1 Commento
Neesha
Neesha il 2 Ott 2014
Modificato: Neesha il 2 Ott 2014
Thanks, i have contacted technical support and submitted this.
ref:_00Di0Ha1u._500i0DabIS:ref

Accedi per commentare.

Più risposte (0)

Tag

Non è stata ancora inserito alcun tag.

Community Treasure Hunt

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

Start Hunting!

Translated by