Error message "Error: Function definitions are not permitted in this context." for function with matrix

I'm reading in a 5x5 matrix from excel and a 1x5 vector from excel. I then need to multiply them together in a function. Unfortunately it must be in a function. I keep getting an error message of "Error: Function definitions are not permitted in this context." I'm not quite sure why I'm getting this error. Any help would be appreciated.
Here's my code so far
%%Read in data
A=xlsread('AandB','a:e')
b=xlsread('AandB','g:g')
%%Multiply A and B
function [x] = multiply(A,b)
x=A*b
end

 Respuesta aceptada

If you want the function and the test code all in the same m-file, you can but you need to put a function line at the beginning with the name of the m-file. Like if your m-file is called test.m, then inside that single file have all of this (both functions):
function test()
%%Read in data
A=xlsread('AandB','a:e')
b=xlsread('AandB','g:g')
%%Multiply A and B
x = multiply(A, b)
end
function [x] = multiply(A,b)
x=A*b;
end

Más respuestas (1)

You cannot put a function definition in the same file as a script. You also cannot define a function at the command line. You can store the code for your function in multiply.m

Preguntada:

el 16 de Mzo. de 2016

Respondida:

el 16 de Mzo. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by