The grid vectors must contain unique points & Error using unique function

1 view (last 30 days)
Hi, I have a range of θ want to put into the equation as below, but it comes out error "The grid vectors must contain unique points". I found out that M would be deplicated when θ >0.024 rad. So, I added the unique function as below, but it still has error "X and V must be of the same length". How should I revise the code?
Before adding unique function:
After adding unique function:
  2 Comments
David Hill
David Hill on 13 Aug 2020
The problem is in your functions calls to interp1 or griddedInterpolant. You need to show more code or use Matlab help to make sure the inputs to these functions are correct.
Kiki Chung
Kiki Chung on 13 Aug 2020
In the interp1 function, X is the theta data and V is the M data. I found that the theta data (R) is 1x61 table while output M data is 1x20 table as shown below. So I was thinking that maybe because of M = unique(moment); it makes the size length of M data reduced. In this case, should I still use unique function?

Sign in to comment.

Answers (1)

Ayush Gupta
Ayush Gupta on 3 Sep 2020
The unique function returns the same data as is passed inside it but with no reeditions. The moment vector contained some repetition of values. So, when we call unique on moment only the unique values are stored in M. Maybe because in the interp1 function the size of both theta and M vector must be same but which is not the case anyone because unique function is applied on the vector. This the reason why it throws the error. The documentation of unique function can be accessed here.

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!