generating an equispaced vector using a variable

6 Ansichten (letzte 30 Tage)
Stephen Devlin
Stephen Devlin am 15 Mär. 2018
Kommentiert: Stephen Devlin am 15 Mär. 2018
Hi, I have a variable that I want to use to make each variable in part of a vector equi-spaced, and I cannot figure out why it is not working. In the code below it works for variable "a" but not "aNumber", I'm sure this is obvious but I cannot see it. Does anyone know why Matlab is treating "a" differently from "aNumber"?
B=nan(57,5)
aNumber=1.111
a=1
B(1:50,1)=(1:50)
B(1:50,2)=(1:1:50)
B(1:50,3)=(a:1:a*50)
B(1:50,4)=(a:a*50)
B(1:50,5)=(aNumber : aNumber*50)
gives...
Subscripted assignment dimension mismatch.
Error in untitled36 (line 25)
B(1:50,5)=(aNumber : aNumber*50)
Best regards,
Steve
  5 Kommentare
Guillaume
Guillaume am 15 Mär. 2018
aNumber * (1:50)
would give the 50 multiples
Stephen Devlin
Stephen Devlin am 15 Mär. 2018
Thank you Guillaume

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

KSSV
KSSV am 15 Mär. 2018
This would be more apt:
B(1:50,5)=linspace(aNumber , aNumber*50,50)
then
B(1:50,5)=(aNumber : aNumber*50)
Your line creates 1X55 vector, so the error...you actually need 1x50 vector.
  3 Kommentare
Guillaume
Guillaume am 15 Mär. 2018
Bearbeitet: Guillaume am 15 Mär. 2018
how is it creating a 1x55 vector
>> aNumber = 1.111
>> aNumber*50
ans =
55.549999999999997
>> aNumber : aNumber*50
ans =
Columns 1 through 9
1.111 2.111 3.111 4.111 5.111 6.111 7.111 8.111 9.111
...
Column 55
55.111
Stephen Devlin
Stephen Devlin am 15 Mär. 2018
(stabs head with fork) I get it now, thanks KSSV

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing 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!

Translated by