r语言可以写c程序吗,[求助]R一般用什么写程序?
我想到的就這些,不知說道要點了么.R大多自習的,多看文檔,論壇好多R的文檔的.
這是R一本教程中編寫的一個函數(shù),命名為 bisect.R并存放在C:\R\work,
可以通過菜單操作調(diào)用程序.但這里說命令操作:
setwd("c:\\R\\work") #工作目錄設(shè)定為C:\R\work
source("bisext.R") #將函數(shù)調(diào)用內(nèi)存,否則在控制臺直接輸入會提示錯誤
fzero("x^3-x-1",1,2) #可以使用該函數(shù)了
#R中一個二分法求非線性方程根的函數(shù)
fzero
if (f(a)*f(b)>0)
list(fail="finding root is fail!")
else{
repeat {
if (abs(b-a)
x
if (f(a)*f(x)<0) b
}
list(root=(a+b)/2, fun=f(x))
}
}
%%作為對比,這是Matlab的二分法. 3年前的東西了,還好沒刪.
%%它命名為nabisect.m,位于c:matlab\work 中,work文件夾在 set path選項卡search path的搜索路徑
%只要輸入nabisect(fname,a,b,e)就可以運行,Matlab會在搜索路徑搜索該函數(shù),并自動加入內(nèi)存.
%但 R需要用source(){或者通過菜單或者在控制臺直接輸入函數(shù)}來調(diào)入內(nèi)存.
function x=nabisect(fname,a,b,e)
%Using: 二分法解非線性方程
%Fomart:x=nabisect(fname,a,b,e) fname為函數(shù)句柄或
%內(nèi)嵌函數(shù) 表達式為f(x)? a,b為區(qū)間端點,e為精度(默認
%為1e-4) x為返回值,程序要求函數(shù)在兩端點值必須異號
%,中間變量fa fb fx的引用可以最大限度減少fname調(diào)用次數(shù)
% 例子:fun=inline('x^3-3*x-1');
%????? x=nabisect(fun,1,2,0.05)
if nargin<4,e=1e-4;end;
fa=feval(fname,a);fb=feval(fname,b);
if fa*fb>0,error('函數(shù)在兩端點值必須異號');end
x=(a+b)/2;m=0;
while (b-a)>(2*e),
fx=feval(fname,x);m=m+1;
if fa*fx<0,
b=x;fb=fx;
else a=x;fa=fx;
end
x=(a+b)/2;
end
P.S.
filename.R 和 file.m 文件格式都可以用記事本打開,這表明.R和.m的文件同.txt文件僅僅擴展名不同.
總結(jié)
以上是生活随笔為你收集整理的r语言可以写c程序吗,[求助]R一般用什么写程序?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 兰州大学C语言程序设计课程作业,兰州大学
- 下一篇: c语言中的字符变量用什么保留字来说明,第