我有一个数据,可以通过以下方式模拟:
N = 10^6;%10^8;
K = 10^4;%10^6;
subs = randi([1 K],N,1);
M = [randn(N,5) subs];
M(M<-1.2) = nan;
Run Code Online (Sandbox Code Playgroud)
换句话说,它是一个矩阵,最后一行是下标.现在我想计算nanmean()
每个下标.另外,我想保存每个下标的行数.我有一个'虚拟'代码:
uniqueSubs = unique(M(:,6));
avM = nan(numel(uniqueSubs),6);
for iSub = 1:numel(uniqueSubs)
tmpM = M(M(:,6)==uniqueSubs(iSub),1:5);
avM(iSub,:) = [nanmean(tmpM,1) size(tmpM,1)];
end
Run Code Online (Sandbox Code Playgroud)
问题是,它太慢了.我希望它适用于(N = 10^8
并K = 10^6
参见这些变量定义中的注释部分).
如何以更快的方式找到数据的平均值?
我想从外部文件加载着色器。这个着色器是正确的,因为它在插入<script>
标签时工作。我执行以下操作:
var loader = new THREE.FileLoader();
loader.load('shader.vert',function ( data ) {vShader = data;},);
loader.load('shader.frag',function ( data ) {fShader = data;},);
Run Code Online (Sandbox Code Playgroud)
后来我把它用作:
var material = new THREE.ShaderMaterial({
uniforms: uniforms,
vertexShader: vShader,
fragmentShader: fShader,
});
Run Code Online (Sandbox Code Playgroud)
问题是当我重新加载页面时我出错了,着色器没有定义。当我在控制台中输入 vShader 时,它会打印出我想要的内容。当我开始调试时(init() 函数内的断点未定义。
你能解释一下我的错误吗?
整个代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://threejs.org/build/three.min.js"></script>
</head>
<body>
<div class="WebGL-output" id="WebGL-output"></div>
<script id="vertexShader" type="x-shader/x-vertex" src="shader.vert">
varying vec2 vUv;
void main() {
vUv = uv;
gl_Position = projectionMatrix * modelViewMatrix * vec4(position,1.0);
}
</script>
<script id="fragmentShader" type="x-shader/x-fragment">
uniform …
Run Code Online (Sandbox Code Playgroud) 我尝试在脚本中在透视相机和正交相机之间切换。我希望物体处于一定深度以保持其投影尺寸。我放弃了去理解几何......
您能否提供一些简单教程的链接,这对我来说太复杂了。
对于position.z==0
我的对象有:
perspCamera = new THREE.PerspectiveCamera(45, W / H, 1, 1000);
perspCamera.position.z = 100;
var S=Math.tan((45/180)*Math.PI)*100;
orthoCamera = new THREE.OrthographicCamera( -S, S, S, -S, 1, 1000 );
Run Code Online (Sandbox Code Playgroud)
这是不正确的。
我明白了,我将用 codepen 链接发布答案
javascript orthographic perspectivecamera coordinate-transformation three.js
我尝试了解如何用数值方法求解随机微分方程(SDE)(我没有任何语言的经验,但出于某些原因,我选择了Julia)。作为初始模型,我决定使用Lotka-Volterra方程。我阅读了DifferentialEquations.jl的手册和教程。虽然我的模型是一个简单的ODE系统:
一切正常:
using DifferentialEquations
using Plots
function lotka(du,u,p,t);
, , , = p;
du[1] = *u[1]-*u[1]*u[2];
du[2] = *u[1]*u[2]-*u[2];
end
u0 = [15.0,1.0,0.0,0.0];
p = (0.3,0.05,0.7,0.1);
tspan = (0.0,50.0);
prob = ODEProblem(lotka,u0,tspan,p);
sol = solve(prob);
plot(sol,vars = (1,2))
Run Code Online (Sandbox Code Playgroud)
现在,我要添加Ornstein-Uhlenbeck噪声:
愚蠢的简单解决方案是:
using DifferentialEquations
using Plots
function lotka(du,u,p,t);
, , , , , = p;
du[1] = *u[1]-*u[1]*u[2]+u[3];
du[2] = *u[1]*u[2]-*u[2]+u[4];
du[3] = -u[3]/+sqrt((2.0*^2.0/))*randn();
du[4] = -u[4]/+sqrt((2.0*^2.0/))*randn();
end
u0 = [15.0,1.0,0.0,0.0];
p = (0.3,0.05,0.7,0.1,0.1,0.1);
tspan = …
Run Code Online (Sandbox Code Playgroud) 我有点,属于3D空间中的一些非参数曲线.我需要在球坐标中工作并在给定azimuth
和elevation
值中插入给定的曲线.
你能用这种插值算法帮助我吗?
PS我不确定,从我在1D空间中绘制的一维曲线的问题想法是明确的.所以,以防下面的代码创建这样的,但参数化.
x=linspace(-2*pi,2*pi,10^3);
y=sin(x);
z=sinh(x);
Run Code Online (Sandbox Code Playgroud)
感谢@jodag关于上采样的非常好的帖子.slerp
是完美的!然而,我的问题是不同的,或者我不明白如何使用上采样来解决它.假设我将我的点定义为数组(只是一些虚拟数据用于演示):
x_given = rand(9, 1) - 0.5;
y_given = rand(9, 1) - 0.5;
z_given = rand(9, 1) - 0.5;
x_given(end+1) = x_given(1); % should work for closed curves
y_given(end+1) = y_given(1); % should work for closed curves
z_given(end+1) = x_given(1); % should work for closed curves
Run Code Online (Sandbox Code Playgroud)
我想找到x_i, y_i, z_i
给定的所有点()elevation_q
和azimuth_q
:
elevation_q = pi./4;
azimuth_q = pi./7;
[x_i, y_i ,z_i] …
Run Code Online (Sandbox Code Playgroud) 我在朱莉娅很新,所以也许这是一个愚蠢的问题.我有以下代码:
a = [1.0, 2.0];
b = [2.2, 3.1];
Int(a.>b)
Run Code Online (Sandbox Code Playgroud)
它给了我一个错误:
MethodError: Cannot `convert` an object of type BitArray{1} to an object of type Int64
This may have arisen from a call to the constructor Int64(...),
since type constructors fall back to convert methods.
Stacktrace:
[1] Int64(::BitArray{1}) at ./sysimg.jl:77
[2] include_string(::String, ::String) at ./loading.jl:522
Run Code Online (Sandbox Code Playgroud)
该命令1(a.>b)
效果很好.你能解释一下:
为什么我的隐式转换不起作用?
javascript ×2
julia ×2
matlab ×2
three.js ×2
3d ×1
matrix ×1
mean ×1
orthographic ×1
performance ×1
stochastic ×1