Filter löschen
Filter löschen

how to calculate scalar with matrix

2 Ansichten (letzte 30 Tage)
Kathleen
Kathleen am 8 Feb. 2024
Bearbeitet: VBBV am 8 Feb. 2024
I need to code the following: I got to part b and I am unsure how to get a scalar in the code.
Goal: (b)
% chapter 2-1
clear; clc; close all
%% normal stress
fprintf('\n ====== Exercise 2.1 a=======\n\n')
tau = [-30 -20; -20 -40]; %2D stress tensor (Mpa)
theta = 10;
fhat = [sind(theta) , cosd(theta)];
nhat = [ cosd(theta) , -sind(theta)];
tnhat = tau * nhat.';
tn = nhat * tnhat %normal stress
%% shear stress
ts = fhat * tnhat
fprintf('\n ====== Exercise 2.1 a end=======\n\n')
%%
fprintf('\n ====== Exercise 2.1 b =======\n\n')
I = [1 0; 0 1];
det[-30-x -20; -20 -40-x] = 0
Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched delimiters.
fprintf('\n ====== Exercise 2.1 b end=======\n\n')
  2 Kommentare
VBBV
VBBV am 8 Feb. 2024
Bearbeitet: VBBV am 8 Feb. 2024
Use the symbolic toolbox to declare the unknown variable. Then solve the determinant using solve function for the unknown
syms x
D = [-30-x -20; -20 -40-x];
S = det(D) % determinant
sol = solve(S==0,x)
VBBV
VBBV am 8 Feb. 2024
Bearbeitet: VBBV am 8 Feb. 2024
syms lambda % define lambda as symbolic variable (eigen value)
tau = [-30 -20; -20 -40]; % shear stress
I = [1 0; 0 1]; % identity matrix
S = det(tau - I*lambda) % determinant of characteristic equation
S = 
sol = solve(S==0,lambda) % solve for eigen values
sol = 
double(vpa(sol))
ans = 2×1
-55.6155 -14.3845

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Matt J
Matt J am 8 Feb. 2024
Bearbeitet: Matt J am 8 Feb. 2024
Don't see any reason why you'd have to reinvent eigendecomposition:
lambda=eig([-30,-20; -20 -40])
lambda = 2×1
-55.6155 -14.3845

Kategorien

Mehr zu Stress and Strain finden Sie in Help Center und File Exchange

Produkte


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by