Wolfram mathematica FindRoot-将符号结果转换为数字

Wolfram mathematica FindRoot-将符号结果转换为数字,wolfram-mathematica,Wolfram Mathematica,我使用的是FindRoot语句。我的问题是结果如何 它们只是象征性的形式。如何让mathematica将结果存储为向量 或列表,以便以后使用 g[r_]:=(A^r - 1)/(A^r - B^r); func[r_]:= Piecewise[{{g[r],r<-.01 },{ g[r],r>.01} }]; roots = Table[0,{10}]; q= Table[pp,{pp,.01,0.1,0.01}]; Do[ roots[[i]]=FindRoot[func[r]==

我使用的是FindRoot语句。我的问题是结果如何 它们只是象征性的形式。如何让mathematica将结果存储为向量 或列表,以便以后使用

g[r_]:=(A^r - 1)/(A^r - B^r);
func[r_]:= Piecewise[{{g[r],r<-.01 },{ g[r],r>.01} }];
roots = Table[0,{10}];
q= Table[pp,{pp,.01,0.1,0.01}];
Do[ roots[[i]]=FindRoot[func[r]== q[[i]],{r,0.9}];,{i,1,10}];    ********
Print[r/.roots];           *********** this prints out ok as a list


Pa2=Table[0,{10}];
myPa2=Table[0,{10}];
i/:IntegerQ[i]=True;    
r2=r;
h[r2_]:=(A^r2 - 1)/(A^r2 - B^r2);
funcOC[r2_]:= Piecewise[{{h[r2],r2<-.01 },{ h[r2],r2>.01} }];  
Do[ Pa2[[i]]=funcOC[r2[[i]]], {i,1,10} ];
Print[myPa2/.Pa2];      ****************symbolic notation is output
g[r\u]:=(A^r-1)/(A^r-B^r);
func[r_]:=分段[{{g[r],r.01}];
根=表[0,{10}];
q=表[pp,{pp,.01,0.1,0.01}];
Do[roots[[i]]=FindRoot[func[r]==q[[i]],{r,0.9}];,{i,1,10}]********
打印[r/.roots];*********这将以列表的形式输出ok
Pa2=表[0,{10}];
myPa2=表[0,{10}];
i/:整数q[i]=真;
r2=r;
h[r2]:=(A^r2-1)/(A^r2-B^r2);
funcOC[r2_]:=分段[{h[r2],r2.01}];
Do[Pa2[[i]]=funcOC[r2[[i]]],{i,1,10}];
打印[myPa2/.Pa2]****************输出符号表示法

为了扩展Michael的问题,目前的代码不会产生数值,因为A和B的值尚未设置

如果为A和B选择了值,FindRoot将不再返回符号答案

g[r_] := (A^r - 1)/(A^r - B^r);
A = .4; B = .5;
func[r_] := Piecewise[{{g[r], r < -.01}, {g[r], r > .01}}];
roots = Table[0, {10}];
q = Table[pp, {pp, .01, 0.1, 0.01}];
Do[roots[[i]] = FindRoot[func[r] == q[[i]], {r, 0.9}];, {i, 1, 10}];
Print[r /. roots];

{-201.021,-198.983,-196.97,-194.98,-186.987,-178.398,-170.282,-162.61,-155.352,-148.484}
我想你的意思是:

Do[ Pa2[[i]]=funcOC[i], {i,1,10} ];
您是否打算使用在第一块代码中找到的根?如果是这样,您需要更换

r2=r;


请为
a
B
r
提供一组(小)示例值,好吗?您的一些代码似乎没有什么用处。i/:整数q[i]=真;r2=r;和r2[[i]]。你是Mathematica的新手吗?你有Matlab或FORTRAN的背景吗?我已经使用Mathematica至少10年了。Mathematica的编程对我来说并不顺利,我决心学习如何做。我喜欢使用模块
r2=r;
r2=r /. roots;