r语言可以写c程序吗,[求助]R一般用什么写程序?
我想到的就這些,不知說(shuō)道要點(diǎn)了么.R大多自習(xí)的,多看文檔,論壇好多R的文檔的.
這是R一本教程中編寫(xiě)的一個(gè)函數(shù),命名為 bisect.R并存放在C:\R\work,
可以通過(guò)菜單操作調(diào)用程序.但這里說(shuō)命令操作:
setwd("c:\\R\\work") #工作目錄設(shè)定為C:\R\work
source("bisext.R") #將函數(shù)調(diào)用內(nèi)存,否則在控制臺(tái)直接輸入會(huì)提示錯(cuò)誤
fzero("x^3-x-1",1,2) #可以使用該函數(shù)了
#R中一個(gè)二分法求非線(xiàn)性方程根的函數(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))
}
}
%%作為對(duì)比,這是Matlab的二分法. 3年前的東西了,還好沒(méi)刪.
%%它命名為nabisect.m,位于c:matlab\work 中,work文件夾在 set path選項(xiàng)卡search path的搜索路徑
%只要輸入nabisect(fname,a,b,e)就可以運(yùn)行,Matlab會(huì)在搜索路徑搜索該函數(shù),并自動(dòng)加入內(nèi)存.
%但 R需要用source(){或者通過(guò)菜單或者在控制臺(tái)直接輸入函數(shù)}來(lái)調(diào)入內(nèi)存.
function x=nabisect(fname,a,b,e)
%Using: 二分法解非線(xiàn)性方程
%Fomart:x=nabisect(fname,a,b,e) fname為函數(shù)句柄或
%內(nèi)嵌函數(shù) 表達(dá)式為f(x)? a,b為區(qū)間端點(diǎn),e為精度(默認(rèn)
%為1e-4) x為返回值,程序要求函數(shù)在兩端點(diǎn)值必須異號(hào)
%,中間變量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ù)在兩端點(diǎn)值必須異號(hào)');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 文件格式都可以用記事本打開(kāi),這表明.R和.m的文件同.txt文件僅僅擴(kuò)展名不同.
總結(jié)
以上是生活随笔為你收集整理的r语言可以写c程序吗,[求助]R一般用什么写程序?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 兰州大学C语言程序设计课程作业,兰州大学
- 下一篇: c语言中的字符变量用什么保留字来说明,第