小编yCa*_*ran的帖子

如果我使用sizeof和size_t,我是否应该总是包含stddef.h

如果我使用sizeof运算符并size_t在我的代码中使用,我是否必须包含stddef.h?我没有包含stddef.h,我的代码在没有警告的情况下编译MVS2008和Borland C++ BuilderX.

非常感谢...

c sizeof size-t

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

用Sweave写大文件.可以像LaTeX一样吗?

我只是在发现SweaveR.我已经看过一些Sweave文档的例子,也开始自己写一两个.R直接在LaTeX文档中进行计算和输出结果的能力给我留下了深刻的印象.

现在我正在考虑更大的文档(我们通常拥有LaTeX),它包含几个页面和几个部分.使用LaTeX(我使用WinEdt),我设置一个主文档(例如main.tex),然后有其他附属文档,如introduction.tex,discussion.tex等.

我的问题是:我们也可以这样做Sweave吗?现在我Sweave单独使用单个文档(.Rnw).我们可以Sweave像往常一样拥有多个文件(有一个主文件和次要文件)LaTeX吗?

一种解决方法是使用单独的Sweave文件,然后将它们扫描以生成R LaTeX可以复制到LaTeX文档的块,但是整个想法似乎非常低效且耗时.

请知道您有哪些建议和解决方案.

非常感谢...

latex r sweave

24
推荐指数
1
解决办法
2825
查看次数

fopen/fopen_s并写入文件

我在C中使用fopen将输出写入文本文件.函数声明是(ARRAY_SIZE之前定义的):

void create_out_file(char file_name[],long double *z1){  
  FILE *out;  
  int i;  

  if((out = fopen(file_name, "w+")) == NULL){  
    fprintf(stderr, "***> Open error on output file %s", file_name);  
    exit(-1);  
  }  

  for(i = 0; i < ARRAY_SIZE; i++)  
    fprintf(out, "%.16Le\n", z1[i]);  
  fclose(out);  
}  
Run Code Online (Sandbox Code Playgroud)

我的问题:

  1. 在使用MVS2008进行编译时,我收到警告:警告C4996:'fopen':此函数或变量可能不安全.考虑使用fopen_s代替.我没有看到太多信息,fopen_s以便我可以更改我的代码.有什么建议?

  2. 可以指示fprintf以所需的数字精度数字写入文件吗?如果我正在使用long double那么我认为我的答案是好的,直到小数点后15位.我对吗?

c precision file-io fopen

22
推荐指数
4
解决办法
9万
查看次数

C中的Static,define和const

我已经读过,当每次调用函数时不希望变量值改变/初始化时,静态变量在函数内部使用.但是如何在"main"之前在主程序中定义变量static,例如

#include <stdio.h>

static double m = 30000;

int main(void)
{
value = m * 2 + 3;
}
Run Code Online (Sandbox Code Playgroud)

这里变量m具有一个常量值,以后不会在主程序中修改.在同样的思路中,它有什么不同,而不是使用静态定义:

const double m = 30000;
Run Code Online (Sandbox Code Playgroud)

要么

#define m 30000  //m or M  
Run Code Online (Sandbox Code Playgroud)

然后确保在主代码中使用双重操作,以便将m转换为正确的数据类型.

c static const c-preprocessor

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

R:xtable和日期

我有以下数据:

transaction <- c(1,2,3);
date <- c("2010-01-31","2010-02-28","2010-03-31");
type <- c("debit", "debit", "credit");
amount <- c(-500, -1000.97, 12500.81);
oldbalance <- c(5000, 4500, 17000.81)
evolution <- data.frame(transaction, date, type, amount, oldbalance, row.names=transaction, stringsAsFactors=FALSE);
evolution <- transform(evolution, newbalance = oldbalance + amount);
evolution
Run Code Online (Sandbox Code Playgroud)

运行

> library(xtable)
> xtable(evolution)
Run Code Online (Sandbox Code Playgroud)

工作良好.但是,如果我添加该行

evolution$date <- as.Date(evolution$date, "%Y-%m-%d");
Run Code Online (Sandbox Code Playgroud)

transaction <- c(1,2,3);
date <- c("2010-01-31","2010-02-28","2010-03-31");
type <- c("debit", "debit", "credit");
amount <- c(-500, -1000.97, 12500.81);
oldbalance <- c(5000, 4500, 17000.81)
evolution <- data.frame(transaction, date, type, amount, oldbalance, row.names=transaction, …
Run Code Online (Sandbox Code Playgroud)

r date

19
推荐指数
3
解决办法
5264
查看次数

R /用科学计数法用\ Sexpr {}格式化数字

我刚刚开始写一些文档,Sweave/R我喜欢这个\sexpr{}命令让一个人直接在文本中写数字.

如果我有一个像这样的数字mus=0.0002433121,那么我可以把它四舍五入到一些小数位,例如

\Sexpr{round(mus,7)}
Run Code Online (Sandbox Code Playgroud)

如何用科学记数法写出来,即LaTeX输出

2.43 \times 10^{-4} 
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我们可以控制输出的有效位数,如3吗?

我注意到,如果我指定,会sigma = 2000000自动写入一个数字2e + 06

\Sexpr{round(sigma,2)}. 
Run Code Online (Sandbox Code Playgroud)

我希望它会写成

2 \times 10^6 
Run Code Online (Sandbox Code Playgroud)

与我们在LaTeX符号中得到的相同,也许我们也可以控制有效数字的数量.

怎么做到这一点?

latex r sweave

15
推荐指数
1
解决办法
3441
查看次数

calloc v/s malloc和时间效率

我饶有兴趣地阅读了malloc和calloc之间的后C差异.我在我的代码中使用了malloc,想知道我使用calloc会有什么不同.

我目前的(伪)代码与malloc:

场景1

int main()
{  
   allocate large arrays with malloc

   INITIALIZE ALL ARRAY ELEMENTS TO ZERO

   for loop //say 1000 times
    do something and write results to arrays
   end for loop

   FREE ARRAYS with free command

} //end main
Run Code Online (Sandbox Code Playgroud)

如果我使用calloc而不是malloc,那么我将:

Scenario2

int main()
{  

   for loop //say 1000 times
    ALLOCATION OF ARRAYS WITH CALLOC 

    do something and write results to arrays

    FREE ARRAYS with free command

   end for loop


} //end main
Run Code Online (Sandbox Code Playgroud)

我有三个问题:

  1. 如果阵列非常大,哪个场景更有效?

  2. 如果阵列非常大,哪个场景会更有时间效率? …

c malloc optimization calloc

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

R:使用因子

我有一些数据:

transaction <- c(1,2,3);
date <- c("2010-01-31","2010-02-28","2010-03-31");
type <- c("debit", "debit", "credit");
amount <- c(-500, -1000.97, 12500.81);
oldbalance <- c(5000, 4500, 17000.81)
evolution <- data.frame(transaction, date, type, amount, oldbalance, row.names=transaction,  stringsAsFactors=FALSE);
evolution$date <- as.Date(evolution$date, "%Y-%m-%d");
evolution <- transform(evolution, newbalance = oldbalance + amount);
evolution
Run Code Online (Sandbox Code Playgroud)

如果我输入命令:

type <- factor(type) 
Run Code Online (Sandbox Code Playgroud)

type名义(分类)变量在哪里,那么它对我的数据有什么不同?

谢谢

types r

13
推荐指数
3
解决办法
2万
查看次数

Visual Studio 2010在计划结束后退出

我正在通过编译C程序来尝试Visual Studio 2010.在"DOS"命令窗口中显示解决方案后,窗口立即关闭.在Visual Studio 2008中,可以按任意键获取消息以继续,按一个键可关闭命令提示符窗口.如何在2010年设置此行为?

c visual-studio-2010 visual-studio

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

重命名和重置LaTeX中的章节

我在LaTeX中有两个问题:

  1. 如何将章节计数器重置为1或将其设置为任何其他数字?
  2. 如何将第1章重命名为纸张A?要将其重命名为Paper 1,我有这个解决方案:

    \renewcommand\chaptername{Paper}
    
    Run Code Online (Sandbox Code Playgroud)

第一章然后成为论文1.但我不能将1重命名为A以便得到论文A.

latex

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