我有以下情况:
PA_2 = inv(T2)*[PA_0;1]
其中PA_0
是2x1向量,PA_2
是3x3矩阵。
答案是:
[2,14903810567666;-0,722243186433546;1]
问题是我想省略1.所以我想得到一个2x1向量而不是3x1向量。
我需要更改/修改此行:PA_2 = inv(T2)*[PA_0;1]
?
你们中的任何人都知道我的问题的答案吗?
感谢您的时间,
贾斯汀
答案 0 :(得分:1)
我不相信你可以在一行中做到这一点(其他人可能就此而言)所以我会做的就是这个
PA_2 = inv(T2)*[PA_0;1];
PA_2 = PA_2(1:2);
:表示范围。左边是你的起始索引,右边是你的结束索引。你甚至可以用matricies这个表示法。仅举例来说
a = [1,2,3;4,5,6;7,8,9];
a(2:3,1:2)
%produces
%ans =
% 4 5
% 7 8
还有一个有用的消息,如果你使用更长的vectosrs / matricies,你可以使用end关键字。它会自动查找最后一个索引。所以你的例子可以做到
PA_2 = inv(T2)*[PA_0;1];
PA_2 = PA_2(1:end-1); %leaves out the last element
希望有所帮助
答案 1 :(得分:0)
您可能希望查看this问题,该问题有很多有趣的答案。
对于您的应用程序,未记录的函数builtin
可以正常工作:
PA_2 = builtin('_paren', inv(T2)*[PA_0;1], 1:size(T2,1)-1)
请注意,您不能使用关键字end
,因此您必须使用T2的大小来输入正确数量的元素。