r转matlab,将matlab脚本转换为R

我刚刚在工作,虽然转换了一些MATLAB脚本在R中工作,但是从未在我的生活中使用MATLAB,并且不完全是R上的专家。我遇到了一些麻烦。

编辑:这是我设计的一个脚本,用于纠正绝缘质量效应产生的滞后温度测量。我的理解是,它会查看温度的变化率,并尝试调整传感器响应时间产生的误差。不幸的是,我没有任何文献可以让我指出我期望从函数中得到的数字,唯一能找到的方法是在稍后的日期进行实验性测试。

原文:

function [Tc, dT] = CTD_TempTimelagCorrection(T0,Tau,t)

N1 = Tau/t;

Tc = T0;

N = 3;

for j=ceil(N/2):numel(T0)-ceil(N/2)

A = nan(N,1);

# Compute weights

for k=1:N

A(k) = (1/N) + N1 * ((12*k - (6*(N+1))) / (N*(N^2 - 1)));

end

A = A./sum(A);

# Verify unity

if sum(A) ~= 1

disp('Error: Sum of weights is not unity');

end

Comp = nan(N,1);

# Compute components

for k=1:N

Comp(k) = A(k)*T0(j - (ceil(N/2)) + k);

end

Tc(j) = sum(Comp);

dT = Tc - T0;

end我设法达到的地方:

CTD_TempTimelagCorrection

## Define which equation to use based on duration of lag and frequency

## With ESM2 profiler sampling @ 2hz: N1>tau/t = TRUE

N1 = Tau/t

Tc = temp

N = 3

for(i in ceiling(N/2):length(temp)-ceiling(N/2)){

A = matrix(nrow=N,ncol=1)

# Compute weights

for(k in 1:N){

A[k] = (1/N) + N1 * ((12*k - (6*(N+1))) / (N*(N^2 - 1)))

}

A = A/sum(A)

# Verify unity

if(sum(A) != 1){

print("Error: Sum of weights is not unity")

}

Comp = matrix(nrow=N,ncol=1)

# Compute components

for(k in 1:N){

Comp[k] = A[k]*temp[i - (ceiling(N/2)) + k]

}

Tc[i] = sum(Comp)

dT = Tc - temp

}

return(dT)

}我认为问题是Comp [k]行,有人能指出我做错了什么吗?我不确定我能否以这种方式选择数组的元素。

顺便提一下,Tau = 1,t = 0.5,temp(或T0)将是一个向量。

谢谢

编辑:显然,我的描述在解释我的代码示例时过于简短,我不确定我能写的更多内容是否相关,而不仅仅是浪费人们的时间。这是否足够先生过滤器?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。 Matlab(Matrix Laboratory)是一种专为数值计算和科学与工程应用而设计的高级编程语言和环境。在算法开发和实现方面,Matlab具有以下一些好处: 1. 丰富的数学和科学函数库:Matlab提供了广泛的数学、信号处理、图像处理、优化、统计等领域的函数库,这些函数库可以帮助开发者快速实现各种复杂的数值计算算法。这些函数库提供了许多常用的算法和工具,可以大大简化算法开发的过程。 2. 易于学习和使用:Matlab具有简单易用的语法和直观的编程环境,使得算法开发者可以更快速地实现和测试他们的算法。Matlab的语法与数学表达式和矩阵操作非常相似,这使得算法的表达更加简洁、清晰。 3. 快速原型开发:Matlab提供了一个交互式的开发环境,可以快速进行算法的原型开发和测试。开发者可以实时查看和修改变量、绘制图形、调试代码等,从而加快了算法的迭代和优化过程。这种快速原型开发的特性使得算法开发者可以更快地验证和修改他们的想法。 4. 可视化和绘图功能:Matlab具有强大的可视化和绘图功能,可以帮助开发者直观地展示和分析算法的结果。开发者可以使用Matlab绘制各种图形、曲线、图像,以及创建动画和交互式界面,从而更好地理解和传达算法的工作原理和效果。 5. 并行计算和加速:Matlab提供了并行计算和加速工具,如并行计算工具箱和GPU计算功能。这些工具可以帮助开发者利用多核处理器和图形处理器(GPU)来加速算法的计算过程,提高算法的性能和效率

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值