纹理分割(四)Snakes相关知识备份
来源:互联网 发布:linux mysqldump 导入 编辑:程序博客网 时间:2024/05/17 02:05
这里主要是备份一些算法,和基础知识点,基本都是有关蛇模型/主动轮廓模型。
1. 梯度下降法
有关基础知识,这里不赘述了,有关代码转过来,备份一下。
原作地址: http://www.tuicool.com/articles/e6VzIz
steepest.m
function [k ender]=steepest(f,x,e)%梯度下降法,f为目标函数(两变量x1和x2),x为初始点,如[3;4]syms x1 x2 m; %m为学习率d=-[diff(f,x1);diff(f,x2)]; %分别求x1和x2的偏导数,即下降的方向flag=1; %循环标志k=0; %迭代次数while(flag) d_temp=subs(d,x1,x(1)); %将起始点代入,求得当次下降x1梯度值 d_temp=subs(d_temp,x2,x(2)); %将起始点代入,求得当次下降x2梯度值 nor=norm(d_temp); %范数 if(nor>=e) x_temp=x+m*d_temp;%改变初始点x的值 f_temp=subs(f,x1,x_temp(1)); %将改变后的x1和x2代入目标函数 f_temp=subs(f_temp,x2,x_temp(2)); h=diff(f_temp,m); %对m求导,找出最佳学习率 m_temp=solve(h); %求方程,得到当次m x=x+m_temp*d_temp; %更新起始点x k=k+1; else flag=0; endendender=double(x); %终点end
调用的方法这样的:
案例一:
syms x1 x2;f=(x1-2)^2+2*(x2-1)^2;x=[1;3];e=10^(-20);[k ender]=steepest(f,x,e)
结果是:
k = 27ender = 2 1
案例二:
syms x1 x2;f=x1-x2+2*x1^2+2*x1*x2+x2^2;x=[0;0];e=10^(-20);[k ender]=steepest(f,x,e)
结果:
k = 58ender = -1.0000 1.5000
案例三:
syms x1 x2;f=3/2*x1^2+1/2*x2^2-x1*x2-2*x1;x=[0;0];e=10^(-2);[k ender]=steepest(f,x,e)
结果:
k = 9ender = 0.9959 0.9877
0 0
- 纹理分割(四)Snakes相关知识备份
- 纹理分割(三)纹理分割相关知识
- 纹理分割相关文献
- opengl纹理相关知识
- 纹理相关知识整理
- oracle 相关备份知识
- OpenGL纹理贴图的相关知识
- 单点登录(四):HTTPS相关知识
- 4G网络相关知识(四)
- 纹理分割
- mysql备份及相关知识
- 纹理分割(一)Gabor滤波器学习
- 纹理分割(二)GLMC学习
- Snakes(并查集)
- Codechef Consecutive Snakes(三分)
- CodeChef:Consecutive Snakes(三分)
- XNA入门(四)纹理
- SHSH备份教程及相关知识介绍
- array.push()方法的用法
- C++实现RTMP协议发送H.264编码及AAC编码的音视频,摄像头直播
- 谱聚类算法(Spectral Clustering)优化与扩展
- C# 读写TXT文件遇到乱码问题
- 当WPS文件保存并关闭后恢复的方法。
- 纹理分割(四)Snakes相关知识备份
- Android热补丁技术方案整理
- Android TabLayout(选项卡布局)简单用法实例分析
- Spring学习-第1天
- 用 JAX-RS 和 JSR 371 规范设计一个 MVC 框架(一)开篇
- 12期 7月期刊自荐
- sysgen记录2
- 虚函数的工作原理
- lambda表达式