Questions tagged «matlab»

有关数值编程语言MATLAB的问题。


1
在Matlab中,linsolve和mldivide有什么区别?
在matlab中,在所有确定的,超定的和未定的情况下,linsolve和mldivide都用于求解线性方程组。 阅读他们的文档,我想知道他们之间有什么区别?在这三种情况下,他们是否使用几乎相同的矩阵分解和三角化算法? 如果A具有opts中的属性,则linsolve比mldivide快,因为linsolve不执行任何测试来验证A具有指定的属性 mldivide是否执行相同的测试以验证A是否具有特殊属性?还是mldivide只是将它们视为一般情况而没有特殊属性? 谢谢!

3
MATLAB矩阵乘法(最佳计算方法)
我必须在两个参考系统(轴)之间进行坐标转换。为此,由于使用了一些中间轴,必须将三个矩阵(3 × 33×33\times3)相乘。我考虑过两种解决方法: 方法1:直接进行乘法,即 vF= R1个 [R2 [R3 v一世vF=[R1个 [R2 [R3 v一世v_f = R_1\ R_2\ R_3\ v_i 方法2:分为以下步骤: v3 我= R3 v一世v3一世=[R3 v一世v_{3i} = R_3\ v_i v23= R2 v3 我v23=[R2 v3一世v_{23} = R_2\ v_{3i} vF= R1个 v23vF=[R1个 v23v_f = R_1\ v_{23} 哪里: [R1个[R1个R_1,[R2[R2R_2和[R3[R3R_3是3 × 33×33\times3矩阵 vFvFv_f,,,是向量v 3 i v 23 …

2
高阶Zernike多项式的数值稳定性
我正在尝试为某些图像计算更高阶(例如m=0,n=46)的Zernike矩。但是,我遇到了一个关于径向多项式的问题(请参阅Wikipedia)。这是在间隔[0 1]上定义的多项式。请参阅下面的MATLAB代码 function R = radial_polynomial(m,n,RHO) R = 0; for k = 0:((n-m)/2) R = R + (-1).^k.*factorial(n-k) ... ./ ( factorial(k).*factorial((n+m)./2-k) .* factorial((n-m)./2-k) ) ... .*RHO.^(n-2.*k); end end 但是,这显然会遇到的数值问题RHO > 0.9。 我试着将其重构,polyval以为它可能具有一些更好的幕后算法,但这并没有解决任何问题。将其转换为符号计算确实可以创建所需的图形,但即使对于如图所示的简单图形,其速度也令人难以置信。 有没有一种数值稳定的方法来评估这种高阶多项式?

1
矩阵平衡算法
我一直在从头开始编写控制系统工具箱,而纯粹是在Python3中编写(无耻插件:)harold。从我过去的研究中,我总是care.m出于技术/无关的原因而抱怨Riccati求解器。 因此,我一直在编写自己的例程集。我找不到解决方法的一件事是获得一种高性能的平衡算法,至少与一样好balance.m。在提到它之前,xGEBALfamily在Scipy中公开,并且基本上可以从Scipy进行如下调用,假设您具有一个float类型的2D数组A: import scipy as sp gebal = sp.linalg.get_lapack_funcs(('gebal'),(A,)) # this picks up DGEBAL Ab, lo, hi, scaling , info = gebal(A, scale=1 , permute=1 , overwrite_a=0 ) 现在,如果我使用以下测试矩阵 array([[ 6. , 0. , 0. , 0. , 0.000002], [ 0. , 8. , 0. , 0. , 0. ], …

3
没有对象定向,我的项目能否生存?
我正在编写一个小的MATLAB程序包,它将解决某些类的数值问题。该算法分为3个阶段,用户每个阶段有5个选择。我已经使用函数和3个开关案例(每个算法阶段一个)实现了整个问题。它工作正常,但我正在考虑使其做更多的事情(超过5个选择和一个阶段),并且还使它成为Python端口(有些人对此很感兴趣)。≈ 20≈20\approx 20 我想知道是否应该转换为OOP框架(我一点也不擅长),还是应该坚持我拥有的程序框架(我擅长)。我已在程序代码中确保没有函数做两件事,并且重叠最少(两个代码段几乎永远不会做同一件事)。 如果您觉得它更适合他们的领域,请将其迁移到SO。
9 matlab 

1
如何近似一个大矩阵的条件数?
如果是傅里叶变换(非均匀或均匀),有限差分和对角矩阵的组合,我如何近似大矩阵的条件数?GGGGGGFFFRRRSSS 矩阵很大,不存储在内存中,只能作为函数使用。 特别是,我有以下矩阵: Gμ=SHFHFS+μRHRGμ=SHFHFS+μRHRG_\mu=S^HF^HFS+\mu R^HR 我想研究和条件数之间的关系。μμ\muk(Gμ)k(Gμ)k(G_\mu) 我假设有人需要某种迭代方法?最好会有一些MATLAB代码。

6
软问题:Python在哪里适合图片?
所以我一直在争论我是否应该去学习Python。与我的教授交谈后,就学术界而言,Matlab似乎是应用数学/计算科学中使用的通用语言。在工业界时,我的教授们(尤其是那些在工业界工作的人)说,学习c ++是最安全的方法。 我想听听你们在学术界和行业中的人,我是否应该打扰Python,或者只是暂时擅长于我所知道的(MATLAB和C ++)。 更新:杰夫提出了一个很好的观点,我可能应该提出更多细节: 去年,我目前是本科生,攻读计算专业的数学。我想去读研究生,继续研究(我从未见过自己喜欢教书)或在实验室工作。两者都是理想的。至于研究领域,可能涉及数值分析或概率论。万一计划A不能奏效,我会愿意在工业界工作,只要为自己为工业做准备不会花太多时间上学。因此,我认为我应该学习行业中通用的语言,作为备份。但这也是为什么我感到矛盾。我无法学习每种语言,也无法为每种可能性做好准备,因为这会花费太多时间。
9 matlab  python  c++ 

1
Matlab Pde工具箱:在直线或子流形上绘制解决方案
我正在使用Matlab pde工具箱来求解2D中的某些椭圆方程。 解决方案很好,尽管我确实需要沿着给定的线对其进行绘制,即从表示解决方案的3D网格中切出一个平面切片。 我想不出一种巧妙地涉及工具箱功能的方法(即不涉及三角形网格上的低级插值)。 任何帮助表示赞赏。
9 pde  matlab 

4
小型科学图书馆的托管网站
在我的研究工作中,我一直在开发一个小型的C ++库,旨在促进C ++计算代码与Octave / Matlab(当后者用于后处理目的)之间的通信。 我想在一些免费的托管站点(例如Sourceforge或Github)下,根据GPL发布这样的库。 不过,老实说,我缺乏选择哪个站点更适合作为(小型)图书馆的站点的经验。 一方面,github在我看来更直接,另一方面,Sourceforge是科学代码的参考站点,其中许多托管在此。 有什么建议吗? 编辑:我扩大了我的问题。 我正在谈论的库是一个很小的项目( CL,目前在Bitbucket上的一个私人存储库中),几乎是个人化的,此后我的主管提出了2年来无聊的技术要求和6个月的代码设计(主要是通过试用和错误)。≈15K≈15K\approx 15K 经过一番询问后,我注意到sourceforge具有一种很好的机制,可以使人们对项目页面的访问和下载进行统计,因此可以以某种方式计算仅下载lib来使用它的人们(用户)(如果有的话)。 另一方面,从开发人员的角度来看,Github看起来更容易(这里我指的是对分析,扩展,派生代码感兴趣的人)。
9 matlab  libraries  c++ 

1
如何找到耦合系统的Lyapunov指数
Answer 提供了一个用于计算混沌同步中耦合振荡器的条件Lyapunov指数(CLE)的软件。但是,它很难遵循,并且没有图形的图形输出(并且以C语言表示,更为复杂)。有谁知道如何修改LET Toolbox,这对于非耦合系统非常有用,但是我不了解如何使用同步系统来适应CLE。 我对如何在计算CLE的雅可比矩阵时包含驾驶员信号感到困惑,因为理论上说为响应系统找到了CLE,所以我们不必为驾驶员以及响应系统找到雅可比矩阵。类似的振荡器(驱动和响应)。还是应该在软件中同时考虑驱动系统和响应系统,并像对待单个系统一样进行处理? 如果在CLE中,如何在状态方程中适应外部强迫(如随机过程)。 CLE还有其他实现吗? 谢谢
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.