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

조회 수: 2 (최근 30일)
Relly Syam
Relly Syam 2021년 4월 26일
답변: Walter Roberson 2021년 4월 26일
%
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
Walter Roberson
Walter Roberson 2021년 4월 26일
https://www.mathworks.com/help/symbolic/sym.euler.html
The function accepts vectors for both arguments.

댓글을 달려면 로그인하십시오.

채택된 답변

Walter Roberson
Walter Roberson 2021년 4월 26일
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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Simulink에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by