【发布时间】:2018-02-13 05:17:20
【问题描述】:
我正在学习 matlab 并尝试使用矢量化来实现 small angle approximation。这是我要实现的公式:
我正在为 3 个角度实现此功能:pi / 100、pi / 10 和 pi / 6。到目前为止,我已经想出了这个:
x = [pi / 100, pi / 10, pi / 6];
y = sin(x);
e = (y - x) ./ y;
这很好用。现在,我想将结果解压缩为 3 个变量。我知道我可以做到:
RelativeError100 = e(1);
RelativeError10 = e(2);
RelativeError6 = e(end);
但是来自 python 背景,这对我来说似乎有点笨拙。所以我尝试了这个:
[RelativeError100, RelativeError10, RelativeError6] = e
哪些错误,给出Too many output arguments.。所以,我做了一些研究,发现了this,这表明
[RelativeError100, RelativeError10, RelativeError6] = e{:}
这会引发Cell contents reference from a non-cell array object.。
我错过了什么,我怎样才能让它发挥作用?还是用matlab不可能?
【问题讨论】:
-
我喜欢认为这不是微不足道的原因是从数组到单个标量变量是动态变量名称的一半。
标签: matlab vector vectorization