You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Matlab含逐元素乘法与幂运算的代码转换为R代码?

Matlab转R:逐元素乘法与幂运算实现

需求说明

需要将以下Matlab代码转换为R代码:

z=(exp(j)).^(pw.*om)

其中Matlab的.*是逐元素乘法,.^是逐元素幂运算,需对应实现R中的等价逻辑。

数据定义(Matlab转R)

先把原Matlab的数据定义转换成R代码:

rt <- 10000
f <- 200
om <- 2 * pi * f / rt
t <- seq(0, 1, length.out = rt)
pw <- 1:length(t)

错误尝试分析

你的几次尝试都误用了c()函数(该函数用于拼接向量),完全偏离了原代码的运算逻辑——原代码是将exp(j)作为底数,对pw.*om的逐元素结果做幂运算,而非拼接两个向量。

正确R代码实现

# 虚数单位用1i更简洁,等价于sqrt(as.complex(-1))
z <- exp(1i) ^ (pw * om)

关键运算对应说明

  • Matlab的逐元素乘法.*:R中直接用*即可,R里*默认就是逐元素运算(矩阵乘法用%*%)。
  • Matlab的逐元素幂运算.^:R中用^或**,两者均为逐元素幂运算,效果一致。
  • Matlab的j(虚数单位):R中直接用1i表示,更简洁高效。

内容的提问来源于stack exchange,提问作者user22178063

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 19:24:58