Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

how does global function work in this code?

Asked by Fred on 5 Apr 2013

Hi, I am kind of beginner in MATLAB and I try to use the following code. It seems I should define p and q but I can not figure out how should I enter p and q to the code

      function [CL,e,psi,r] = ARMA_FULL(theta0, data)
  %function CL=ARMA_FULL(theta0,data)
% define the global vector
global p q;
x=data;
% initial parameter set theta0 is a column vector;
% c is the constant of the general ARMA model;
% ar is the (1*p) vector;
% ma is the (1*q) vector;
if p==0;
      % initial parameters for pure moving average model 
      y=x-mean(x);
      ma=theta0(2:end-1);
      s=theta0(end);
.
.
.

1 Comment

per isakson on 5 Apr 2013

Try to avoid globals. Don't make it a habit to use them.

Fred

Tags

Products

1 Answer

Answer by per isakson on 5 Apr 2013
Edited by per isakson on 5 Apr 2013
Accepted answer

Try

    >> global my_global
    >> my_global= 17
    my_global =
        17
    >> global_demo
        17
    >> 

where

    function    global_demo()
       global my_global
       disp( my_global )
    end

Matt Fig says: Globals not good.

Search for "globals evil"! You'll find: Global Variables Are Bad and more

0 Comments

per isakson

Contact us