syms t theta chy sy real;
A = [0 0 0 0; 0 -theta -0.5 0;0 -0.5 0 0;0 0 0 0];
B = [0 theta/2 0.5 0; theta/2 0 0 0;0.5 0 0 0;0 0 0 0];
C = [0 (1-(theta^2))/2 -(theta/2) 0;(1-(theta^2))/2 0 0 0; -(theta/2) 0 0 0;0 0 0 0];
D = sym(zeros(4,4));
CS = cat(3,A,B,C,D);
Теперь, когда я печатаюНекоторые проблемы с доступом к отдельным элементам в MATLAB
>> CS(:,1,3)
ans =
[ 0, 1/2 - theta^2/2, -theta/2, 0]
[ 1/2 - theta^2/2, 0, 0, 0]
[ -theta/2, 0, 0, 0]
[ 0, 0, 0, 0]
>> CS(:,:,3)
ans =
[ 0, 1/2 - theta^2/2, -theta/2, 0]
[ 1/2 - theta^2/2, 0, 0, 0]
[ -theta/2, 0, 0, 0]
[ 0, 0, 0, 0]
который, как предполагается, будет отличаться от CS(1,1,3)
и CS(:,1,3)
.
>> CS(1,1,3)
ans =
[ 0, 1/2 - theta^2/2, -theta/2, 0]
[ 1/2 - theta^2/2, 0, 0, 0]
[ -theta/2, 0, 0, 0]
[ 0, 0, 0, 0]
Все значения дают одинаковые значения. Как получить доступ к первому значению в этой конкретной матрице. Я не хочу использовать матрицы A/B/C.
Не могли бы вы уточнить, какую версию MATLAB вы используете. Потому что это дает мне приведенные выше ответы для v r2010a. – Naresh
Я использовал MATLAB R2011a. Я только что проверил его на R2010a, а также получил ваши результаты ... так что вам, вероятно, потребуется обновление :) –
Хорошо, спасибо за ответ. Извините за отсутствие голосов :) – Naresh