Matlab求解方程参数问题
求解不同x时候a的值,为什么一直报错呢clearallsymspia;x=[012];forn=0:2i=1a=solve('0.4*log(x(i)+a*x(i)+1)...
求解不同x时候a的值,为什么一直报错呢
clear all
syms pi a;
x=[0 1 2];
for n=0:2
i=1
a=solve('0.4*log(x(i)+a*x(i)+1)+0.45*log((x(i)+a*x(i))/2+1)-0.85*log(x(i)+1)','a')
eval(a)
end 展开
clear all
syms pi a;
x=[0 1 2];
for n=0:2
i=1
a=solve('0.4*log(x(i)+a*x(i)+1)+0.45*log((x(i)+a*x(i))/2+1)-0.85*log(x(i)+1)','a')
eval(a)
end 展开
展开全部
你 的程序存在如下问题:
问题1:主要问题出在solve()上,运用错误。对于你的问题,只能用fsolve()得到数值解,而用solve()求则会出现错误。
问题2:syms pi a; 中的pi是多余的
问题3:n=0:2应为i=1:3
问题4:在for循环语句中的i=1; eval(a)也是多余的
针对上述问题更改后,起的程序为
syms a;
x=[0 1 2];
for i=1:3
fun=@(a)(0.4*log(x(i)+a*x(i)+1)+0.45*log((x(i)+a*x(i))/2+1)-0.85*log(x(i)+1));
a(i)=fsolve(fun,0.5);
end
double(a)
运行结果
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询