How do I create a for loop for the this example?

2 vues (au cours des 30 derniers jours)
Relly Syam
Relly Syam le 26 Avr 2021
%
clear
clc
syms E0 E1 E2 E3 c0 c1 c2 c3 t r0 r1 r2 r3 K0 K1 K2 K3 format long
c0=0 c1=1/3; c2=2/3; c3=1; r0=0; r1=1; r2=2; r3=3;
E0=[euler(r0,sym(c0)) euler(r0,c1) euler(r0,c2) euler(r0,c3)]
E1=[euler(r1,c0) euler(r1,c1) euler(r1,c2) euler(r1,c3)]
E2=[euler(r2,c0) euler(r2,c1) euler(r2,c2) euler(r2,c3)]
E3=[euler(r3,c0) euler(r3,c1) euler(r3,c2) euler(r3,c3)]
E=[E0' E1' E2' E3']
K0=[int(euler(r0,t), 0,c0) int(euler(r0,t), 0,c1) int(euler(r0,t), 0,c2) int(euler(r0,t), 0,c3)]
K1=[int(euler(r1,t), 0,c0) int(euler(r1,t), 0,c1) int(euler(r1,t), 0,c2) int(euler(r1,t), 0,c3)]
K2=[int(euler(r2,t), 0,c0) int(euler(r2,t), 0,c1) int(euler(r2,t), 0,c2) int(euler(r2,t), 0,c3)]
K3=[int(euler(r3,t), 0,c0) int(euler(r3,t), 0,c1) int(euler(r3,t), 0,c2) int(euler(r3,t), 0,c3)]
K=[K0' K1' K2' K3']
Ek=E-K
F=[6*c0-3*c0^2;6*c1-3*c1^2;6*c2-3*c2^2;6*c3-3*c3^2]
InvInv_Ek=inv(Ek)
C=inv(Ek)*F
Ua=E*C
Ue=[6*c0 6*c1 6*c2 6*c3]'
  1 commentaire
Walter Roberson
Walter Roberson le 26 Avr 2021
https://www.mathworks.com/help/symbolic/sym.euler.html
The function accepts vectors for both arguments.

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 26 Avr 2021
format long g
syms E0 E1 E2 E3 c0 c1 c2 c3 t r0 r1 r2 r3 K0 K1 K2 K3
c0=0; c1=1/3; c2=2/3; c3=1; r0=0; r1=1; r2=2; r3=3;
EvalAt = [c0, c1, c2, c3];
ktemp = arrayfun(@(EA) euler([r0, r1, r2, r3], EA).', EvalAt, 'uniform', 0);
K = horzcat(ktemp{:}).'
K = 4×4
1 -0.5 0 0.25 1 -0.166666666666667 -0.222222222222222 0.12037037037037 1 0.166666666666667 -0.222222222222222 -0.12037037037037 1 0.5 0 -0.25

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by