Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >代码从Matlab到C#的转换

代码从Matlab到C#的转换
EN

Stack Overflow用户
提问于 2017-09-15 13:47:15
回答 1查看 82关注 0票数 1

我正在尝试将这个函数从matlab转换为C#

这些C#语句的等效matlab是什么?下面的C#部分显示了我不知道如何移植到C#matlab代码部分

代码语言:javascript
运行
AI代码解释
复制
   res(res == 0) = p * scale * unit(res == 0);
   W = min(unit, scale * p * (abs(res)).^ (-1));

整个matlab部分,以及我移植它的尝试

代码语言:javascript
运行
AI代码解释
复制
function W = huber(res, scale, param)
% function W = huber(res, scale, param)
%
% computes Huber's weight function for robust regression:
% min( 1, param/(|res|/scale) )
% 
% arguments:
%       res:    vector of residuals
%       scale:  robust estimate of scale, such as MAD
%       param:  parameter of the Huber function; the
%           default value is 2.5.
%
% returns:
%       W:  the vector of Huber weights
%
%
% P.B. Stark  stark@stat.berkeley.edu
% 9 July 1997.

p = 2.5;        % default parameter
if (nargin == 3),
    if (param > 0),
        p = param;
    else
        error('parameter must be positive')
    end
end

unit = ones(size(res));
res(res == 0 ) = p*scale*unit(res==0);
W = min(unit, scale*p*(abs(res)).^(-1));
return;

C#码。

代码语言:javascript
运行
AI代码解释
复制
public static double Hueber(double[] residuals, double scale, double param)
{
        //Calculation of the mean estimate for a given range using Huber's weights
        //The Huber's function is defined as min( 1, param/(|residuals|/scale))
        //param: a given parameter - affects the range where weights = 1
        //residuals: deviation from the mean estimate (I used the median as the first approximation)
        //scale: estimate of variation. Some use 1.483*(median absolute deviation, or MAD,
        // of the deviations of the data from their median). I used std, i.e. dblAveVar
        //See http://www.stat.berkeley.edu/~stark/Preprints/Oersted/writeup.htm

        double p = 2.5;        //default parameter
        if (param > 0)
            p = param;
        else
            throw new Exception("parameter must be positive");

        double[] unit = Ones(residuals.Length);

        // What is the C# of this?
        //res(res == 0) = p * scale * unit(res == 0);
        //W = min(unit, scale * p * (abs(res)).^ (-1));

        return W;
    }

    public static double[] Ones(int length)
    {
        double[] ones = new double[length];

        ones.Populate(1.0);

        return ones;
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-15 14:20:55

代码语言:javascript
运行
AI代码解释
复制
//res(res == 0) = p * scale * unit(res == 0);
//W = min(unit, scale * p * (abs(res)).^ (-1));

代码如下:

代码语言:javascript
运行
AI代码解释
复制
public static double Hueber(double[] residuals, double scale, double param)
{
  double p = 2.5;        //default parameter
  if (param > 0)
     p = param;
  else
     throw new Exception("parameter must be positive");

  for ( int i = 0; i < residuals.Length ; i++) {
     if ( residuals[i] == 0) {
         residuals[i] = p * scale * 1;  // res(res == 0 ) = p*scale*unit(res==0)
     }
     // Then we can do smae step in this loop W = min(unit, scale*p*(abs(res)).^(-1))
     residuals[i] = Math.Min(1, scale*p*Math.Abs(1/residuals[i]));
  }

  return residuals; // w = residuals[]
  }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46247871

复制
相关文章
[Cocos Creator] 围绕物体旋转
在游戏开发过程中,可能会有让一个物体围绕另一个物体旋转的需求,就比如月球围绕着地球旋转,同时地球也在围绕着太阳旋转。
陈皮皮
2020/07/10
3.8K0
[Cocos Creator] 围绕物体旋转
HTML元素
注意:一些 HTML 元素没有内容(如 <br> 元素)。这些元素称为空元素。空元素没有结束标签!
玖柒的小窝
2021/09/24
1.4K0
HTML 元素
注释: 您将在本教程的下一章中学习更多有关属性的内容。 嵌套的 HTML 元素 大多数 HTML 元素可以嵌套(HTML 元素可以包含其他 HTML 元素)。 HTML 文档由相互嵌套的 HTML 元素构成。 HTML 文档实例
用户6884826
2021/07/07
1.3K0
HTML 元素
HTML 元素 开始标签 * 元素内容 结束标签 * <p> 这是一个段落 </p> <a href="default.htm"> 这是一个链接 </a> <br> 换行 HTML 元素语法 HTML 元素以开始标签起始 HTML 元素以结束标签终止 元素的内容是开始标签与结束标签之间的内容 某些 HTML 元素具有空内容(empty content) 空元素在开始标签中进行关闭(以开始标签的结束而结束) 大多数 HTML 元素可拥有属性
用户8442333
2021/08/21
1.5K0
HTML 元素
Web浏览器(如谷歌浏览器,Internet Explorer,Firefox,Safari)是用于读取HTML文件,并将其作为网页显示。
用户8442333
2021/08/21
1.3K0
Flash:DisplayObject的矩阵旋转(移动/修改注册点,修改旋转点)
简单来说,原理就是利用matrix运算,先把旋转点移到原点位置,旋转变换后再恢复到原来的位置 var a:Sprite = new Sprite(); a.graphics.beginFill(0); a.graphics.drawRect(0,0,100,100); a.graphics.drawCircle(0,0,6); a.graphics.endFill(); addChild(a); a.x = a.y = 100; trace (a.transform.matrix); var m:Matr
用户1258909
2018/07/04
9500
多个扇形元素绕圆旋转
这种效果有很多方案,最后选择了一个比较简单的方案,就是一个position: relative;的 div 。包裹5个position: absolute;的div。 通过旋转,调整5个div的 top 与 left,而产生弧度,并使中心点都指向圆心。 黄色扇形与文字 都是在5个div内部。
拿我格子衫来
2023/10/19
3060
多个扇形元素绕圆旋转
html元素(标签)
html元素(标签) <!DOCTYPE html> <html> <head> <!-- 头标签用于存放<meta><title>等标签 --> <meta charset="utf-8"> <!-- 设置编码 --> <title>html5</title> <!-- 设置标题 --> <link rel="stylesheet" type="text/css" href="mystyle.css"><!-- 定义了外部文件 --> <style type="t
IT架构圈
2018/05/31
2K0
认识html元素
前端现在越来越火,可以用去年热门的词语来形容——“风口上的猪”。希望这个系列的文集能够给“毫无任何基础,但是想转到前端的人”一点帮助。 认识一个html文档的基本结构: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Here is title</title></head><body> Here is content.</body></html> HTML 文档是由 HTML 元素 定义的,而HT
用户1667431
2018/04/18
2.3K0
认识html元素
认识html元素
前端现在越来越火,可以用去年热门的词语来形容——“风口上的猪”。希望这个系列的文集能够给“毫无任何基础,但是想转到前端的人”一点帮助。 认识一个html文档的基本结构: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Here is title</title></head><body> Here is content.</body></html> HTML 文档是由 HTML 元素 定义的,而HT
用户1667431
2018/04/18
2.4K0
认识html元素
HTML DOM - 元素
如需向 HTML DOM 添加新元素,您首先必须创建该元素,然后把它追加到已有的元素上。
陈不成i
2021/07/21
2.3K0
HTML的行元素和块元素
本博客所有文章如无特别注明均为原创。作者:十月梦想 ,复制或转载请以超链接形式注明转自 十月梦想博客 。 原文地址《HTML的行元素和块元素》
十月梦想
2018/08/29
3.4K0
HTML块级元素和行内元素
块级元素(block-level) 每个块元素通常都会独自占据一整行或多整行,可以对其设置宽度、高度、对齐等属性,常用于网页布局和网页结构的搭建。 常见的块元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等, 其中<div>标签是最典型的块元素。 块级元素的特点: (1)总是从新行开始 (2)高度,行高、外边距以及内边距都可以控制。 (3)宽度默认是容器的100% (4)可以容纳内联元素和其他块元素。 行内元素(inline-level) 行内元素(内联元素)不占有独立的区域,仅
秋白
2018/05/24
3.5K0
嵌套的 HTML 元素
<!DOCTYPE html> <html> <body> <p>这是第一个段落。</p> </body> </html>
用户8442333
2021/08/21
2.1K0
html 元素左移右移
Title div{ width: 200px; float: left; text-align: center; } select{ width: 100px; height: 140px; } $(function (){ $("#left button:eq(0)").click(function (){ // alert($
await
2021/09/23
3K0
html 元素左移右移
Title div{ width: 200px; float: left; text-align: center; } select{ width: 100px; height: 140px; } $(function (){ $("#left button:eq(0)").click(function (){ // alert($
await
2021/09/23
2.6K0
cefsharp修改html元素,CefSharp网页元素点击
代码完美地点击了开发人员控制台上的确切按钮,但没有点击CEF。只是出于某种原因忽略了它。。。
全栈程序员站长
2022/10/05
4.3K0
cefsharp修改html元素,CefSharp网页元素点击
HTML锚点
        以前只是知道有锚点这么个东西,一直没有用到,昨天做毕设用到了锚点,现在总结一下控制锚点的几种情况:         1. 在同一页面中 <a name="add"></a><!-- 定
高爽
2017/12/28
3.8K0
【HTML】HTML5 <div>元素布局的使用
标签可以把文档分割为独立的、不同的部分。它可以用作严格的组织工具,并且不使用任何格式与其关联。
梦溪
2021/08/09
4.2K0
JavaScript HTML DOM 元素 (节点)
要创建新的 HTML 元素 (节点)需要先创建一个元素,然后在已存在的元素中添加它。
陈不成i
2021/07/20
2.3K0

相似问题

旋转点围绕枢轴点?

12

围绕原点旋转点

20

方法围绕一个点旋转,html画布

10

围绕任意点旋转SKShapeNode

11

围绕轴心点旋转图像

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档