r - 在R中绘制矩阵方程

标签 r matrix plot parametric-equations

我是 R 的新手,我需要绘制二次矩阵方程:

x^T A x + b^T x + c = 0

在 R^2 中,A 是 2x2,b 是 2x1,c 是常数。该方程用于定义点类的边界。我需要为 x0 = -6...6x1 = -4...6 绘制边界。我的第一个想法是生成一堆点并查看它们在哪里为零,但这取决于数字之间的增量(很可能我不会猜测哪些点为零)。

有没有比只生成一堆点并查看它在哪里为零或相乘更好的方法?任何帮助将不胜感激,

谢谢。

最佳答案

假设你有一个对称矩阵A

例如

 # A = | a    b/2 |
 #     | b/2  c   |

并且你的方程表示一个圆锥曲线,你可以使用 conics package

你需要的是系数向量 c(a,b,c,d,e,f) 表示

a.x^2 + b*x*y + c*y^2 + d*x + e*y + f

在你的情况下,假设你有

 A <- matrix(c(2,1,1,2))

 B <- c(-20,-28)
 C <- 10


# create the vector
v <- append(c(diag(A),B,C),A[lower.tri(A)]*2), 1)



 conicPlot(v)

enter image description here

您可以轻松地将乘法运算包装到一个简单的函数中

# note this does no checking for symmetry or validity of arguments

expand.conic <- function(A, B, C){
 append(c(diag(A),B,C),A[lower.tri(A)]*2), 1)
}

关于r - 在R中绘制矩阵方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14993113/

相关文章:

r - 如何在 R 中合并两个数据帧后打印新列

r - 使用 data.frame 的列名

c - 元素随机分布的稀疏矩阵的数据结构

algorithm - 搜索已排序的二维矩阵

Matlab 根据条件组合矩阵

python-3.x - 如何绘制 scikit 的 t-sne 输出数组?

r - 在ggplot中突出显示散点图的特定区域

r - 线性模型中删除截距后的显着值变化

r - ggplot2:用一组相似的颜色绘制离散因子

python - 使用 Python 在世界地图上绘制点