news 2026/6/23 6:05:35

优化算法matlab实现(一)相关matlab基础

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
优化算法matlab实现(一)相关matlab基础

之前实现优化算法用的java、python、c++,matlab使用较少,接下来会用matlab来实现。此处记录了一些matlab中常用的函数和需要注意的地方。
Matlab版本2015b

1.向量

Matlab的名称就是矩阵实验室,其中大多数运算都是矩阵运算。不过,优化算法中,向量用的更多。矩阵中m*n的矩阵表示m行n列的矩阵,向量可以认为是1行n列的矩阵。
下面介绍如何初始化向量。

函数定义
zeros(m,n)生成一个m行n列,所有元素都为0的矩阵。
ones(m,n)生成一个m行n列,所有元素都为1的矩阵。

(1).生成一个5维向量,每一维都是0

A = zeros(1,5);

(2).生存一个5维向量,每一维都是1

A = ones(1,5);

2.随机数

函数定义
rand返回一个在区间 (0,1) 内均匀分布的随机数。
rand(n)返回一个 n×n 的随机数矩阵,其中每个值为区间 (0,1) 内均匀分布的随机数。
rand(m,n)返回一个 m×n 的随机数矩阵,其中每个值为区间 (0,1) 内均匀分布的随机数。
unidrnd(a)返回一个在区间 [1,a] 内均匀分布的随机整数。
unidrnd(a,n)返回一个 n×n 的随机数矩阵,其中每个值为区间 [1,a] 内均匀分布的随机整数。
unidrnd(a,m,n)返回一个 m×n 的随机数矩阵,其中每个值为区间 [1,a] 内均匀分布的随机整数。
unifrnd(a,b)返回一个在区间 (a,b) 内均匀分布的随机浮点数。
unifrnd(a,b,n)返回一个 n×n 的随机数矩阵,其中每个值为区间 (a,b) 内均匀分布的随机浮点数。
unifrnd(a,b,m,n)返回一个 m×n 的随机数矩阵,其中每个值为区间 (a,b) 内均匀分布的随机浮点数。
randperm(s)返回一个 1-s 的乱序整数序列。
randperm(s,n)返回一个 1-s 的乱序整数序列中的n个数,有重复值。
normrnd(mu,sigma)从均值参数为 mu 和标准差参数为 sigma 的正态分布中生成随机数。
normrnd(mu,sigma,n)返回一个 n×n 的随机数矩阵, 其中每个值从均值参数为 mu 和标准差参数为 sigma 的正态分布中生成随机数。
normrnd(mu,sigma,m ,n)返回一个 m×n 的随机数矩阵, 其中每个值从均值参数为 mu 和标准差参数为 sigma 的正态分布中生成随机数。

(1)生成一个(0,10)内的均匀随机数

A = 10*rand;

(2)生成一个4维向量,每一维为(2,5)内的均匀随机数

A = rand(1,4)*(5-2)+2; B = unifrnd(2,5,1,4);

(3)从1-10中随机选择一个整数

A = unidrnd(10); 取A(1)
B = randperm(10,1);

(4) 从1-10中随机选择2个不重复的整数

A = randperm(s); 取A(1),A(2)

3.运算符号

符号含义
+-向量的加减法,需要向量维度相同。
*向量乘法,得到一个值或一个向量。
.*向量点乘,得到一个向量。
^数值的幂。
.^向量中每个数值的幂。
:表示该维度的间隔值或所有值。
向量转置
><大于,小于,向量之间比较需要维度一致,同时返回向量.
A=[1,2,3]; B=[4,5,6]; A+B=[5,7,9] A*2=[2,4,6] A*B’=1*4+2*5+3*6=32 A.*B=[4,10,18] A.^2=[1,4,9] C=1:10=[1,2,3,4,5,6,7,8,9,10] D=1:2:10=[1,3,5,7,9] A>[2,2,2]=[0,0,1] B<A=[0,0,0]

4.循环

matlab中的循环从1开始。
matlab中的循环从1开始。
matlab中的循环从1开始。

% 从1取到10 for i = 1:10 end i=1; while i<=10 i=i+1; end

5.类

定义一个类A,文件A.m

classdef A %属性,公开的 properties end %属性,私有的 properties (Access = private) end %属性,受保护的,继承用 properties (Access = protected) a; end %方法,公开的 methods end %方法,私有的 methods(Access = private) end %方法,受保护的,继承用 methods(Access = protected) % 构造函数 function self = A (a) self.a =a; end %方法,打印a的值 function print(self) disp(self.a) end end end

定义一个类B,继承A,覆盖print方法。文件B.m

classdef B < A %属性,公开的 properties end %属性,私有的 properties (Access = private) end %属性,受保护的,继承用 properties (Access = protected) b; end %方法,公开的 methods % 构造函数 function self = B (a) %调用父类构造函数 self@A(a) self.b =a*a; end end %方法,私有的 methods(Access = private) end %方法,受保护的,继承用 methods(Access = protected) %方法,打印a的值 function print(self) disp(self.b) end end end

打印类A中的a,打印类B中的b。文件Test.m

a=2; class_a = A(a); class_a.print(); class_b = B(a); class_b.print();

AI大模型学习福利

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。


因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

四、AI大模型商业化落地方案

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/22 13:48:01

DeepSeek-R1-Distill-Qwen-7B模型快速部署终极指南

想要在生产环境中快速部署高性能的推理模型却不知从何下手&#xff1f;本指南将带您一步步完成DeepSeek-R1-Distill-Qwen-7B的高可用集群搭建&#xff0c;让您轻松驾驭这个在数学和代码任务上表现卓越的AI助手&#xff01;&#x1f680; 【免费下载链接】DeepSeek-R1-Distill-Q…

作者头像 李华
网站建设 2026/6/22 14:10:12

生态协同赋能:腾讯云云服务器背后的全链路服务体系

在云计算领域&#xff0c;单一的云服务器产品已难以满足企业多元化的数字化需求&#xff0c;完善的生态体系成为衡量云服务提供商综合实力的重要标准。腾讯云云服务器之所以能够成为企业上云的首选&#xff0c;不仅在于其自身强大的技术能力&#xff0c;更得益于背后腾讯系全链…

作者头像 李华
网站建设 2026/6/23 10:02:16

[特殊字符] 普通程序员如何黑进你的电脑?

&#x1f4bb; 普通程序员如何黑进你的电脑&#xff1f;你以为黑客都是戴着面具、敲着键盘、屏幕上满是绿色字符的那种人&#xff1f; 不&#xff0c;其实只是你工位旁边那个写了 8 年 Java、每天泡在 IDEA 和 VS Code 里的程序员罢了。&#x1f9e0; 背景&#xff1a;为什么写…

作者头像 李华
网站建设 2026/6/22 19:17:25

HAMA.bundle:动漫收藏家的秩序革命

【免费下载链接】Hama.bundle Plex HTTP Anidb Metadata Agent (HAMA) 项目地址: https://gitcode.com/gh_mirrors/ha/Hama.bundle 曾经&#xff0c;我的Plex动漫库就像一场无休止的标签战争。《进击的巨人》变成了《Attack on Titan》&#xff0c;OVA特典在正片里流浪&a…

作者头像 李华
网站建设 2026/6/20 17:42:16

组合数学➕动态规划 Codeforces Round 1035 (Div. 2) D. Token Removing

被组合数学动态规划整的不知天地为何物了&#xff0c;这玩意经常遇到就算了&#xff0c;还经常不会&#xff0c;至此我打算开篇新的篇章专门记录组合数学➕动态规划的ac之路...... 简洁题意&#xff1a;在给定整数 n [1,5000] 和 m [1e8,1.01e9] 的情况下&#xff0c;m作为…

作者头像 李华
网站建设 2026/6/19 22:59:14

海龟交易法则

海龟交易系统是一个完整的、机械化的趋势跟踪交易系统。它因传奇商品交易员理查德丹尼斯与朋友的一个著名赌约而诞生——丹尼斯认为伟大的交易员可以通过后天系统化训练培养&#xff08;就像新加坡人养殖海龟一样&#xff09;&#xff0c;而非天生。这个实验证明了一套简单但纪…

作者头像 李华