matlab - 将数组集成到另一个数组的规范方法是什么
问题描述
考虑两个数组:
x = [0 .05 .1 .3 .32 .4 .55 .7 1 1.3 1.4 1.45 1.6 1.8 1.9 2 2.2 2.3 2.6 2.8 2.91 3];
y = x.^2;
我想整合y
过来x
。到目前为止,我发现我可以trapz()
在 for 循环中使用该函数:
y1 = zeros(length(x));
for ii = 1:length(x)
y1(ii) = trapz(x(1:ii), y(1:ii));
end
plot(x, y1, x, y);
但是,我想知道是否有一种规范的方法可以在不使用 for 循环的情况下做到这一点。
PS1。我想 MATLAB/Octave 是矢量化函数,应该有预定义的函数来处理这类事情。
PS2。我现在没有 MATLAB 许可证,但答案必须与 MATLAB 和 Octave 兼容。
解决方案
听起来你想要这个cumtrapz( )
功能:
y1 = zeros(length(x), 1);
y1 = cumtrapz(x, y)
plot(x, y1, x, y);
推荐阅读
- itext - 从 PdfDictionary 获取字节数组
- javascript - jQuery遍历类获取属性值,然后根据属性值更改显示样式
- ruby-on-rails - Rails/ActiveRecord:我可以与具有不同 id 类型的表建立多态关系吗?
- python - 是否可以使turtle.Screen() 背景透明?
- postgresql - PSQL(postgres 或 redshift)存储变量以提示并将查询写入动态文件名
- kotlin - LibGDX Box2D 物理方向反转
- python - 如何在 Jupyter-Notebook 上显示“HTTP 错误 429”的完整响应?
- spring - 当独占消费者失败时要处理哪个 AmqpEvent 或 AmqpException
- php - Base64_encoder 行为中的安全性
- angular - 更新 Firestore 中所有文档中的地图字段