【发布时间】:2014-04-30 06:26:27
【问题描述】:
我只是想在 MATLAB 中找到一个简单函数的确切最小值。我一直在尝试使用“fminbnd”等内置函数和内联函数定义,但我认为我不太清楚自己在做什么。
我的代码如下。我想找到 Error 的最小值的 x 和 y。
clear all
A = 5;
tau = linspace(1,4,500); %Array of many tau values between 1 and 4
E1 = qfunc(((-tau) + 5) /(sqrt(2.5)));
E0 = qfunc((tau)/(sqrt(2.5)));
Error = 0.5*E0 + 0.5*E1;
figure
subplot (311), plot(tau, E0);
xlabel('Threshold (Tau)'), ylabel('E0')
title('Error vs. Threshold (E0, 1 <= T <= 4)')
subplot (312), plot(tau, E1);
xlabel('Threshold (Tau)'), ylabel('E1')
title('Error vs. Threshold (E1, 1 <= T <= 4)')
subplot (313), plot(tau, Error);
xlabel('Threshold (Tau)'), ylabel('Pr[Error]');
title('Error vs. Threshold (Pr[Error], 1 <= T <= 4)')
我的意思是,我可以在绘制函数以接近时使用光标(虽然不在它发生的点(阈值 = 2.5),但必须有一种方法可以将数字打印到窗口。到目前为止,我已经尝试过:
fminbnd('Error', 'E0', 'E1')
还有许多其他变体。还尝试使用匿名和内联函数定义,但没有成功。
谁能指出我正确的方向?被这个简单的问题困住感到很愚蠢......非常感谢任何帮助!
【问题讨论】: