Sub-scripted Dimension Mismatch Error

1 visualizzazione (ultimi 30 giorni)
I am trying to create a table, with range breakpoints along the left hand vertical axis (starting at the 2nd row of the matrix a). But I can't seem to figure this error out.
I first create an empty matrix a.
a=[];
Then I try to assign these values, starting at the 2nd row
range = [0 35 70 100 135 170 200 230 260 300]';
by using the following command
a(2:end,1) = range;
Now, shouldn't this assign the values of range, beginning at the second row of a, instead of the first? I get the error
Subscripted assignment dimension mismatch.
Any thoughts?

Risposta accettata

Todd Leonhardt
Todd Leonhardt il 25 Mag 2016
At the moment you are attempting to assign something to the 1st column row a (starting at the 2nd row), but a is a matrix of double precision floating-point numbers of dimensions 0 x 0. It doesn't have any data in it at all. So you are effectively attempting to assign things to memory which hasn't been allocated yet.
Now, if a already had a matrix where the in the first column was of sufficient size, then you could do this.
I don't know what you are trying to achieve with these "range breakpoints". Maybe you could use nan (not-a-number) values in their place?
  2 Commenti
Ibro Tutic
Ibro Tutic il 25 Mag 2016
I am creating a table, with the above breakpoints along the vertical axis (starting from the 2nd row to the end, in the first column) and I have another set of breakpoints that create the horizontal axis of the table (along the top) starting at the 2nd column, to the end, in the first row.
Ibro Tutic
Ibro Tutic il 25 Mag 2016
I fixed the issue by initializing the matrix a by
a = zeroes(11,11)
Which was what you essentially suggested. Thanks.

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 25 Mag 2016
When a is [], end is 0 so 2:end is 2:0 which is empty. You are trying to write non-empty data into an empty range.
You would need
a(2:length(range)+1,1) = range;

Categorie

Scopri di più su Graphics Object Programming 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