首页 > 其他分享 >5.19

5.19

时间:2023-06-11 09:03:49浏览次数:37  
标签:opt iter fprintf x0 5.19 grad norm

function [x_opt, f_opt, iter] = steepest_descent()

% 定义目标函数
f = @(x) 100*(x(1)^2 - x(2))^2 + (x(1) - 1)^2;

% 计算目标函数的梯度
grad_f = @(x) [400*x(1)*(x(1)^2 - x(2)) + 2*(x(1) - 1); -200*(x(1)^2 - x(2))];

% 定义终止准则
epsilon = 1e-5;

% 设置初始点
x0_list = [0, 0; -1, 1; 2, -2]; % 可根据需要尝试不同的初始点

for k = 1:size(x0_list, 1)
% 初始化变量
iter = 0;
x_opt = x0_list(k, :)';
f_opt = f(x_opt);
grad_norm = norm(grad_f(x_opt));

% 最速下降法迭代过程
while grad_norm >= epsilon
% 计算搜索方向
p = -grad_f(x_opt);

% 更新变量
alpha = line_search(x_opt, p, f, grad_f);
x_opt = x_opt + alpha * p;
f_opt = f(x_opt);
grad_norm = norm(grad_f(x_opt));

% 更新迭代次数
iter = iter + 1;
end

% 输出结果
fprintf('初始点:%s\n', mat2str(x0_list(k, :)));
fprintf('最优解:%s\n', mat2str(x_opt));
fprintf('最优值:%f\n', f_opt);
fprintf('迭代次数:%d\n', iter);
disp('----------------------');
end
end

function alpha = line_search(x, p, f, grad_f)
% 简单的线搜索方法:固定步长
alpha = 0.01;
end

标签:opt,iter,fprintf,x0,5.19,grad,norm
From: https://www.cnblogs.com/ruipengli/p/17472462.html

相关文章

  • 5.19 面向对象案例分析一
    classAddress{privateStringcountry;privateStringprovince;privateStringcity;privateStringstreet;privateStringzipcode;publicAddress(){}publicAddress(Stringcountry,Stringprovince,Stringcity,Stringstr......
  • 2305.19270Learning without Forgetting for Vision-Language Models
    https://arxiv.org/pdf/2305.19270.pdf2305.19270.pd  AbstractClass-IncrementalLearning(CIL)orcontinuallearningisadesiredcapabilityintherealworld,whichrequiresalearningsystemtoadapttonewtaskswithoutforgettingformerones.Whiletradi......
  • 5.19
     #include<bits/stdc++.h>usingnamespacestd;intmain(){longn,sum,i;while(cin>>n!=EOF){cout<<"在之间的阶梯数为"<<endl;sum=0;for(i=7;i<=n;i++)if(i......
  • 2023.5.19——软件工程日报
    所花时间(包括上课):6h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习。我了解到的知识点:1.了解了一些数据库的知识;2.了解了一些python的知识;3.了解了一些英语知识;5.了解了一些Javaweb的知识;4.了解了一些数学建模的知识;6.了解了一些计算机网络的知识;......
  • 每日总结-23.5.19
    <%@pagecontentType="text/html;charset=UTF-8"language="java"%><html><head><title>添加用户</title><style>body{background-color:#f2f2f2;font-family:Aria......
  • 2023.5.19每日总结
    <%--CreatedbyIntelliJIDEA.User:王磊Date:2023/5/13Time:10:07TochangethistemplateuseFile|Settings|FileTemplates.--%><%@pageimport="shiyan.student"%><%@pageimport="shiyan.AllMethods"%&g......
  • 5.19每日总结
    packageservlets;importjava.io.IOException;importjava.util.*;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet......
  • 5.19
    学习时间;6h代码行数:400H今天我努力写了web作业,实验四通过本次实验,我使用MVC模式完成管理系统的查看、增加、删除和修改功能,使用JavaScript、JQuery、Vue等技术进行了数据验证,使用了AJAX技术,深入理解MVC网站设计模式的基本概念和框架结构。......
  • 每日总结 5.19
    今日进行了web实验。体验了新的增删改查的书写方式。packageservlets;importjava.io.IOException;importjava.util.*;importjakarta.servlet.ServletException;importjakarta.servlet.annotation.WebServlet;importjakarta.servlet.http.HttpServlet;importjakart......
  • 5.19打卡
    #include<iostream>usingnamespacestd;intgetpower(intx,inty){if(y<0)return0;elseif(y==0)return1;elseif(y==1)returnx;elsereturnx*getpower(x,y-1);}doublegetpower(d......