- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 2x2 矩阵,其中每个元素都是一个 1x5 向量。像这样:
x = 1:5;
A = [ x x.^2; x.^2 x];
现在我想找到行列式,但是发生了这种情况
B = det(A);
Error using det
Matrix must be square.
现在我明白为什么会这样了,MATLAB 将 A 视为一个 2x10 的 double 矩阵。我希望能够将 x 视为一个元素,而不是一个向量。我想要的是 det(A) = x^2 - x^4
,然后将 B = det(A)
作为 1x5 向量。
我如何实现这一点?
最佳答案
虽然 Matlab 有符号工具,但它们不是很好。相反,您真的想矢量化您的操作。这可以在循环中完成,或者您可以使用 ARRAYFUN
为了工作。听起来 ARRAYFUN
可能更容易解决您的问题。
ARRAYFUN
方法:
x = 1:5;
detFunc = @(x) det([ x x^2 ; x^2 x ]);
xDet = arrayfun(detFunc, x)
产生:
>> xDet = arrayfun(detFunc, x)
xDet =
0 -12 -72 -240 -600
对于更复杂的行列式,例如您的 4x4 情况,我会为实际函数创建一个单独的 M 文件(而不是像我上面那样创建匿名函数),并将其传递给 ARRAYFUN
使用函数句柄:
xDet = arrayfun(@mFileFunc, x);
关于Matlab:向量矩阵的行列式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11564341/
我试图找到这 3 个函数的 Wronskian 行列式,但代码有“TypeError: No loop matching the specified signature and casting was
我需要编写一个在编译时计算行列式的 constexpr 函数。最明显的解决方案是使用拉普拉斯展开。支持 C++14。 #include #include constexpr int get_cof
是否有任何类似 A * A-1 = I 的数学性质可用于测试类似格式的单元测试中行列式的计算? 最佳答案 手动计算一个(或多个)已知数组的行列式,并将您的结果与该数字进行比较。 尝试不同大小、排列方式
我有一个大的 numpy 数组 arr,形状为 (N, D, M, D) 其中 D 是两个或三。该数组可以被认为是 (D,D) 矩阵 block ,这些矩阵在 N 和 M 维度中被阻塞在一起。我想取这
我是一名优秀的程序员,十分优秀!