How to change only certain numbers in a matrices for a certain iteration?

3 visualizzazioni (ultimi 30 giorni)
Hello, im struggling to understand a problem. I have solved a truss analysis by using the method of joints and turned it into a 10x10 matrix. I am solving using Ax=B form. I need to be able to find when the truss fails for a certain ultimate force at a certain m. therefore in the matrix B = [0;0;0;0;0;w;0;w;0;0]; w needs to increase from 2kg to m_max incrementing by .5 kg. This is what i have so far. I am extremely new to matlab.
A = [1 0 0 0 0 0 1 0 0 0;
0 0 0 0 0 0 0 1 0 0;
-1 0.707 0 0 -0.707 0 0 0 0 0;
0 -0.707 0 0 -0.707 -1 0 0 0 0;
0 -0.707 -1 0 0 0 0 0 0 0;
0 0.707 0 0 0 0 0 0 0 0;
0 0 1 -1 0 0 0 0 0 0;
0 0 0 0 0 1 0 0 0 0;
0 0 0 1 0.707 0 0 0 1 0;
0 0 0 0 0.707 0 0 0 0 1];
F_ult = 400
B = [0;0;0;0;0;w;0;w;0;0];
N = 100;
for w = 2:.5:N
F = A\B;
while F<<400
end

Risposte (2)

KSSV
KSSV il 15 Feb 2022
A = [1 0 0 0 0 0 1 0 0 0;
0 0 0 0 0 0 0 1 0 0;
-1 0.707 0 0 -0.707 0 0 0 0 0;
0 -0.707 0 0 -0.707 -1 0 0 0 0;
0 -0.707 -1 0 0 0 0 0 0 0;
0 0.707 0 0 0 0 0 0 0 0;
0 0 1 -1 0 0 0 0 0 0;
0 0 0 0 0 1 0 0 0 0;
0 0 0 1 0.707 0 0 0 1 0;
0 0 0 0 0.707 0 0 0 0 1];
F_ult = 400 ;
N = 100;
iter = 0 ;
x = zeros(10,[]) ; % save deformations for each iteration
for w = 2:.5:N
iter = iter+1 ;
B = [0;0;0;0;0;w;0;w;0;0];
x(:,iter) = A\B; % save deformations for each w
end

Walter Roberson
Walter Roberson il 15 Feb 2022
Modificato: Walter Roberson il 15 Feb 2022
A = [1 0 0 0 0 0 1 0 0 0;
0 0 0 0 0 0 0 1 0 0;
-1 0.707 0 0 -0.707 0 0 0 0 0;
0 -0.707 0 0 -0.707 -1 0 0 0 0;
0 -0.707 -1 0 0 0 0 0 0 0;
0 0.707 0 0 0 0 0 0 0 0;
0 0 1 -1 0 0 0 0 0 0;
0 0 0 0 0 1 0 0 0 0;
0 0 0 1 0.707 0 0 0 1 0;
0 0 0 0 0.707 0 0 0 0 1];
F_ult = 400
F_ult = 400
syms w positive
B = [0;0;0;0;0;w;0;w;0;0];
F = A\B
F = 
maxF_ratio = max(abs(F/w))
maxF_ratio = 
3
breaking_w_exact = double(F_ult / maxF_ratio)
breaking_w_exact = 133.3333
breaking_w = ceil(breaking_w_exact / 0.5) * 0.5
breaking_w = 133.5000
That is, 133.0 would not be enough to break it, and you are incrementing by 0.5, so the number you are looking for is 133.5
I assumed here that a -400 force would also break the system.

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by