定义本地函数时收到错误消息

问题描述 投票:0回答:1

我已经编写了这段代码,并尝试在脚本文件中创建一个本地函数,然后调用它,但我不断收到错误:

当我运行这段代码时

function element_matrix = esm_transformed(ang,A,E,L,I)
% Listing the different terms present in the local element stiffness matrix
    a=(E*A)/L
    b=(2*E*I)/L
    c=(4*E*I)/L
    d=(6*E*I)/L^2
    e=(12*E*I)/L^3
%assembling the local element stiffness matrix
    esm=[a,0,0,-a,0,0; 0,e,d,0-e,d; 0,d,c,0,-d,b; -a,0,0,a,0,0; 0,-e,-d,0,e,d; 0,d,b,0,-d,-c]
%assembling the transformation matrix
    s=sind(ang)
    c=cosd(ang)
    T=[c,s,0,0,0,0; -s,c,0,0,0,0; 0,0,1,0,0,0; 0,0,0,c,s,0; 0,0,0,-s,c,0; 0,0,0,0,0,1]
    element_matrix=esm*T*inv(T)
end

我不断收到此错误:

在此上下文中不支持函数定义。函数只能在代码文件中创建为本地函数或嵌套函数。

据我所知,这就是创建本地函数的方式,所以我不确定为什么这不起作用。任何帮助将不胜感激

matlab
1个回答
0
投票

MATLAB 对于函数的位置可能会很棘手。下面的函数是你的主代码吗?

© www.soinside.com 2019 - 2024. All rights reserved.