Thank you very much for your reply, the 3D matrix was something that is new to me and i am currently using. It's an awesome way of saving our arrays. The problem I'm still having is the product, I will have to think of a different way of resolving this issue.
Multiplying a changing amount matrices.
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
the problem I am struggeling with is to multiply a known, but depending on the application, changing amount of matrices (2x2). I would like to write a code that does this without me having to manually enter the matrix names. It would work like horzcat() but for a different amount of matrices every time i use the program. Currently this is what it should do:
for i_freq=1:length(freq) omega=2*pi*freq(i_freq); k=omega/c_0;
%define muffler elements
T1=straight_duct(k,L1);
T2=expansion_duct(E);
T3=straight_duct(k,L2);
T4=contraction_duct(E);
T5=straight_duct(k,L3);
%Transfer transmission matrix
TT=T5*T4*T3*T2*T1;
%extract elements from matrix
A=TT(1,1)
B=TT(1,2)
C=TT(2,1)
D=TT(2,2)
F=A-C/D;
T=[A B; C D];
%Transmission loss
TL(i_freq)=20*log10(abs(F));
end
I'm pretty new to matlab so a shove in the right direction would be nice. I've been looking at plenty of topics but none have actually resolved this problem for me (dynamic matrices, dynamic variables, recognizable variables). The order of the multiplication matters.
hope some one can show me the light with which i can continue working!
cheers.
0 Kommentare
Akzeptierte Antwort
Weitere Antworten (1)
Simon
am 18 Nov. 2013
Hi!
I'm not sure if I understood correctly. You can concat N matrices into a 3d matrix with dimensions (2x2xN). Basically, you stack them together. Then you may use "prod" to take the product along the third dimension.
%define muffler elements
T(1:2, 1:2, 1)=straight_duct(k,L1);
T(1:2, 1:2, 2)=expansion_duct(E);
T(1:2, 1:2, 3)=straight_duct(k,L2);
T(1:2, 1:2, 4)=contraction_duct(E);
T(1:2, 1:2, 5)=straight_duct(k,L3);
%Transfer transmission matrix
TT=prod(T, 3);
Is this what you're looking for?
0 Kommentare
Siehe auch
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!