matlab solve函数解方程 带参数

以Gaussian p.d.f.求方差的一元一次方程为例,已知均值(MU) / 样本点(x,y),求方差(sigma2)。

实参赋值

MU= 4.5e-8; % 均值
x_thres= 5.1e-4; % 找一个好的门限->对于solve(sigma2)->很重要。
y_thres= mvnpdf(x_thres, noise_mu, noise_sigma);

 

建立方程

syms x y sigma2 MU
eqn= ( 1/sqrt(2*pi*sigma2)* exp( -(x-MU)^2/(2*sigma2) )==y ); % 建立方程:Gaussian p.d.f.
sol_sigma2 = solve(eqn, sigma2); % 得到2个解:solx(1), solx(2)

 

将 MU/ (x,y) 的实参带入方程,得到sigma2的数值解

Sigma_1= subs( sol_sigma2(1), {MU, x, y}, {mu_val, x_thres, y_thres}); % 带入实参
sigma_1= eval(Sigma_1); % 得到方差的数值解

  

感谢 https://www.cnblogs.com/sunny99/ sumoier对本文的帮助!

 

 

 

 

  

posted @ 2022-11-08 14:54  20岁博客少女  阅读(480)  评论(0编辑  收藏  举报