How do I declare a multiline array?

48 Ansichten (letzte 30 Tage)
Agnieszka Konstantynowicz
Agnieszka Konstantynowicz am 4 Jun. 2018
Kommentiert: Walter Roberson am 30 Dez. 2025 um 22:39
Hello, I have a following problem:
I have to declare an array that is very long and splits into multiple lines. How can I divide it, so that Matlab knows it's one array? Are there any separators I can use at the end of the line?
if true
y = [180 183 188 191 195 199 201 195 207 210 212 216 220 221 224
221 225 229 234 237 239 242 242 244 245 244 246 245 246 247 249
251 252 257 260 263 268 271 272 275 277 279 283 286 291 296 302
306 311 316]
end
  2 Kommentare
Lakshit
Lakshit am 30 Dez. 2025 um 18:12
just put " ; " or entre after which you want to make new row
Walter Roberson
Walter Roberson am 30 Dez. 2025 um 22:39
Using
[a b c
d e f]
is completely equivalent to using
[a b c;
d e f]
or
[a b c; d e f]
or
[a b c; ...
d e f]
However, considering that the last of the four lines of the original question has only 3 numbers whereas the previous 3 lines have 15 numbers each, we deduce that the actual question is about creating a single row vector but splitting the row vector over several lines. Using ";" would not work for that.
y = [180 183 188 191 195 199 201 195 207 210 212 216 220 221 224;
221 225 229 234 237 239 242 242 244 245 244 246 245 246 247 249;
251 252 257 260 263 268 271 272 275 277 279 283 286 291 296 302;
306 311 316]
would be invalid, an attempt to mix a row of 3 with rows of 15.
The solution is the one proposed by @Stephen23 to put ... at the ends of lines. An alternative way to phrase his contribution would be
y = [180 183 188 191 195 199 201 195 207 210 212 216 220 221 224 ...
221 225 229 234 237 239 242 242 244 245 244 246 245 246 247 249 ...
251 252 257 260 263 268 271 272 275 277 279 283 286 291 296 302 ...
306 311 316]
Note the space after the last number before the ... operator. Several releases ago, MATLAB changed the way that the ... operator was handled; before
[a...
b]
was treated as
[ab]
but now it is treated as
[a b]
To ensure compatiability, it is best to add in the space manually,

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Stephen23
Stephen23 am 4 Jun. 2018
Bearbeitet: Stephen23 am 4 Jun. 2018
y = [180,183,188,191,195,199,201,195,207,210,212,216,220,221,224,...
221,225,229,234,237,239,242,242,244,245,244,246,245,246,247,249,...
251,252,257,260,263,268,271,272,275,277,279,283,286,291,296,302,...
306,311,316]

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by