Комплексный расчет элементов строительных конструкций в среде MATLAB. Карпов В.В - 50 стр.

UptoLike

Составители: 

98 99
fprintf(FW,'-------------------------------------------------------------------\n');
fprintf(FW, 'длина балки = %7.3f М\n', L');
fprintf(FW, 'высота поперечного сечения = %7.3f М\n',H);
fprintf(FW, модуль упругости материала E = %10.3e
Па\n', E);
fprintf(FW, 'коэффициент Пуассона mu = %4.3e \n', mu);
fprintf(FW,'------------------------------------------------------------------\n');
fprintf(FW, 'способ закрепления концов стержня: \n');
switch ends
case 0
fprintf(FW, 'шарнирно-неподвижный \n');
case 1
fprintf(FW, 'жесткая заделка \n' );
end
fprintf(FW,'****************************************\n');
fprintf(FW, 'поперечная нагрузка:\n');
for k = 1:length(q)
fprintf(FW, 'q(%1d) = %9.3f Н/М \n',k, q(k));
end
fprintf(FW, 'q(x) = %s\n', char(fx));
if length(q) == 3
fprintf(FW, ' ps = \n');
fprintf(FW, '%9.5f \n',ps);
end
fprintf(FW,'****************************************\n');
syms x
switch ends
case 0
for k = 1:nf
fi(k) = sin(k*pi*x/L);
ddfi(k) = -(k*pi/L)^2*sin(k*pi*x/L);
end
case 1
for k=1:nf
fi(k) = x^(k+3)-2*L*x^(k+2)+L^2*x^(k+1);
ddfi(k) = (k^2+5*k+6)*x^(k+1)-2*L*(k^2+3*k+2)*x^k…
+L^2*(k^2+k)*x^(k-1);
end
end
yr = 0;
for k = 1:nf
yr = yr + C(k)*fi(k);
end
fprintf(FW,'------------------------------------------------------------\n');
fprintf(FW, число базисных функций N = %2d:\n',nf);
fprintf(FW,'------------------------------------------------------------\n');
fprintf(FW,'------------------------------------------------------------\n');
fprintf(FW,'таблица коэффициентов и
базисных функций \n');
fprintf(FW,'------------------------------------------------------------\n');
fprintf(FW,' Ci * Fi \n');
fprintf(FW,'------------------------------------------------------------\n');
for k = 1:nf
fprintf(FW,'%7.6e * %s\n',C(k),char(fi(k)));
end
xp = [0:0.01:L]';
w = subs(yr, x, xp);
[w_max,N_max] = max(abs(w));
x_max = xp(N_max);
fprintf(FW,'максимальный прогиб w_max = %8.7f м
в точке x = %4.3f м\n',w_max,x_max);
fprintf(FW,'------------------------------------------------------------\n');
fprintf(FW,'------------------------------------------------------------\n');
fprintf(FW, 'таблица приближенных значений прогибов w[м] \n');
fprintf(FW, '-----------------------------------------------------------\n');
fprintf(FW, ' x[м] w(x) [м] \n');
fprintf(FW, '----------------------------------------------------------\n');
xp1 = [0:0.1:L]';
w1 = subs(yr, x, xp1);
for k = 1:1:length(xp1);
fprintf(FW, '%6.3f %9.7f \n',xp1(k),w1(k));
end
fclose(FW);
Для обращения к функции print_FW.m из окна приложения раз-
местим кнопку с именем btnPRINT и запрограммируем действия, кото-
рые будут происходить при нажатии этой кнопки. Для этого изменим
функцию события Callback, как показано в листинге 3.15.