我是靠谱客的博主 粗心月饼,最近开发中收集的这篇文章主要介绍matlab矩阵乘法结果出错,为啥矩阵乘法显示矩阵乘法维度不正确?是什么原因?...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

为啥矩阵乘法显示矩阵乘法维度不正确?是什么原因?代码如下:

7 ^$ @: y: ^, w) ^1 S

# `/ S: I- x7 H0 |7 |( dfunction sys = mdlDerivatives( t,x,u)

, j2 `6 x" ~8 k$ `2 i& nglobal uc ur

, X2 |. |& a$ }5 P4 A* c& }! byd1 = u(1);2 P+ `0 N. h- `

yd2 = u(2);# f  r# i: R: I+ m+ z; D

dyd1 = cos(t);

5 P& ?4 r% j! s, C( Hdyd2 = cos(t);

) P  x2 N! Q+ ?3 ]( s  u1 }9 ?ddyd1 =- sin(t) ;A0 s. S- E; r0 H

ddyd2 =- sin(t);" ^8 V* z- W/ N, s* c* J

x1= u(3);x2= u(4);

6 T$ k: V+ T; F$ {1 J) f; M/ _x3 = u(5);x4 = u(6);: x& ]( ~0 r- B

e1 = yd1 - x1;6 I' M; E) Z! ]! z2 H! H

e2 = yd2 - x3;$ B/ a7 [& K. G

de1 = dyd1 - x2;- j2 d5 9 G: , b8 j" V

de2 = dyd2 - x4;]" ~: I9 F. g& W1 u, k5 t3 N5 ^

nmn1 = 20 ; nmn2 = 20 ;

- C% i' q. W% p4 O* }: sbeta11 = nmn1 ;beta21 = nmn2;

# C! z' X6 H6 FK0 = 15 *eye(2);

/ w: }9 Z& B' G  f0 Bv1 = ddyd1 + beta11 * de1;

1 D2 A7 w: U2 Av2 = ddyd2 + beta21 * de2 ;

6 u" s; Z/ q+ v$ X  b5 hv=[v1 v2]';0 s2 r* K$ u% B7 M+ k& @: u/ e+ E

s1=de1+nmn1*e1;# m" Q) G; |8 x2 G2 ^1 B

s2=de2+nmn2*e2;

0 S1 G% E) {3 @2 k8 Gs=[s1 s2]';' X5 S2 P, I9 Y  P) Q/ b" ~

% Contro1 1aw(26)

* [* z. }- M# M) i/ ~) sepO = 0.1;# r2 ]$ n/ O. {$ N! g4 {

Ip= eye(2);1 O+ E! `; K; x- |: L# |, g

rou0 = 0.2;

9 Z  V) W# @$ j: ju1(1) = exp( -1/2* ((x(1) +1.25)/0.6)^2);

( ]5 N0 x3 Z1 o7 Uu1(2) = exp( -1/2 * (x(1)/0.6)^2);5 z/ c4 O0 d  ?' S

u1(3) = exp( - 1/2 * ((x(1)-1.25)/0.6)^2);

0 r4 C/ F- U' B" c' i' O) u2(1) =exp( - 1/2* ((x(2) + 1.25)/0.6)^2) ;3 n- w( b$ ; F* Y5 q

u2(2) = exp( - 1/2 * (x(2)/0.6)*2) ;' H/ ], s/ E( O  Q+ o

u2(3) =exp( - 1/2* ((x(2) - 1.25)/0.6)*2) ;$ f  a6 Q3 l& _( q: J9 i( M. q

u3(1) =exp( -1/2* ((x(3) + 1.25)/0.6)^2) ;

0 ~- I  N" m8 p' B( t, Ku3(2) = exp( - 1/2 *(x(3)/0.6)^2) ;0 z% N, V; A, q9 W! P9 {) ~

u3(3) =exp( -1/2* ((x(3)-1.25)/0.6)^2);

7 g$ Q+ R/ N. u5 x# ^: `; Gu4(1) =exp( - 1/2* ((x(4) + 1.25)/0.6)^2) ;. j+ V/ o+ m. u9 v* m

u4(2) = exp( - 1/2 * (x(4)/0.6)^2);( ?( O4 o  o8 f6 }: K7 ?3 a. q% z

u4(3) = exp( -1/2* ((x(4)-1.25)/0.6)^2) ;

) A2 D. U' b3 j3 T. [FS1 =0;t; x* j* M  w2 c! Y5 R

FS2 = zeros(3^4,1);m! K2 v+ U- O( r3 g1 Z

for L1= 1:3

+ p: z6 B9 E% L. j* R" Q6 s    for L2 = 1:35 n8 N/ X7 _; i$ Q

for L3 = 1:3

, T8 X* F+ e' P) d            for L4 = 1:38 [! C0 c- ) c7 ?

FS2(3^3 *(L1-1) + 3^2 *(L2 - 1) + 3*(L3 - 1) + L4) = u1(L1) * u2(L2) * u3(L3) *u4(L4);

1 L& G1 v% e5 E4 M; }) K! G                FS1= FS1+ u1(L1) * u2(L2)* u3(L3) * u4(L4);

6 e$ g3 : a1 C' @            end4 m) F. K, `! @( v; C

end

0 W# l9 E& n; b! v; e" P    end

) Q- H3 j7 M8 A' q& N( v- d: oend0 `- Z8 J+ % B+ / y# l5 p3 D

FS=FS2/FS1;' N& ^! v9 ^: j4 ~$ U: @3 A8 u) z

w_f1 = FS;w_f2 = FS;

( ~, i0 Z7 o  H7 S2 }% y( W& A/ Nw_g11 = FS;w_g12 = FS;, _9 @( `5 M, j- C2 |

w_g21 = FS;w_g22 = FS;1 r( e, O/ e$ E- q

thtaf1 = x(1:3^4);

0 o9 Y& c4 z( G  ?8 Cthtaf2 = x(3^4 + 1:3^4 *2);2 }  F" R7 a( Q% G4 H2 J

thtag11 = x(3^4 * 2 + 1:3^4 * 3 );

% {, h, ]  o% u2 s6 [3 Pthtag12 = x(3^4 * 3 + 1:3^4 * 4);

4 |0 Z! g7 V$ Q7 ythtag21 = x(3^4*4 + 1:3^4 * 5);

1 i5 c& s. X% X9 Ethtag22 = x(3^4*5 + 1:3^4* 6);

: O# z: |5 m1 Yf1 = w_f1'*thtaf1 ;

, {& ~1 u+ I/ N. bf2 = w_f2'*thtaf2;% ~# N8 R0 r" R7 m; ?9 Y- ^

g11 = w_g11'*thtag11;' d/ a$ L, f# - Z

g12 = w_g12'*thtag12;

T+ c" i( T" a/ ]g21 = w_g21 *thtag21 ;5 ], O- W/ i" X' O

g22 = w_g22 *thtag22 ;. `3 Z5 G# O. V

ep_f = x(3^4 *6 +1:3^4 *6 +2) ;' y8 Z: 5 K! P, m& [

ep_g11 = x(6*3^4 + 3);: g$ |+ f, ~7 O$ D6 f7 Q

ep_g12 = x(6 * 3*4 + 4);

* ?/ L; X& C. x0 M  Uep_g21 = x(6 * 3*4 + 5) ;9 v& M$ a4 ]* E/ M  N2 h: z; @

ep_g22 = x(6 * 3*4 + 6);

5 x9 s" c: A1 `. O- P5 X) bep_g = [ep_g11 ep_g12 ; ep_g21 ep_g22];

- w( u: W8 J/ G5 Fep_u = x( 3^4 * 6 + 7);

0 B9 ?% X0 g/ i8 Ddelta = x(3^4* 6 + 8);

# g6 H3 n, k( f: N: F5 fF= [f1 f2]';9 }: ^8 5 Q" w2 ~

G= [g11 g12;g21 g22];

2 q5 b4 M# J+ Z2 G: Sk1 = 20;

9 k( n+ N- N6 _' K+ euc = G'*inv(ep0 *Ip + G*G')*(-F + v+K0*s+ k1*G*s);( {8 O; C7 t# A' A  f# w

uO = epO*inv(epO * Ip + G*G') * (-F + v + K0*s + k1*G*s);

6 }3 W! n8 m% w) d. ?, G+ w, N- e' F8 E/ vur = s * abs(s') * (ep_f + ep_g * abs(uc) + ep_u' * abs(u0))/(norm(s)^2 + de1ta);7 ]! t7 q4 M! T: ~1 k

xite_f1= 0.5;

' k8 @' l1 M0 z+ P' Zxite_f2 = 0.5;! A* I- [0 d0 J5 w

xite_g11 = 0.5;

2 k( K3 {7 w& C. S/ [xite_g12 = 0.5;

% z! c# S4 F7 r4 S" |  |xite_g21 = 0.5; 0 T  [8 ]* r4 }# N

xite_g22 = 0.5;

" ?% k# C8 L5 rxite0 = 0.001;. m& U$ K% v7 a4 # `/ g# H

%F

, `) w# a5 u- Y3 d2 g/ _- Z# ^for i = 1:1:3^4% {8 j7 ]; t1 h- N8 `5 G

sys(i) =- xite_f1 * w_f1(i) * s(1);b& 4 n: E. _

end

- x. _. v& H5 @7 h7 Tfor i= 3^4 + 1:1:2*3^42 m, A' h$ n+ u  r

sys(i)=-xite_f2 * w_f2(i-3^4) * s(2);

( X' x3 V" {6 V% end

0 u2 |3 G2 K& k2 y" B+ Q. |  _%G

/ C) n2 E" k$ O% Z5 Q& c  Mfor i=2*3^4+1:1:3*3^47 `( ?3 p& ^: L5 b

sys( i) =- xite_g11*w^g11(i-2*3^4) * s(1)*(uc(1) - k1*s(1));

1 x, ~+ a2 K1 - B5 tend

, U; |$ t& g3 [  qfor i = 3*3^4 + 1:1:4*3^46 f" C& g1 f% V- K' g0 M! L2 Y

sys(i) =- xite_g12 * w_g12(i-3*3^4) * s(1) * (uc(2)-k1*s(2));3 U4 t& h5 @( s

end

& o$ y' B  F2 `& x  D- jfor i = 4*3^4 + 1:1:5*3^4

- m+ t* G: i+ |    sys(i) =-xite_g21*w_g21(i - 4*3^4) * s(2) * (uc(1) - k1*s(1));& W& D3 Q$ H) q+ n. A# Z

end$ Y# Q" Z0 H9 a

for i=5*3^4 + 1:1:6*3^4

' x/ y0 H5 _0 v    sys(i) =- xite_g22 * w_g22(i - 5 *3^4) * s(2) * (uc(2) - k1*s(2));2 p7 k4 A* Y8 t- P) |/ ~+ @

end

8 P1 _* @. n: a4 Vgama0 = 0.001;i3 }$ B/ U6 I5 |! k( [, j& |

" Q8 U: G6 q4 B0 l

sys(6 * 3^4 + 1) = gama0*(abs(s(1))) ; % ep_f1

3 U. d, [5 V" k1 a4 z8 _sys(6 * 3^4 + 2) = gama0* (abs(s(2)));% ep_f2

* o# X# _8 Y% q0 [" D- A$ m; u8 G%ep_g( ~& f# S: N5 Q& K! i* O/ o; E

sys(6 *3^4 + 3)        = gama0 * (abs(s(1)))        * abs(uc(1) );        % ep_g1 1

7 G- L9 u6 _% a" @3 L9 T, V5 Esys(6 * 3^4 + 4)= gama0 * (abs(s(1)))        * abs(uc(2)) ;        % ep_g125 ^" s4 t# X+ O2 c. R

sys(6 * 3^4 + 5)= gama0 * (abs(s(2)))        * abs(uc(1)) ;        % ep_g216 M' d, }' h8 T

sys(6 * 3^4 + 6)= gama0 * (abs(s(2)))        * abs(uc(2)) ;        % ep_g22/ }9 w1 6 m6 S) u2 b) Q

% ep_u- S6 v; [; Y7 u. 4 p

sys(6 * 3^4 + 7) = gama0*(abs(s')) *abs(u0);

" u* o$ Y  j4 M. F1 k% de1ta

0 R/ {2 / H3 ^2 Z0 Z0 ^: K;   Rsys(6 * 3^4 + 8) =- xite0* (abs(s') * (ep_f + ep_g * abs(uc) + ep_u' *abs(uO)))/(norm(s)^2 + de1ta) ;

. ]3 h' P1 Q$ U9 Z: Kfunction sys = mdlOutputs(t,x,u)

/ `8 ?0 B$ G% d$ _global uc ur2 u7 `( K3 V; R. Q0 a6 `6 j5 w

if t == 0

( r% x. W( R5 D" puc = zeros(2,1);

F0 A* _. a+ i! P: Wur = zeros(2,1);

, d) I$ W  t2 t6 A% j5 u8 `end$ l; y* Z% Z, K1 A0 r, T; u4 h7 r

ut = uc + ur;' `. H4 K; `) p5 D0 u; ~5 _8 o

sys(1) = ut(1);6 c) * ]2 V  J1 y9 x

sys(2)=ut(2);9 U2 H8 S- i- c3 g

最后

以上就是粗心月饼为你收集整理的matlab矩阵乘法结果出错,为啥矩阵乘法显示矩阵乘法维度不正确?是什么原因?...的全部内容,希望文章能够帮你解决matlab矩阵乘法结果出错,为啥矩阵乘法显示矩阵乘法维度不正确?是什么原因?...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部