- 博客(265)
- 收藏
- 关注
原创 智能反射面——恒模约束及代码实现
恒模约束常出现在、智能反射面、混合波束形成等问题,是一种比较常见的,对于这种约束的优化问题, 有很多种近似求解算法,比如。maxxxHAxst∣xi∣1∀i其中A是半正定矩阵,目标函数是凸函数,约束时非凸的,定义矩阵XxxHX⪰0rankX1maxXTrAXstXii1∀iX≥0rankX1针对优化问题(2),常常采用SDR算法松弛秩一约束,将其转换为SDP问题maxXTr。
2024-01-19 15:56:08
1595
原创 Java重修第九天—Lambda 表达式和Stream
通过学习本篇文章可以掌握如下知识Lambda 表达式StreamLambda表达式是JDK 8开始新增的一种语法形式;作用: 用于简化 函数式接口 匿名内部类的代码写法函数式接口:首先是接口,其次是只有一个抽象方法。代码实现java中Comparator就是一个函数式接口,可以使用lambda进行简化,IDEA中有提示。Stream流是jdk8开始新增的一套API,可以用于操作集合或者数组数据。其优势在于大量结合了Lambda语法风格来编程,使得代码简洁。可以将stream流想象成一个流水线。集合或者数组
2024-01-17 14:34:20
706
原创 Java重修第八天—枚举和泛型
不用关注具体的方法实现。外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传其次注意extend的用法:定义一个泛型类MyClass表明MyClass3中只能接受Animal及其子类,
2024-01-16 16:14:57
740
1
原创 智能反射面—流形优化
使用Manopt工具箱适合优化最小化问题,如果你的优化问题是最大化问题,那么需要将其转换为最小化问题然后使用Manopt工具箱求解。
2024-01-15 16:16:08
692
原创 Java重修第五天—面向对象2
类方法可以直接访问类成员,不可以直接访问实例成员。实例方法即可以直接访问类成员,也可以访问实例成员实例方法可以出现this关键字,类方法不可以出现this关键字。
2024-01-13 09:45:09
882
原创 凸优化—常见分式规划解决方法及代码实现
分式规划是凸优化中常见的问题,例如最大化能效等。这篇博客介绍了single-ratio 分式规划的二种常见方法。
2024-01-09 09:26:30
856
原创 智能反射面安全通信—2
上篇博客讲解RIS或者IRS辅助安全通信系统中的相关优化问题的算法推导和代码复现,涉及的论文题目为《Secrecy Rate Maximization for Intelligent Reflecting Surface Assisted Multi-Antenna Communications》。该论文考虑了一个单用户单窃听端的MISO通信系统,并且利用RIS辅助下行安全通信(作者也对多天线窃听的情况展开了讨论,本篇代码只考虑单天线窃听)。其中基站有M个天线,RIS有N个反射单元,用户和窃听端配备一个天线
2024-01-08 13:30:55
1094
1
原创 智能反射面安全通信—1
本篇博客讲解RIS或者IRS辅助安全通信系统中的相关优化问题的算法推导和代码复现,涉及的论文题目为《Secrecy Rate Maximization for Intelligent Reflecting Surface Assisted Multi-Antenna Communications》。希望各位能多多点赞和支持!。该论文考虑了一个单用户单窃听端的MISO通信系统,并且利用RIS辅助下行安全通信(作者也对多天线窃听的情况展开了讨论,本篇代码只考虑单天线窃听)。其中基站有M个天线,RIS有N个反射单
2024-01-07 11:26:16
1028
原创 Java重修第三天—“方法“的案例练习
请模拟其他人来抽奖,按照先来先得,随机抽取,抽完即止,注意:一个红包只能被抽一次,先抽或后抽哪一个红包是随机的,示例如下(不一定是下面的顺序)用户购买机票时,机票原价会按照淡季、旺季,头等舱还是经济舱的情况进行相应的优惠,优惠方案如下:5-10月为旺季,头等舱9折,经济舱8.5折。1、评委的分数是后期录入的,一开始不知道具体分数,因此需要定义一个动态数组。某歌唱比赛,需要开发一个系统:可以录入 � 个评委的打分,录入完毕,去掉最大值和最小值后计算平均分作为选手得分。本节重点是对方法的练习,因此需要确定。
2024-01-06 20:16:03
398
原创 注水算法—功率分配
最近一直在学习一位学姐的知乎文章,文章链接放到下面了。这里面涉及到了注水算法,为了学习的更明白,写这篇博客方便以后能快速记起,。
2024-01-06 11:33:40
957
原创 Java重修第二天—学习”方法“
通过学习本篇文章可以掌握如下知识1、方法的定义2、方法在计算机中的执行流程。3、方法使用时常见问题4、Java中方法的参数传递机制5、方法重载。
2024-01-04 21:40:16
993
原创 软件设计师考试备考总结
第一个视频:赛希的免费视频,后续的视频是收费的但是不必要看,推荐这个视频的原因是,给你一个直观的了解,通过视频了解以下软考到底是考啥内容的,并且其中视频中有相应的题型可以看以下。有了一定的了解可以推荐看第二个视频(免费的):针对你没有接触过的点有效的看视频就可以了,不要担心你有些知识点忘记,后续的会继续教你如何学习。沉浸式刷题,留10天也可以,根据自己进度适当调整,最重要的是思考和总结,up的视频有套路,自己一定要把套路总结出来。最少要把近五年的真题刷一下,因为考试过程中会出现原题,送分的嘿嘿嘿。
2024-01-04 10:26:38
1187
原创 jdk和IDEA教育版下载和安装详解
你可以点击下面的链接直接进入 IDEA 的官方进行学生认证,必须要用学校给你开通的教育邮箱,不然是无法通过验证的!出现这个页面就是通行证确认成功了,时间只有一年,但是到期之后继续续订即可,换句话说就是,只有你的教育邮箱没有被学校给注销掉,你就可以一直免费使用 IDEA 专业版,或者借学弟的也行。,右侧是社区版 如果你有学生邮箱账号的话,推荐下载专业版,因为社区版的部分功能不能使用 选择适合自己的版本下载就可以了,这里我用的是2021.3.3版本。图3:点击进入path,然后新建,将蓝框中的数据加入进去。
2024-01-03 21:36:39
1245
原创 第一次记录QPSK,BSPK,MPSK,QAM—MATLAB实现
最近有偶然的机会学习了一次QPSK防止以后忘记又得找资料,这里就详细的记录一下基于 QPSK 的通信系统如图 1 所示,QPSK 调制是目前最常用的一种卫星数字和数 字集群信号调制方式,它具有较高的频谱利用率、较强的抗干扰性、在电路上实现也较为简单,在后文仅仅使用MATLAB进行模拟。其相位图如图 2 所示,二进制数 0 和 1 分别表示两个相位,为了提高传输速率,通 常可以采用多项调制的方法,即将待发的数字信号按两比特一组的方式组合,两位二进 制数的组合方式又四种—(00,01,10,11)。
2023-12-22 10:29:10
1169
原创 迭代器模式:相比直接遍历集合数据,使用迭代器有哪些优势?
来创建对应的迭代器。为了能实现基于接口而非实现编程,我们还需要将这个方法定义在List接口中。
2023-07-16 15:20:21
1253
1
原创 状态模式:游戏、工作流引擎中常用的状态机是如何实现的?
有限状态机,英文翻译是Finite State Machine,缩写为FSM,简称为状态机。状态机有3个组成部分:状态(State)、事件(Event)、动作(Action)。其中,事件也称为转移条件(Transition Condition)。事件触发状态的转移及动作的执行。不过,动作不是必须的,也可能只转移状态,不执行任何动作。马里奥形态的转变就是一个状态机。其中,马里奥的不同形态就是状态机中的“状态”,游戏情节(比如吃了蘑菇)就是状态机中的“事件”,加减积分就是状态机中的“动作”。
2023-07-16 10:41:15
2699
原创 职责链模式:如何实现可灵活扩展算法的敏感信息过滤框架?
今天,我们主要的原理和实现。除此之外,我还会利用职责链模式,带你实现一个。下一节课,我们会更加贴近实战,通过剖析Servlet Filter、Spring Interceptor来看,如何利用职责链模式实现框架中常用的过滤器、拦截器。
2023-07-16 10:17:47
1744
原创 策略模式:如何避免冗长的if-else/switch分支判断代码?
策略类的定义比较简单,包含一个策略接口和一组实现这个接口的策略类。因为所有的策略类都实现相同的接口,所以,客户端代码基于接口而非实现编程,可以灵活地替换不同的策略。@Override//具体的算法...@Override//具体的算法...
2023-07-14 17:46:33
201
原创 模板模式(下):模板模式与Callback回调函数有何区别和联系?
上一节课中,我们学习了模板模式的原理、实现和应用。它常用在框架开发中,通过提供功能扩展点,让框架用户在不修改框架源码的情况下,基于扩展点定制化框架的功能。除此之外,模板模式还可以起到代码复用的作用。复用和扩展是模板模式的两大作用,实际上,还有另外一个技术概念,也能起到跟模板模式相同的作用,那就是(Callback)。今天我们今天就来看一下,回调的原理、实现和应用,以及它跟模板模式的区别和联系。
2023-07-14 16:34:44
271
原创 模板模式(上):剖析模板模式在JDK、Servlet、JUnit等中的应用
我们现在来看,HttpServlet的service()函数长什么样子。
2023-07-14 15:50:44
1504
原创 观察者模式(下):如何实现一个异步非阻塞的EventBus框架?
EventBus翻译为“事件总线”,它提供了实现观察者模式的骨架代码。我们可以基于此框架,非常容易地在自己的业务场景中实现观察者模式,不需要从零开始开发。其中,Google Guava EventBus就是一个比较著名的EventBus框架,它不仅仅支持异步非阻塞模式,同时也支持同步阻塞模式// 依赖注入// 同步阻塞模式// 异步非阻塞模式//省略输入参数的校验代码//省略userService.register()异常的try-catch代码// 依赖注入@Subscribe。
2023-07-12 12:30:01
631
原创 观察者模式(上):详解各种应用场景下观察者模式的不同实现方式
从今天起,我们开始学习行为型设计模式。我们知道,创建型设计模式主要解决“对象的创建”问题,结构型设计模式主要解决“类或对象的组合或组装”问题,那行为型设计模式主要解决的就是“”问题。
2023-07-12 09:49:58
613
原创 组合模式:如何设计实现支持递归遍历的文件系统目录树结构?
组合模式跟我们之前讲的面向对象设计中的“组合关系(通过组合来组装两个类)”,完全是两码事。这里讲的“组合模式”,主要是用来处理树形结构数据。这里的“数据”,你可以简单理解为一组对象集合,待会我们会详细讲解。正因为其应用场景的特殊性,数据必须能表示成树形结构,这也导致了这种模式在实际的项目开发中并不那么常用。将一组对象组织(Compose)成树形结构,以表示一种“部分-整体”的层次结构。组合让客户端(在很多设计模式书籍中,“客户端”代指代码的使用者。)可以统一单个对象和组合对象的处理逻辑。假设我们有这样一个需
2023-07-09 14:57:56
344
原创 门面模式:如何设计合理的接口粒度以兼顾接口的易用性和通用性?
今天,我们再来学习一种新的结构型模式:门面模式。门面模式原理和实现都特别简单,应用场景也比较明确,主要在接口设计方面使用。
2023-07-09 09:03:23
280
原创 适配器模式:代理、适配器、桥接、装饰,这四个模式有何区别?
适配器模式的应用场景是“接口不兼容”。那在实际的开发中,什么情况下才会出现接口不兼容呢?我建议你先自己思考一下这个问题,然后再来看我下面的总结。
2023-07-08 21:21:10
587
原创 装饰器模式:通过剖析Java IO类库源码学习装饰器模式
我们通过剖析Java IO类的设计思想,再学习一种新的结构型模式,装饰器模式。它的代码结构跟桥接模式非常相似,不过,要解决的问题却大不相同。Java IO类库非常庞大和复杂,有几十个类,负责IO数据的读取和写入。如果对Java IO类做一下分类,我们可以从下面两个维度将它划分为四类。具体如下所示:针对不同的读取和写入场景,Java IO又在这四个基础之上,扩展出了很多子类。具体如下所示:在我初学Java的时候,曾经对Java IO的一些用法产生过很大疑惑,比如下面这样一段代码。
2023-07-08 16:55:39
481
原创 桥接模式:如何实现支持不同类型和渠道的消息推送系统?
上一节课我们学习了第一种结构型模式:代理模式。它在不改变原始类(或者叫被代理类)代码的情况下,通过引入代理类来给原始类附加功能。代理模式在平时的开发经常被用到,常用在业务系统中开发一些非功能性需求,比如:监控、统计、鉴权、限流、事务、幂等、日志。今天,我们再学习另外一种结构型模式:桥接模式。桥接模式的代码实现非常简单,但是理解起来稍微有点难度,并且应用场景也比较局限,所以,相当于代理模式来说,桥接模式在实际的项目中并没有那么常用,你只需要简单了解,见到能认识就可以,并不是我们学习的重点。
2023-07-08 16:31:52
414
原创 牛客网项目—开发社区首页
我们就需要完成分页显示,因此也需要处理分页的信息,例如offset,limit等等。最最最重要的是,测试。千万不要把一个功能全部完成了在测试,应该是分阶段的测试,在某一个阶段性小功能实现之后就进行测试。2、实现Dao层,由于首页需要对评论进行显示,所以discussPostMapper中有一个方法查询所有帖子,由于需要进行分页,最好也有一个查询帖子个数的方法。因为跟着视频做的时候,并没有实现定义第几页进行跳转,而仅仅实现了下一页,首页等功能,因此在这里需要实现页码点击跳转的功能。
2023-06-01 15:38:34
613
原创 设计模式之美-设计原则讲解二
在上面的代码中,count()函数的功能不够单一,包含很多不同的统计功能,比如,求最大值、最小值、平均值等等。在父类中,某个函数约定,只会抛出ArgumentNullException异常,那子类的设计实现中只允许抛出ArgumentNullException异常,任何其他异常的抛出,都会导致子类违背里式替换原则。在父类中,某个函数约定,输入数据可以是任意整数,但子类实现的时候,只允许输入数据是正整数,负数就抛出,也就是说,子类对输入的数据的校验比父类更加严格,那子类的设计就违背了里式替换原则。
2023-05-31 09:41:54
788
原创 设计模式之美-设计原则讲解一
一个类只负责完成一个职责或者功能。不要设计大而全的类,要设计粒度小、功能单一的类。单一职责原则是为了实现代码高内聚、低耦合,提高代码的复用性、可读性、可维护性。单一职责原则通过避免设计大而全的类,避免将不相关的功能耦合在一起,来提高类的内聚性。同时,类职责单一,类依赖的和被依赖的其他类也会变少,减少了代码的耦合性,以此来实现代码的高内聚、低耦合。但是,如果拆分得过细,实际上会适得其反,反倒会降低内聚性,也会影响代码的可维护性。
2023-05-30 20:12:14
807
原创 设计模式之美-实战二:如何对接口鉴权这样一个功能开发做面向对象分析?
假设,你正在参与开发一个微服务。微服务通过HTTP协议暴露接口给其他系统调用,说直白点就是,其他系统通过URL来调用微服务的接口。有一天,你的leader找到你说,“为了保证接口调用的安全性,我们希望设计实现一个接口调用鉴权功能只有经过认证之后的系统才能调用我们的接口,没有认证过的系统调用我们的接口会被拒绝。我希望由你来负责这个任务的开发,争取尽快上线。接口是通过HTTP协议,进行访问。类似访问百度一下。只有认证之后的系统才能调用我们的接口。以上两点是设计一个这个系统的要求。
2023-05-30 16:07:54
1066
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人