Does line() function works in matlab R2015b ?
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Bachtiar Muhammad Lubis
am 29 Dez. 2018
Kommentiert: Bachtiar Muhammad Lubis
am 31 Dez. 2018
i had run code that used line() function. and then i got error in line() function.
Error using line
vectors must be the same length
Error in file_name (line 45)
line(h, [thisX, thisX], ylim(h), 'Color', 'r');
h is subplot(4, 12, 1:12).
both of thisX variables off course had the same length.
So. does MATLAB R2015B support line() function ? or was i just wrong while placing the arguments ?
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 29 Dez. 2018
ylim(h) is going to be a row vector of length 2. If your thisX is not scalar then the X values you construct would not be the same length .
you cannot use line() to draw a series of vertical lines. line() can only create one line object per call. plot() can create multiple line objects per call.
5 Kommentare
Walter Roberson
am 31 Dez. 2018
Okay, the problem is that in R2015b, it was not yet permitted to pass an axes as the first parameter. See https://www.mathworks.com/help/releases/R2015b/matlab/ref/line.html
The cure is to use the 'Parent' parameter:
line([thisX, thisX], ylim(h1), 'Parent', h1)
Weitere Antworten (2)
Star Strider
am 29 Dez. 2018
‘So. does MATLAB R2015B support line() function ?’
The line (link) function was ‘Introduced before R2006a’ according to the documentation, so it should.
‘both of thisX variables off course had the same length.’
True. However you horizontally concatenated two of them.
‘or was i just wrong while placing the arguments ?’
I would agree.
If we see your entire code, we would be able to provide more help.
Jan
am 29 Dez. 2018
"h is subplot(4, 12, 1:12)" - this is not clear. Is h a scalar or a vector?
The message is clear: [thisX, thisX] and ylim(h) do not have matching sizes. So use the debugger to examine the problem:
dbstop if error
Type this in the command window and run the code again. When Matlab stops at the error, check the sizes:
size([thisX, thisX])
size(ylim(h))
3 Kommentare
Walter Roberson
am 29 Dez. 2018
Watch out for thisX being row vector vs column vector. With column vector you might get away with it; with row vector you will not, not unless thisX is scalar.
Siehe auch
Kategorien
Mehr zu Creating, Deleting, and Querying Graphics Objects finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
