Merhaba aşağıdaki resimde verdiğim matrislerle yapılan işlemi matlab'te nasıl yapabilirim acaba? K matrisinde bilinmeyen olduğu için tanımlayamadım.
Teşekkür ederim.
k1 = sym('k1');
k2 = sym('k2');
k3 = sym('k3');
kvektor=[k1 k2 k3];
Şeklinde harfli ifadelerden oluşan vektör oluşturabilirsiniz. Bu vektörü sayılardan oluşan matrisle çarpabilirsiniz:
a=[1 2 3; 4 5 6; 7 8 9];
kvektor=[k1 k2 k3].';
a*kvektor
ans =
k1 + 2*k2 + 3*k3
4*k1 + 5*k2 + 6*k3
7*k1 + 8*k2 + 9*k3
ferdem
bir matrisi vektöre ve vektörüde matrise dönüştürmenin kısa bir yolu var mı???
Alıntı yapılan: OptimusPrime - 15 Nisan 2012, 21:40:08
ferdem
bir matrisi vektöre ve vektörüde matrise dönüştürmenin kısa bir yolu var mı???
Örneğin "A" 10 elemanlı bir matris ise
reshape(A',10,1) bunu vektöre dönüştürür
"B" vektörünüz ise;
C = vec2mat(B,kolon) matrise dönüştürür, fakat her seferinde 1 satır olmak üzere. vec2mat fonksiyonunun yardımına bakabilirsiniz
Hocam sI kısmında hata alıyorum.
I=eye(3)
I =
1 0 0
0 1 0
0 0 1
>> (s*I)-A-(B*K)
Hata şu şekilde:
Error using InputOutputModel/plus (line 64)
Invalid operand. Variables of type "sym" cannot be combined with other models.
Error in InputOutputModel/minus (line 451)
M = M1 + (-M2);
s'i matrisin içine nasıl sokabilirim? Çünkü birim matrisin köşegenine elimle s koymaya çalıştığımda da garip bir formatta oluyor ve yine kullanamıyorum.
Transfer function from input 1 to output...
#1: s
#2: 0
#3: 0
Transfer function from input 2 to output...
#1: 0
#2: s
#3: 0
Transfer function from input 3 to output...
#1: 0
#2: 0
#3: s
Bilemiyorum vitruvius :)
OptimusPrime vektör matris dönüşümü için arkadaşın da yazdığı gibi reshape i kullanıyorum. Mesela 3 e 3 matrisi 1 e 9 satır vektörü yapmak için reshape(a,1,9) kullanıyorum, reshape(a,3,3) 1 e 9 vektörü 3 e 3 matris yapmak için de kullanılabilir. reshape önce sütunları alıp ipe diziyor sonra yeniden sıralıyor. Transpose ile düzenleme yapılabilir. Bir de matlab de sevdiğim fonksiyon repmat var. repmat ile bir vektörü alt alta veya yan yana koyarak boyutu arttırabiliyoruz.
Mesela a=[1 2 3] satır vektörünü repmat(a,3,2) ile
1 2 3 1 2 3
1 2 3 1 2 3
1 2 3 1 2 3
şeklinde bir matrise dönüştürmek mümkün. Kolay gelsin.
s'i tf olarak değil de sym('s') olarak tanımlayınca işlem yaptı, determinantını bile aldı =)
Konu çözüldü butonu kalktı mı?