📄 ex3-13-2.m
字号:
% 当a=2和a=8时, 求y(x)=x^3-ax-5在0<x<5中的最小点
% 1) 建立函数文件
% 2) 用 fminbnd 指令求最小点
x2=fminbnd('f1',0,5,[],2)
x8=fminbnd('f1',0,5,[],8)
% 多维寻优
% f(x)=100(x2-x1^2)^2+(a-x1)^2 在x1=a,x2=a^2处有最小值
% 1。建立函数文件
% 2。利用fmins寻优
x=fmins('banana',[0,0],[0,1.e-8],[],sqrt(2))
% 求函数y(t)=0.2t-e^(-0.5t)*sin(t+pi/6) 在t=2附近的零点
%1. 建立函数文件f2.m
%2. 求零点
z=fzero('f2',2) %求函数的零点
y='0.2*t-exp(-0.5*t).*sin(t+pi/6)'
hold off
fplot(y,[0,5]) %函数作图
hold on
t=z
yzero=eval(y) %函数求值,默认自变量为t
plot(z,yzero,'*r')
% 求非线性方程的数值解
% sin(x)+y^2+log(z)=7
% 3x+2^y-z^3+1=0
% x+y+z=5
%1. 建立函数文件myxyz.m
%2. 解方程
xyz0=[1,1,1];
xyz=fsolve('myxyz',xyz0,optimset('fsolve'))
% 用 fminbnd 指令求最小点和最大点
% 定义函数
f='2*exp(-x).*sin(x)';
hold off
fplot(f,[0 8]);
title(f),xlabel('x')
xmin=fminsearch(f,2)
x=xmin
ymin=eval(f)
hold on
plot(x,ymin,'ro')
% 用 fmin 指令求最大点
fmax='-2*exp(-x).*sin(x)';
xmax=fminsearch(fmax,0)
x=xmax
ymax=eval(f)
plot(x,ymax,'r*')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -