全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
17606 9
2018-09-08
> x <- seq(-pi, pi, length = 50)
> y <- x
> f <- outer(x, y, function(x, y)cos(y)/(1+x^2))
> contour(x, y, f)
> contour(x, y, f, nlevels = 45)
> fa <- (f-t(f))/2
如何理解f和fa呢,这里用outer函数输出的f是什么啊?
希望大神能指点指点
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-9-9 01:15:17
contour是把第三维的f值画到x-y平面,形成等高线图,在x-y平面上看就是相同的f值会在一个圈内,形成像年轮一样的结构。这里是指把x,y值代人cos(y)/(1+x^2))公式得到对应的f矩阵值,相当于外积。可理解为x,y在第三维f对应的所有值。fa 就好理解了,t是translocation矩阵转置,行和列兑换,兑换后维度相同采能做矩阵加减法。你要补点线性代数,知道矩阵内积和外积是什么东东!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-9-9 07:50:27
matlab 代码

X = -pi:0.1:pi;
Y = X;
[X,Y] = meshgrid(X,Y);
f = cos(Y)./(1+X.^2);
meshc(X,Y,f);
fa = (Z-Z\')/2; meshc(X,Y,fa);

试试R代码 x <- seq(-pi, pi, length = 50)
y <- x
f <- outer(x, y, function(x, y)cos(y)/(1+x^2))
contour(x, y, f)
contour(x, y, f, nlevels = 45)
fa <- (f-t(f))/2
p1 <- plot_ly(x=x, y = y, z = f) %>% add_surface()
p2 <-plot_ly(x=x, y = y, z = fa) %>% add_surface()
还是Matlab简单 image20180909075028.jpg image20180909075028.jpg
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-9-9 07:53:51
用plotly画3D图,google  了解一下
install.packages(plotly)
library(plotly)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-9-10 13:15:33
“还是Matlab简单?”
不存在的

y <- x <- seq(-pi, pi, length = 50)
f <- outer(x, y, function(x, y) cos(y) / (1 + x ^ 2))
lattice::wireframe(f, xlab = "x", ylab = "y", drape = TRUE)
001.png
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-9-10 13:22:25
或者可以将下面的代码copy后在电脑上执行:
复制代码
library(lattice)
wireframe(f, xlab = "x", ylab = "y", panel.3d.wireframe = "panel.3d.contour", drape = TRUE)
002.png

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群