matlab解一个方程

来源:百度知道 编辑:UC知道 时间:2024/04/29 07:08:46
∑exp(-1/2*(x-d(i)^2)/h^2)=sqrt(2*pi)*h
h是未知数
试了solve 总有error
solve('sum(exp(-0.5.*(x.^2-2.*x.*d+d.^2)./h.^2))-sqrt(2.*pi).*k.*h','h');
为什么不对呢?

matlab貌似还没那么智能?二分法解吧。

你那里面又是sum, 又是x, d,然后说h是未知。。。MATLAB没那么聪明。你自己编一个myfun.m吧

function y = myfun(h);

temp = 0;
for i = 1:length(d),
temp = temp + exp(-0.5*(x-d(i)^2)/(h^2));
end

y = sqrt(2*pi)*h - temp;

然后用fsolve来解解看~~

我不敢肯定啊,symbolic math toolbox 不是所有方程都能解的, 可能是这个方程太复杂了。 你要是真的想解出数值的话,用 fsolve . 先把你的方程定义成user defined function, 然后看matlab help