Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to correct "Function definitions are not permitted at the prompt or in scripts"

I want to write the code for this equation:T2(i)=T1(i)+2*[T1(i-1)+T1(i+1)]

syms T1  T2
function [T2] = stat(T1)

for   i=1:3
   T2(i)=T1(i)*2+[T1(i-1,)+T1(i+1,)]*2
end

i want to code produce T2(111)=T1(111)+2*[T1(011)+T(211)] and the loop go on . but matlab giving this error

"Function definitions are not permitted at the prompt or in scripts"

How can I solve this problem?

like image 750
roghie Avatar asked May 11 '11 19:05

roghie


1 Answers

Matlab expects functions to be in their own file. Copy the above code to a file 'stat.m' and it should work.

This policy does cause an unnecessary number of short files, but it is required because of the way matlab handles variable scope. Each file gets its own scope, and all variables in the command prompt have global scope.

like image 136
Quantum7 Avatar answered Sep 24 '22 19:09

Quantum7