How to obtain matrix components

6 visualizzazioni (ultimi 30 giorni)
Ali Tawfik
Ali Tawfik il 4 Feb 2019
Commentato: Star Strider il 5 Feb 2019
Hi All,
I am new to Matlab, and I'd like to obtain the following values: EL,VLT,VTL, and GLT from
x=[Q11 Q12 0;
Q12 Q22 0;
0 0 Q66]
the x is given equal to: =[20 0.7 0;
0.7 2 0;
0 0 0.7];
I have been trying with solve as indicated below, however, 0*1 sym is the result of each component: also maybe I should try to use subs, function but nothing working unfortunely
clear all;
clc;
close all;
syms EL vlt vtl ET GLT;
y=[EL/1-vlt*vtl vlt*ET/1-vlt*vtl 0;vlt*ET/1-vlt*vtl ET/1-vlt*vtl 0;0 0 GLT]==[20 0.7 0;0.7 2 0;0 0 0.7];
z= solve(y,EL,vlt,vtl,ET,GLT);

Risposta accettata

Star Strider
Star Strider il 4 Feb 2019
You need to enclose the variables you are solving for in square brackets:
[EL,vlt,vtl,ET,GLT] = solve(y,[EL,vlt,vtl,ET,GLT]);
returning:
EL =
19
vlt =
-3/10
vtl =
10/3
ET =
1
GLT =
7/10
As desired.

Più risposte (1)

Ali Tawfik
Ali Tawfik il 5 Feb 2019
Hi Star, it's working, but I am not sure if the answer is correct releavant to the equations. But anyway thank you very much for your help!

Community Treasure Hunt

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

Start Hunting!

Translated by