How declare a global vector

59 views (last 30 days)
alessandro
alessandro on 23 Jun 2014
Answered: Image Analyst on 24 Jun 2014
I want to declare a global variable V1, dimensions [2 x 1]:
global V1
Vll=[floor(Vrefg); floor(Vrefh)];
V1=Vll;
But I have this error: Size mismatch (size [1 x 1] ~= size [2 x 1]). The size to the left is the size of the left-hand side of the assignment. How I can change the dimensions of V1?
  1 Comment
José-Luis
José-Luis on 23 Jun 2014
The use of globals is discouraged.
Without a minimum working example, telling you how to change V1 is an exercise in wild conjectures, since we don't know what you are trying to achieve. Those tend to be not that much fun.
Furthermore, this sounds like the king of problem that is a good fit for the debugger:
dbstop if error %then run your program

Sign in to comment.

Answers (2)

David Sanchez
David Sanchez on 23 Jun 2014
The fact of being a global variables has nothing to do with its dimension. The following is perfectly valid:
global v
v=[1 2]
Make sure that your line:
Vll=[floor(Vrefg); floor(Vrefh)];
is well defined and its elements are scalars.
  3 Comments
David Sanchez
David Sanchez on 24 Jun 2014
Do you mean that when you type
global V1
V1=[1 2]
in the command window, you get an error?
Try
clear global
before, that would delete any other previous declaration of global variables. If you get the error again, it has to be something related to your system.

Sign in to comment.


Image Analyst
Image Analyst on 24 Jun 2014
Looks like you might have changed your question. If you have
global V1
Vll=[floor(Vrefg); floor(Vrefh)];
V1=Vll;
Then Vrefg and Vrefh must both be scalars or have the same number of columns if they are arrays. What is the value of those two variables?

Community Treasure Hunt

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

Start Hunting!