小编cMi*_*nor的帖子

如何根据条件替换某些列值?

我有一个A这样的矩阵

A=
     4.0000  120.0000   92.0000         0         0   37.6000    0.1910   30.0000
    10.0000  168.0000   74.0000         0         0   38.0000    0.5370   34.0000
    10.0000  139.0000   80.0000         0         0   27.1000    1.4410   57.0000
     1.0000  139.0000   60.0000   23.0000  846.0000   30.1000    0.3980   59.0000
     5.0000  136.0000   72.0000   19.0000  175.0000   25.8000    0.5870   51.0000
     7.0000  121.0000         0         0         0   30.0000    0.4840   32.0000
Run Code Online (Sandbox Code Playgroud)

我想做两件事:

  1. 将第一列的值大于5替换为0.
  2. 在第二列中,如果值在121-130范围内,则将其替换为0.如果它们在131-140范围内,则替换为1,141-150乘2,151-160乘3等.

所以期望的结果矩阵将是:

A=
    4.0000   0.0000   92.0000         0         0   37.6000    0.1910   30.0000
    0.0000   4.0000   74.0000         0         0   38.0000    0.5370   34.0000
    0.0000   1.0000   80.0000         0         0   27.1000    1.4410 …
Run Code Online (Sandbox Code Playgroud)

matlab matrix

7
推荐指数
1
解决办法
1万
查看次数

在SQL Server中使用什么更好:sqrt或pow?

什么在SQL Server中使用效率更高:pow(x,1/2)sqrt(x)?哪一个成本更低,哪一个更快?

sql-server sql-server-2008

7
推荐指数
1
解决办法
1万
查看次数

C5算法实现?

你知道在哪里可以找到这个算法的一些信息,去研究它吗?是否已经有一个实现的例子,或者只有Quinlan知道它的实现?

pattern-recognition classification

7
推荐指数
1
解决办法
2072
查看次数

7
推荐指数
1
解决办法
2万
查看次数

CLR在SQL Server内部组装C#

  • 是否有可能在C#中创建一个大项目(很多函数),然后,
  • 然后,为它创建CLR程序集
  • 在SQL Server IN STORED PROC中,调用程序集中的函数,
  • 该表(我将传递给ASSEMBLY)在其他存储过程中计算...

    • 如果是这样,步骤是什么?

我在想这样的事情.

-- I have a stored proc that gets a table, let it be myStoredProcTable

--FIST ENABLE DATA ACCESS
EXEC sp_serveroption 'TheServerName', 'DATA ACCESS', TRUE

--main.sql calls yStoredProcTable.sql and the calls functionAssembly
SELECT  *
INTO    #tmpTable
FROM    OPENQUERY(SERVERNAME, 'EXEC test.dbo.myStoredProcTable 1')


-- pass the table to assembly
-- how would i pass the table to assembly code?, Is this POSSIBLE?
    EXEC functionAssembly #tmpTable
Run Code Online (Sandbox Code Playgroud)

- - - - - - - - …

c# xml sql com .net-assembly

7
推荐指数
1
解决办法
1万
查看次数

只为IntPtr创建一种任何类型的数组方法

有一个转换double[] dIntPtrlike 的方法:

public static IntPtr DoubleArrayToIntPtr(double[] d)
{
   IntPtr p = Marshal.AllocCoTaskMem(sizeof(double) * d.Length);
   Marshal.Copy(d, 0, p, d.Length);
   return p;
}
Run Code Online (Sandbox Code Playgroud)

什么是做的最好的方式int[],float[]我想在做每类一个方法,如添加INT []等:

public static IntPtr IntArrayToIntPtr(int[] d)
{
   IntPtr p = Marshal.AllocCoTaskMem(sizeof(int) * d.Length);
   Marshal.Copy(d, 0, p, d.Length);
   return p;
}
Run Code Online (Sandbox Code Playgroud)

1.可以将这个方法被推广,如果是的话怎么样?

2.是否有可能只在一行代码中获取指针(As Marshal是无效方法)?

c#

7
推荐指数
1
解决办法
634
查看次数

在SQL Server存储过程中按索引而不是名称访问表的列

有没有办法在SQL Server的存储过程中通过索引访问列?

目的是计算大量列.我正在阅读关于游标的内容,但我不知道如何应用它们.

让我解释一下我的问题:

我有一排像:

field_1 field_2 field_3 field_4 ...field_d  Sfield_1 Sfield_2 Sfield_3...Sfield_n
1       2       3       4          d        10       20       30         n
Run Code Online (Sandbox Code Playgroud)

我需要计算类似的东西 (field_1*field1) - (Sfield_1* Sfiled_1) / more...

因此结果存储在表列中d次.

所以结果就是一张d column * d row桌子.

由于列数是可变的,我正在考虑制作动态SQL,在字符串中获取列的名称并拆分我需要的列,但这种方法使问题更难.我认为通过索引获取列号可以使生活更轻松.

sql t-sql sql-server ordinal sql-server-2008

6
推荐指数
2
解决办法
4万
查看次数

动态插入变量表语句SQL Server

我有一个变量表:

DECLARE @A_Table TABLE(ID INT, att1 VARCHAR(100), att2 nvarchar(200))
Run Code Online (Sandbox Code Playgroud)

我想制作动态sql,所以我在这个表中插入了一些数据(都在循环内):

WHILE (@i <= 100) BEGIN         
  SELECT @other_att  = NAME  FROM @other_Table where ID =  @i;
  SET @sql = 'INSERT ' + @A_Table+ '(ID,att1,att2) SELECT '+CAST(@i AS VARCHAR)+' , '''+ @other_att+''', SUM('+ @other_att') FROM '+ @EVEN_OTHER_Table;
EXEC (@sql);

END 
Run Code Online (Sandbox Code Playgroud)

sql每次看起来像:

INSERT INTO @A_Table SELECT 1 , 'subject', SUM(subject)
INSERT INTO @A_Table SELECT 2 , 'age', SUM(age)
INSERT INTO @A_Table SELECT 3 , 'sex', SUM(sex).... 
Run Code Online (Sandbox Code Playgroud)

并执行此操作后:我会得到:

@A_Table:
id    att1   att2
1   subject …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008

6
推荐指数
2
解决办法
7万
查看次数

EXEC掌握了什么..做什么?

我见过这样的:

EXEC master.dbo.xp_cmdshell
Run Code Online (Sandbox Code Playgroud)

什么master指的是?

更新
为什么有时会有两点:

 master..
Run Code Online (Sandbox Code Playgroud)

一般我们会使用master.dbo. 我是正确的,所以为什么有些人写master..

sql t-sql sql-server

6
推荐指数
1
解决办法
9610
查看次数

两个矩阵之间的相对误差

给定R中的两个浮点矩阵,我希望得到每个条目之间的相对误差,然后在所有错误中搜索所有错误的最大值并将其与10%进行比较,即 MAX_ERROR <= 10%

我知道raltive错误是(对于每个条目):

|v_ij(MATRIX1) - v_ij(MATRIX2)| / | v_ij(MATRIX1)|
Run Code Online (Sandbox Code Playgroud)

如何做到这一点R,避免for循环?

r matrix

6
推荐指数
2
解决办法
4363
查看次数