generating an equispaced vector using a variable

4 vues (au cours des 30 derniers jours)
Stephen Devlin
Stephen Devlin le 15 Mar 2018
Commenté : Stephen Devlin le 15 Mar 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 commentaires
Guillaume
Guillaume le 15 Mar 2018
aNumber * (1:50)
would give the 50 multiples
Stephen Devlin
Stephen Devlin le 15 Mar 2018
Thank you Guillaume

Connectez-vous pour commenter.

Réponse acceptée

KSSV
KSSV le 15 Mar 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 commentaires
Guillaume
Guillaume le 15 Mar 2018
Modifié(e) : Guillaume le 15 Mar 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 le 15 Mar 2018
(stabs head with fork) I get it now, thanks KSSV

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by