小编hor*_*ler的帖子

在Matlab中列出/查看/清除持久变量

如何在MATLAB中列出/查看/清除持久变量?我希望看到持久变量不是针对特定函数,而是针对目前在内存中具有持久变量的所有函数.

我尝试过的事情一样whos('persistent'),并whos('global')没有运气.

matlab global-variables

6
推荐指数
1
解决办法
2298
查看次数

MATLAB oop-如何检查两个对象是否相等

我想知道是否有一种简单的方法来检查两个Matlab对象是否相等。我有

A = Section(1, Point(0, 0), Point(0, 0));
B = Section(1, Point(0, 0), Point(0, 0));
    if(A == B)              % I know this is incorrect, but how could I fix it up?
       fprintf('Equal\n');
    else
       fprintf('Not Equal\n');
    end
Run Code Online (Sandbox Code Playgroud)

实例化两个部分后,我想检查它们是否相同(在上述情况下它们相等)。我该怎么办?

oop matlab

6
推荐指数
1
解决办法
1869
查看次数

为什么小值的逆t分布在Matlab和R中有所不同?

我想在Matlab中为小值(例如1e-18)评估逆学生t-分布函数.自由度是2.

不幸的是,Matlab回归NaN:

tinv(1e-18,2)
NaN
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用R的内置函数:

qt(1e-18,2)
-707106781
Run Code Online (Sandbox Code Playgroud)

结果是明智的.为什么Matlab不能评估这个小值的函数?Matlab和R的结果与1e-15非常相似,但对于较小的值,差异相当大:

tinv(1e-16,2)/qt(1e-16,2) = 1.05
Run Code Online (Sandbox Code Playgroud)

有谁知道Matlab和R的实现算法有什么不同,如果R给出正确的结果,我怎么能在Matlab中有效地计算较小值的逆t-分布?

statistics matlab r distribution probability

6
推荐指数
1
解决办法
1048
查看次数

MATLAB 中的 ode 求解器中的质量矩阵是什么?

在不使用质量矩阵的情况下,ode 求解器ode45可以求解 y'=f(t,y)。

但是对于涉及“质量”矩阵的问题,在 ode 求解器中有一个质量矩阵选项,M(t,y)y'=f(t,y)。

“质量”矩阵究竟是什么?这个术语是否来自质量弹簧系统振荡的质量?我在文档中找不到关于此的示例代码。此外,似乎我可以在 y'=f(t,y) 等式中的 f(t,y) 中对有关 t 和 y 的信息进行编码。在什么情况/示例中会出现 M(t,y)y'=f(t,y) 需要 M(t,y) 的地方?

matlab matrix numerical-integration ode

6
推荐指数
1
解决办法
5010
查看次数

为什么feval会在MATLAB中返回NaN

我在2D中有一堆点,我知道它的值,并且我想通过它们拟合三次样条来使用MATLAB插入其他一些数据.

我的代码看起来像:

fitobject = fit(x,y,'cubicinterp');
yy=feval(fitobject,xx)
Run Code Online (Sandbox Code Playgroud)

具有以下输入:

坐标

x = [...
   313     3;
   313     5;
   313     7;
   315     3;
   315     5;
   317     3;
   319     5];
Run Code Online (Sandbox Code Playgroud)

y = [...
   28.0779;
   28.0186;
   11.6220;
   16.7640;
   23.7139;
  -14.7882;
  -20.4626];
Run Code Online (Sandbox Code Playgroud)

插值点

xx = [...
   313     3;
   313     4;
   313     5;
   313     6;
   313     7;
   313     8;
   313     9;
   314     3;
   314     5;
   314     7;
   315     3;
   315     4;
   315     5;
   315     6;
   315     7;
   316     3;
   316     5;
   317     3;
   317     4;
   317     5; …
Run Code Online (Sandbox Code Playgroud)

matlab interpolation spline curve-fitting

5
推荐指数
2
解决办法
824
查看次数

向量与子矩阵的乘法很慢

我有一个高矩阵(下面的例子是10000乘3000)我想要内部产品的行的子集(例如,500行).对于不同的,随机选择的行重复多次(在该示例中为100次,但实际上多次).事实证明索引A(sub,:)相当慢.在我的例子中,最好乘以整个矩阵A(即10000行),而不是选择性地选择和乘以实际需要的500.

行索引(sub = randperm(10000); sub = sub(1:500);)的随机生成在计算上是便宜的; 我把它放在两个循环中以便公平.

A=randn(10000,3000);
g=zeros(10000,1);

tic
for i=1:100
    sub = randperm(10000); sub = sub(1:500);
    b=randn(3000,1);
    g(sub) = g(sub) + A(sub,:)*b;
end
toc
% elapsed time is 1.58 sec

tic
for i=1:100
    sub = randperm(10000); sub = sub(1:500);
    b=randn(3000,1);
    g = g + A*b;
end
toc
% elapsed time is 1.28 sec
Run Code Online (Sandbox Code Playgroud)

问题是:当实际只需要一部分行时,有没有办法加快速度?

matlab matrix-multiplication

5
推荐指数
1
解决办法
269
查看次数

旋转 3-D Matlab 图时保持对象大小恒定

我正在尝试在 Matlab 中生成一组 3D 对象的视图,以便角度发生变化但对象大小保持不变。由于 Matlab 尝试将整个轴放入视图中,因此对象会缩小或增大,具体取决于是从正面还是从某个角度查看绘图。举个例子:

[x,y,z] = sphere(50); % coordinates of a sphere
surf(x,y,z);          % plot the sphere
axis image off
view(0,0)             % at this angle the sphere fills the axes
view(-37.5,30)        % at this angle the sphere is much smaller
Run Code Online (Sandbox Code Playgroud)

如何才能使球体无论从哪个角度观看都显示相同的大小?

3d matlab plot matlab-figure

5
推荐指数
1
解决办法
4936
查看次数

评估Matlab的符号功能

我有符号功能的问题.我正在创建自己的函数,其第一个参数是一个字符串.然后我将该字符串转换为符号函数:

f =  syms(func)
Run Code Online (Sandbox Code Playgroud)

让我们说我的字符串是sin(x).所以现在我想用它来计算它subs.

a = subs(f, 1)
Run Code Online (Sandbox Code Playgroud)

结果是sin(1)而不是数字.

因为0它正常工作和计算.我应该怎么做才能得到实际的结果,不仅sin(1)还是sin(2)等?

matlab symbolic-math

5
推荐指数
1
解决办法
1万
查看次数

如何在Matlab中存储符号值

使用Matlab(符号数学工具箱),符号值占用112字节的内存.人们可以通过whos命令看到这一点.

我知道根据IEEE 754标准存储浮点值(在Matlab的数值框架中).因此,使用8个字节(双精度):尾数为52位,符号为1位,指数为11位.

符号数字的存储细节怎么样?使用什么标准?

matlab symbolic-math

5
推荐指数
1
解决办法
192
查看次数

用Matlab绘制3-D RGB立方体模型

我写了这段代码来绘制RGB立方体,但是它的颜色不完全正确吗?

%Define a six row by four column matrix to define the six cube faces
fm = [1 2 6 5; 2 3 7 6; 3 4 8 7; 4 1 5 8; 1 2 3 4; 5 6 7 8]

%Define an eight row by three column matrix to define the vertices at which
%the faces meet
vm = [0 0 0; 1 0 0; 1 1 0; 0 1 0; 0 0 1; 1 0 1; 1 1 …
Run Code Online (Sandbox Code Playgroud)

matlab matlab-figure

5
推荐指数
1
解决办法
3366
查看次数