我的目标是编写一个具有3个输入和1个输出的矩阵函数(plymecfunc)。这是我写的函数:
function[S]= plymecfunc(E1,E2,G12)
int E1;
int S12;
int S11;
int S22;
S11=1/E1;
S12=-V12/E1;
S22= 1/E2;
S66=1/G12;
S = [ S11 S12 0; 0 S22 0; 0 0 S66];
错误是:
的 ???输入参数" E1"未定义。
==>中的错误plymecfunc at 6
的 S11 = 1 / E1;
答案 0 :(得分:2)
您不必声明变量(例如在C中)。
function[S]= plymecfunc(E1,E2,G12)
V12 = % define V12, or pass as parameter
S11 = 1/E1;
S12 = -V12/E1;
S22 = 1/E2;
S66 = 1/G12;
S = [ S11 S12 0; 0 S22 0; 0 0 S66];
end
您也可以内联定义S矩阵。
function[S]= plymecfunc(E1, E2, G12)
V12 = % define V12, or pass as parameter
S = [ 1/E1, -V12/E1, 0; 0 1/E2 0; 0 0 1/G12];
end
顺便说一下,你错过了V12变量。