Creating a function that returns a graph

Hello.
I have to study the displacement of a sheet pile. At end of computation, I have matrices of size (N_ELEMENTS,N_TIME), for each degree of freedom and for time. I'm making a plot animation (with a plot into a loop). But this plot will be used in other codes, so instead of copy/paste I would like a function []animation = (...) that gives the plot.
In my code I will then have :
. . . animation(t,water_height,disp_nodes,N,NDoF,size_el,1); . . .
But I have this error : ??? Subscript indices must either be real positive integers or logicals.
Maybe someone know how to call this function properly ? Thanks !

 채택된 답변

Image Analyst
Image Analyst 2013년 11월 29일

0 개 추천

Find out which index has a fractional part or is negative by using this link: http://blogs.mathworks.com/videos/2012/07/03/debugging-in-matlab/.
"[]animation = (...)" is not valid syntax. This would be valid:
To call in the main function
results = animation(t,water_height,disp_nodes,N,NDoF,size_el,1);
To declare the function:
function results = animation(t,water_height,disp_nodes,N,NDoF,size_el, someFlag)
% Code for it follows...
It also looks possible that MATLAB might think your animation is a 7 dimensional array rather than a function , which would happen if animation function was not declared or was out of scope or was not on the search path.

댓글 수: 1

Freddy
Freddy 2013년 11월 30일
Thanks it works. The problem was exactly what you mentioned at end, Matlab understood "animation" as a variable, and I had the error of indices because of the different sizes of arguments of the function.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Animation에 대해 자세히 알아보기

질문:

2013년 11월 29일

댓글:

2013년 11월 30일

Community Treasure Hunt

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

Start Hunting!

Translated by