matlab如何对F​OR循环导出的许多矩​阵进行编号?小白自己​写了个M文件,希望对​其进行循环迭代。

1 view (last 30 days)
kterbxng
kterbxng on 22 May 2023
Answered: qcavher on 22 May 2023
函数m码
function [sbm]=sbmlocal(m,x,y,a,b,t,E,v)
%%建立矩形条[B]bm矩阵。
km=(m*pi)/a;
%%Ym=sin((m*pi)/a*y);
%%Ym'=(m*pi)/a*cos((m*pi)/a*y);
%%Ym''=-(m*pi)/a^2*sin((m*pi)/a*y);
xba=x/b;
b11=(6/b^2)*(1-2*xba)*sin((m*pi)/a*y);
b12=(2/b)*(2-3*xba)*sin((m*pi)/a*y);
b13=(6/b^2)*(-1+2*xba)*sin((m*pi)/a*y);
b14=(2/b)*(1-3*xba)*sin((m*pi)/a*y);
b21=-(3*xba^2-1-2*xba^2)*(m*pi)/a^2*sin((m*pi)/a*y);
b22=-(1-xba)*(m*pi)/a*sin((m*pi)/a*y);
b23=-(2*xba^3-2*xba^2)*(m*pi)/a^2*sin((m*pi)/a*y);
b24=-x*(xba-xba^2)*(m*pi)/a^2*sin((m*pi)/a*y);
b31=(12/b)*(xba^2-x)*(m*pi)/a*cos((m*pi)/a*y);
b32=2*(1+3*xba^2-4*xba^2)*(m*pi)/a*cos((m*pi)/a*y);
b33=(12/b)*(xba-xba^2)*(m*pi)/a*cos((m*pi)/a*y);
b34=2*(3*xba^2-2*xba)*(m*pi)/a*cos((m*pi)/a*y);
Bbm=[b11,b12,b13,b14;b21,b22,b23,b24;b31,b32,b33,b34];
Dbm=((E*t^3)/(12*(1-v^2)))*[1,v,0;v,1,0;0,0,(1-v)/2];
sbm=Bbm'*Dbm*Bbm;
循环迭代
for m=1:8
if m<9
sbm=sbmlocal(m,1,1,700,20,2,2.1e5,0.3)
end
end

Accepted Answer

qcavher
qcavher on 22 May 2023
eval( ['sbm',num2str(i),'=sbm;']);

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!