如何定义一个整数,以便在matlab上的矩阵函数中使用它

如何定义一个整数,以便在matlab上的矩阵函数中使用它,matlab,function,matrix,Matlab,Function,Matrix,我的目标是编写一个有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在6处 S11=1/E1您不

我的目标是编写一个有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在6处

S11=1/E1

您不必声明变量(例如在C中)

还可以内联定义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变量。

您正在定义一个函数,因此必须将其作为函数调用<代码>E1=。。。;E2=。。。;G12=。。。;S=plymecfunc(E1、E2、G12)。同样,在matlab中,您不需要定义变量
inte1
。请阅读一些matlab基础知识。好的,我知道我不需要定义变量。但我真正想要的是S是一个3X3矩阵,由S11、S12、S22、S66和0组成。那我该怎么办?谢谢你的帮助
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