如何使用ILMath.invert函数?
在ilnumerics中,我想倒置一个矩阵A.结果是矩阵B.这是我的代码: ILArray data = ILSpecialData.sinc(50, 50); ILArray data2 = ILMath.zeros(50, 50); ILMath.invert(data, data2); 该方法是: ILMath.invert Method (ILInArray, ILOutArray) public static void invert( ILInArray A, ILOutArray outArray ) ,但我在矩阵B(data2)中获得了零矩阵,而不是矩阵A(数据)的反转.我应该做什么来解决这个问题? 如果是因为我曾经使用iLarray而不是Ilinarray和Iloutarra
0 2023-03-22
编程技术问答社区
如何在ILNumerics中为自定义对象添加一个颜色条?
我想将配色栏与自定义对象一起使用.这些物体根据特定的菌落为颜色.我想在运行时在配色栏中显示此colormap. 我已经尝试通过: 将其添加到场景中 ILColorbar cb = new ILColorbar(); scene.Add(cb); 或到该立方体: plotCube.Add(cb); 甚至plotCube.Children.Add(cb); 但仍然不起作用.显示自定义对象的配色栏的正确方法是什么? 这是我的代码: private void OKInputBodyListButton_Click(object sender, EventArgs e) { try { var sceneBody = new ILScene(); var plotCubeBody = sceneBody.Add(new I
12 2023-03-20
编程技术问答社区
如何在ILNumerics中配置比例标签位置?
我用illinePlot绘制一些线条. 然后我旋转立方体(目的是更改从顶部开始的Y刻度标签的位置): Rotation = Matrix4.Rotation(new Vector3(1, 0, 0), ILMath.pif), 它产生这样的结果. 在此图中,我在y轴上失去了比例标签.如何配置它?因此可以显示标签? 更新: 这个问题与以下问题有关:如何逆转iLnumerics中的轴/p> 起初,我制作了一个图形,该图包括一些类似图的行: 该图是由此代码产生的: scene.Add(new ILPlotCube { Children = { new ILLinePlot(ILMath.tosingle(responses["1,0;:"]),lineWidth:1, markerStyle: MarkerStyle.None), new ILLinePlot(line1, lineColor: Color.Black ,lin
4 2023-03-05
编程技术问答社区
Excel DNA与ILNumerics
我已经通过Excel在Excel中成功地使用了iLnumerics一段时间.现在,我编写了一个新功能,该功能使用了linsolve函数(需要mkl_custom.dll),并且无法将其构建到XLL中. 我的自定义功能在调试中起作用,这就是为什么我假设包装中的STH出错. 这是我的DNA文件: 包装此包装时,我会收到MKL_CUSTOM.DLL的路径的错误消息 path not found 这可能是由于DLL的文件夹结构:
4 2023-02-21
编程技术问答社区
如何将ILArray<object>转换成ILArray<double>?
i m使用iLnumerics从/到矩阵的读写.我从数据库中获取一些数据作为对象[,],因为它包含数字和标题(字符串). object[,] loaddata的数据结构是System.String和System.Double的混合物,前两列和第一行包含字符串的静止双打.我想将双打写入矩阵中.尺寸大致loaddata[9000,500]. 这是我非常繁琐的绕行系统阵列,甚至无法正常工作: ILArray loaddata = DBQuery(....); //this next line has error var tempoobj = ToSystemMatrix(loaddata["2:end", "1:end"]); double[,] tempdouble = new double[500, 8784]; Array.Copy(tempoobj, tempdouble, tempoobj.Length); ILArray
14 2023-02-20
编程技术问答社区
ILNumerics在特定位置绘制平面图
我目前正在与Ilnumerics API一起玩,并开始在立方体中绘制几分. 然后,我直接通过这些点计算了一个回归平面. 现在,我想在同一场景图中绘制飞机,但只有与点云相同的大小. 我得到了平面的参数(a,b,c):f(x,y)= a*x + b*y + c; 我知道只有z对于绘制飞机很有趣,但是我不知道如何将正确的固定固定到场景中,因此平面的大小大约大于点的最大值和最小面积. 你们能给我一个简单的示例,即绘制飞机和一些Supgetion如何设置该飞机的边界? 这是我到目前为止得到的: private void ilPanel1_Load(object sender, EventArgs e) { // get the X and Y bounds and calculate Z with parameters // plot it! var scene = new ILS
28 2023-02-17
编程技术问答社区
无法手动或自动将ILNumerics控件添加到VS2012工具箱中
我试图按照 http://ilnumerics.net/可视化-Api-Quick-Start Guide.html 使Ilnumerics起作用.到目前为止,我无法在工具箱上控制ilnumerics. 我尝试了Nuget的所有三个单独的软件包 1)ilnumerics(anycpu) 2)ilnumerics.32bit 3)ilnumerics.64bit 这些软件包的确已加载到我的.csproj,但是Ilnumerics控件未在工具箱中列出.所以我试图手动添加它们.我右键单击我的工具框,然后选择"选择项目".这将我带到.NET Framework组件选项卡,在其中选择"浏览"按钮并尝试加载DLL.我得到以上三种情况的以下错误 1)iLnumerics.dll:iLnumerics.dll中没有组件可以放在工具箱中. 2)iLnumerics.32.dll:ilnumerics32.dll中没有组件可以放在工具箱中. 3)iLnumerics.64.dll:文
42 2023-02-14
编程技术问答社区
如何将ILArray转换成double[,]数组?
如何将iLarray转换为double [,]数组 我有ILArray A想要使用A.ToArray(),但不知道如何使用 我需要获得double[,] System.Array. 解决方案 目前没有将ILArray转换为多维System.Array double[,]的自然支持.所以让我们写! private static System.Array ToSystemMatrix(ILInArray A) { using (ILScope.Enter(A)) { // some error checking (to be improved...) if (object.Equals(A, null)) throw new ArgumentException("A may not be null"); if (!A.IsMatrix) throw new Argum
22 2023-02-10
编程技术问答社区
ILNumerics 绘制一个具有(x,y,z)坐标的曲面
我真的很陌生.我有以下形式的积分 //一个包含点坐标的数组: double [,] graphData = new double [100,3]; //图数据的每个元素包含一个点: 的坐标: graphData [1;:] =(x1,y1,z1); 我想使用ilnumerics绘制表面.我找不到任何例子.你能帮我吗? 解决方案 在接受的答案点中发布的链接已过时,该链接已过时了.从版本3中,表面使用了基于新的场景图渲染API. 文档: http://ilnumerics.net/surface-plots.html > 但是,罗伊·迪克图斯(Roy Dictus)发布的林克(Linke)可能有助于解释如何将数据转换为适合表面渲染的矩阵形状数据. 基本上,表面基于矩阵形状的输入数据创建网格.它根据输入矩阵中的位置连接传入点.因此,您必须提供的积分列表: Z值的单个矩阵,如果仅呈现高度值的常规网格,或者 非规范网格和参数表面的z,x和y值的相
28 2022-10-25
编程技术问答社区
如何在ILNumerics中反转坐标轴
我想将illinePlot中的Y轴从上到下扭转(从下降开始).我的结果是这样: 这是代码: scene.Add(new ILPlotCube { new ILLinePlot(ILMath.tosingle(ZDistance["1,0;:"]), markerStyle: MarkerStyle.Dot) }); 如何将y轴逆转到这个图形? 解决方案 将图立方体绕X轴旋转180°: ilPanel1.Scene.Add(new ILPlotCube { Children = { new ILLinePlot(ILSpecialData.sincos1Df(200,1)[":;0"].T) }, Rotation = Matrix4.Rotation(new Vector3(1,0,0), I
8 2022-10-25
编程技术问答社区
ILNumerics PlotCube中多个表面的颜色条相同
我在一个绘图立方体中绘制多个曲面.但我不能让它们具有相同的颜色条.我已经定义了一个 ILColorbar 并将它们添加到表面,但它绘制了两个具有不同数字的颜色条.两个表面是否有可能具有相同的颜色条?此外,如何将文本添加到颜色栏(标题、标签)?非常感谢你.这是一个例子: private void ilPanel1_Load(object sender, EventArgs e) { var scene = new ILScene(); // add a new plot cube var pc = scene.Add(new ILPlotCube()); pc.TwoDMode = false; // Create Data ILArray A = ILSpecialData.torus(0.75f, .25f); ILArray
184 2022-08-10
编程技术问答社区
如何在ILNumerics中有效地绘制一个大的曲面(如1000x1000)?
这是我使用的代码: public partial class Form1 : Form { private ILPlotCube plotcube_ = null; private ILSurface surface_ = null; public Form1() { InitializeComponent(); ilPanel1.Driver = RendererTypes.OpenGL; } private void ilPanel1_Load(object sender, EventArgs e) { var scene = new ILScene(); plotcube_ = scene.Add(new ILPlotCube(twoDMode: false)); plotcube_.MouseDoubleClick += PlotCube
132 2022-08-10
编程技术问答社区
ILNumeric连续渲染图
有没有办法连续绘制变化的数组数据?我有一个 ILLinePlot 来绘制线条以更改按钮事件上的数据,但我想让它连续. while (true) { float[] RefArray = A.GetArrayForWrite(); //RefArray[0] = 100; Shuffle(ref RefArray); Console.Write(A.ToString()); scene = new ILScene(); pc = scene.Add(new ILPlotCube()); linePlot = pc.Add(new ILLinePlot(A.T, lineColor: Color.Green)); ilPanel1.Scene = scene; ilPanel1.Invalidate(); } 我遇到的问题是循环运行,我可以看到数组的更新,但 ILPanel 没有更新.我在想可能是
96 2022-08-10
编程技术问答社区
如何通过鼠标在ILNumerics曲面图上的点击位置找到曲面的三维坐标?
目前我们的系统使用带有 ILNumerics 表面组件的 ILNumerics 3D 绘图立方体类来显示 3D 网格表面.我们系统的一个目标是能够通过鼠标点击绘图来询问表面上的各个点.我们在绘图上设置了 MouseClick 事件,问题是我不确定如何获取已单击表面上特定点的值,有人可以帮忙解决这个问题吗? 解决方案 可以从 2D 鼠标坐标转换为 3D '模型'坐标 - 但有一些限制: 转换不是明确的.鼠标事件仅提供 2 个维度:X 和 Y 屏幕坐标.在 3D 模型中,这个 2D 屏幕点的“后面"可能不止一个点.因此,你能得到的最好的结果是计算一条 3D 线,从相机开始,以无限深度结束. 虽然理论上至少可以尝试找到与 3D 对象的交叉线,但 ILNumerics 目前还没有.即使在表面的简单情况下,也很容易构建一个在多个点与线相交的 3D 模型. 对于简化的情况,存在一个解决方案:如果 3D 中的 Z 坐标无关紧要,可以使用通用矩阵转换来获取 3D 中的 X 和
96 2022-08-10
编程技术问答社区
如何在ILArray中加载大的CSV文件进行3D绘图?
我有几个 csv 格式的文件,其中包含科学数据,以检查以 3D 形式绘制它们.文件内容组织为日期时间、频率(Hz)和强度(dB),如下例所示: 2014-03-15 18:00:00, 19700000.0, -30.19 2014-03-15 18:00:00, 19700781.25, -31.19 2014-03-15 18:00:00, 19701562.5, -30.43 2014-03-15 18:00:00, 19702343.75, -30.37 2014-03-15 18:00:00, 19703125.0, -27.06 对于绘图上下文,3 个值分别代表 x、y、z. 我想创建一个名为 datasample 的自定义类型,由 datetime,float,float 类型和然后将数组声明为 ILArray 是否有从文件中加载 ILArray 以进行绘图的特定功能或建议方式? ILNumerics 能否正确处理第一列的日期
230 2022-07-19
编程技术问答社区
初学ILNumerics:在VS2012下安装
我对 ILNUmerics 非常感兴趣,想试用免费版,但遇到了麻烦. 我从一个控制台应用程序开始,并试图运行“hello ilnumerics"控制台应用程序,但我注意到 VS 无法找到 MKL 库. 我在 Windwos 8 下使用 VS2012(通过 2010 年中期 MacBook Pro 上的 Bootcamp;是否相关);我已经从 Project 解决方案安装了 NuGet Packages 扩展.然后右键单击解决方案资源管理器中的引用,“管理 Nu Get 包",从在线/搜索找到各种版本的数字.我选择了“ILNumerics"并安装.我的项目中添加了“ILNumerics"和“ILNumerics.Native".然后我可以在解决方案资源管理器的“参考"下看到 ILNumerics,还可以得到两个新文件夹/bin32/和/bin64/,它们都包含两个名为 libiomp5md.dll 和 mkl_custom.dll 的 DLL.我检查了他们的“复制到输出目录"属
6372 2022-07-19
编程技术问答社区
如何在ILCube中保持形状
我想用ilnumerics绘制一些3d曲面.我注意到,如果我旋转它,ilcube不会保持表面的形状,因为它试图适合ilpanel中的立方体.但是,如果我使用ilcamera,它会保持形状,但它周围没有立方体.以下是一个例子, private void ilPanel1_Load(object sender, EventArgs e) { var scene = new ILScene(); ILArray A = ILSpecialData.torus(0.75f, 0.25f); var sf = new ILSurface(A); var pc = new ILPlotCube(); pc.TwoDMode = false; scene.Add(pc); pc.Add(sf); sf.Colormap = Colormaps.Jet; var cb = new ILColorbar();
344 2022-07-17
编程技术问答社区
如何使用IlPanel c#绘制3D函数
我使用Ilnumerics,现在我想知道,如果它在IlPanel功能可能情节像F(X,Y)的两个变量。 我已搜查各地的互联网,但我一无所获。有人能帮助我吗? 解决方案 从多达3.3.2版本。 “ILSurface”允许两个参数的函数的定义,以绘制成一个面: 私人无效ilPanel1_Load(对象发件人, EventArgs五){ ilPanel1.Scene.Add( 新ILPlotCube(twoDMode:FALSE){ 新ILSurface((X,Y)=> { 收益率(浮) Math.Sin(0.1F * X * X + 0.2F * Y * Y); }) }); } 结果:
1024 2022-07-17
编程技术问答社区