【无标题】

最近毕设工作要用到matpower,然而老师的matpower4.1老是装不上,然后还被骂能力不行(哭唧唧),又不想直接更换matlab版本(当时装matlab花费了很多精力,不想重装)

自力更生,劳资自己搞!

一、安装部分

(一)遇到的错误集:(注意是“错误”,主要讲基本操作和方法,已经有了解的可以跳过)

1.方法:

  • 将matpowerX.X(某版本的matpower解压后文件夹)放在matlab安装目录下bin或者toolbox文件夹内,然后在matlab软件中设置路径

“设置路径”看得见吧?-matlab-2017b

  • 将matpower及其子文件路径统统加进去(“添加并包含子文件夹”,然后选中matpowerX.X(某版本的matpower解压后文件夹))

matlab-2017b

  • matlab路径更改为matpowerX.X文件夹下

图1.3

点击

然后找到matpowerX.X文件夹并且点进去,然后点“选择文件夹”最终matlab路径

图1.4

如图1.4“X.X(图中7.1)“后面有一个三角形就算点进去了,也可以参考图1.3

  • 命令窗口中输入代码install_matpower

选择3然后一路默认下去

2. 结果:

再次使用test_matpower命令总是会报错,总之运行不完,没有出现如下图所示结果

虽然网上表示中途报错也不影响使用原帖链接如下:

matpower安装到MATLAB下遇到的问题_matpower吧_百度贴吧​tieba.baidu.com/p/5057353469?red_tag=0702647918​编辑

但是我不放心,故摸索出了最后的解决方案

(二)最终无报错解决方案

1.依据和猜想:

matpower 安装总是出错,求帮助!!!​bbs.elecfans.com/jishu_1658738_1_1.html​编辑

是此贴下面的评论(话说我是没读出来文档里的这个意思啦(学渣一枚))

于是有了尝试:

2. 会出现 OSQP Error!错误 但是能跑完test_matpower命令 的不完全方案:

  • 不要将matpowerX.X文件夹放入matlab安装目录当中!

也就是前文错误方法中的第一步改为“将matpowerX.X文件夹放入matlab安装文件夹的同级目录或者更上层的目录而不是放进matlab安装文件夹中”

比如我的matlab安装在“zhijieanzhuang”文件夹下面,那么matpowerX.X文件夹就不能放在“zhijieanzhuang”文件夹下,而应该放在包括了“zhijieanzhuang”文件夹的“2017b”文件夹下面,如下图咯

其他步骤同前文(添加文件夹及其子文件夹-matlab路径进入matpowerX.X文件夹-install_matpower(注意选3然后一路默认)-test_matpower)

结果就是中途报错但是能跑完出现

3.完全解决方案如下(解决OSQP错误并且能跑完):

在保证matpowerX.X文件夹不在matlab安装目录下的前提下,在添加matpower路径一步中

  • 仅仅添加matpowerX.X文件夹进入路径
  • 并且在matlab路径进入matpowerX.X文件夹以保证能运行install_matpower命令即可

也就是仅仅只有前文的步骤三不变

  • (再写一遍步骤三)在保证matlab正确工作路径的前提下

命令行窗口输入install_matpower会出现:

这里我已经选择了3

选择3,enter确认,然后一路enter(默认N)下去直到

问你要不要运行test_matpower,不想再输一次命令就直接选Y

或者上图中你也选N然后单独再运行test_matpower,最后就没有OSQP错误报错并且能跑完了

不知道能不能百分百解决大家的问题,但是我反正是这样解决了我的问题,所以

求个赞!

不过分吧?


二、更新关于

You have $MATPOWER/t/t_loadcase in your path. In general your path should

not include sub-directories of $MATPOWER/t. While harmless, it does prevent this

test from verifying the ability to load m-file cases that are outside your path.

> In t_loadcase (line 561)

In t_run_tests (line 61)

In test_matpower (line 173)

解决错误的方法:(这是个外网)

Re: test_matpower shows warning, 3 tests failed.​www.mail-archive.com/matpower-l@cornell.edu/msg06037.html

翻译如下:

您不必复制任何子目录。

只需仔细按照安装说明进行操作即可。

看来您不仅已将Matlab路径添加到说明中指示的目录,而且还添加了它们的子目录。

在Matlab中,单击“设置路径”按钮,选择安装说明中未明确提及的所有MATPOWER子目录,然后按“删除”。

说白了就是删除不必要的matpower路径,比如本来你安装在了a目录下,结果你的路径里面还有b/matpower/的字样。


三、更新matlab2023a的matpower7.1安装问题

本来我以为matpower安装的话题应该就此结束了, 万万没想到啊: matlab升级到2023过后, 居然改了Solver, 而且改法十分粗糙

图1.白话就是只要调用的时候使用X0参数我就直接报错

直接报错一时爽, matpower火葬场

如果你使用matpower7.1和matlab2023a, 就会发现在test_matpower的时候有个错误

这是评论区读者们反馈给我的, 本来我都不打算再更了(因为2017b版本没啥问题), 奈何这个问题网上似乎都没有人解决, 或者有人解决了但是没有发出来, 我又很好奇这个问题到底是怎么回事, 于是就顺腾摸瓜(评论区有读者说他使用的是matlab2023a)下个2023版本的看看到底是个什么问题(其实就是我等不及了,他反馈太慢了,我还不如动手做做看)

(一)首先是自行摸索的解决方案

1.修改mp-opt-model源文件,但是test_matpower后会有警告

警告如图

本来想直接对linprog.m下手的(想直接注释掉图1中的代码), 但是这个在toolbox里面, 是被保护的, 我改不了

所以只好从调用方入手

1.1解决t_qps_master错误

  • 找到qps_ot.m(别问为啥是这个文件,我懒得写)
  • 路径:

自己总结出里面的相对路径然后找或者直接搜文件

  • 修改:

行数我也截进去了,或者你直接搜linprog

  • 去掉linprog里面的"x0,"即可

1.2解决t_miqps_master错误

为啥又来个错误, 因为这家伙也在间接调用linprog的时候使用了x0参数

  • 找到miqps_ot.m(不赘述)
  • 路径: matpower7.1\matpower7.1\mp-opt-model\lib\miqps_ot.m
  • 修改:

不赘述

  • 去掉linprog里面的"x0,"即可

然后就没有报错了,只是有警告

再放一遍

容易注意到, 改的两个文件都是mp-op-model包里面的, 而这个包是matpower当中的一个独立包(有人在专门维护)

——所以matpower不跟进matlab2023a, mp-op-model作者会不会跟进了呢?

一查, 果然(如图是mp-op-model-master中两个文件的情况):

注意右面的字

注意右面的字

打开一看

图2.果然不一样了

于是:

2.尝试手动更新mp-op-model包

一顿操作(GitHub下载(首页Code下拉按钮下载mp-opt-model-master.zip包), 覆盖matpower下面原来的mp-op-model), 结果:

?什么鬼

关键是我还找不到有t_str_match这个文件...

另外:

从首页Code下拉按钮里面直接下载得到的是mp-opt-model-master.zip(更新了那两个文件)

而从Release里面下载最新版4.1得到的是mp-opt-model-4.1.zip(没更新那两个文件)

可能master不是正式版本吧,所以文件有缺失(Github小白一个)

那既然如此:

3.尝试直接更新文件

一顿操作(把那两个文件拷出来然后丢进去覆盖)

结论: 错误也解决了, 但仍然有一堆警告. 还不如不折腾(建议直接按方案1改源码), 甚至我觉得, 你们就应该使用老版本matlab(比如matlab2017b)

总之:这趟折腾之旅结束了, 结论就是直接按照方案1改源码方便些, 可以解决错误, 虽然一堆警告

至此,我的好奇心满足了, 要忙回正事了

ps: matpower8.0b1我也看了, 没解决t_qps_master错误

(二)知乎上已经有人弄清楚了

charile层楼终误少年:matpower7.1安装报错提示:错误使用linprog...​zhuanlan.zhihu.com/p/649679035?utm_campaign=&utm_medium=social&utm_oi=548947560530911232&utm_psn=1690169330547916800&utm_source=zhihu

试过了,没报错也没警告,总之就是不要去matpower官方网站去下载,去Github下载MATLAB(直接Code下拉按钮下载matpower-master.zip)

折腾一圈,白给了


四、更新关于Matlab运行test_matpower崩溃的问题

注意如果你用的是AMD处理器,请继续往下看,如果不是就不用看了,这里只讨论AMD环境下的崩溃问题

1.首先是Matlab的配置要求(以2023a为例)

注意对AVX2的提及

对Intel处理器是“any”,AMD处理器额外提及了“AVX2”和“逻辑核心数”

2.然后是关于什么是AVX2,怎么看处理器是否支持AVX2以及AVX系列指令的区别

https://www.ghostarrow.com/how-to-know-if-my-cpu-supports-avx-instructions​www.ghostarrow.com/how-to-know-if-my-cpu-supports-avx-instructions

这篇文章有详细描述,文末还例举了满足avx系列指令的处理器,但还是建议自己动手查一下

文中提到一个有意思的查询方法,我单独提一下

Steam YES!

如果发现自己的处理器不支持AVX系列指令怎么办?

首先更老版本比如2017b也对AVX2“recommend”,所以更换软件版本大概解决不了问题

Matlab 2017b的配置要求

3.Matlab in AVX2 mode (for AMD CPU's)

AVX2指令是“建议”不是“必须”,所以才有文章[1]说把Matlab调到AVX2模式用于“性能”提升吧?

毕竟电脑因为“性能”不足而崩溃貌似也很合理

然后Matlab居然像是给AMD做了适配的样子[2]

确实做了适配,但是我没有AMD机器,没法测,Matlab转AMD模式的方法在下面的文章[3]里,自己试

https://ww2.mathworks.cn/matlabcentral/answers/1672304-how-can-i-use-the-blas-and-lapack-implementations-included-in-amd-optimizing-cpu-libraries-aocl-wi​ww2.mathworks.cn/matlabcentral/answers/1672304-how-can-i-use-the-blas-and-lapack-implementations-included-in-amd-optimizing-cpu-libraries-aocl-wi

总结

没有提出原创方法,只是分享一下上网过程,这里的方法都是网上的,而我没有AMD机器所以没法测试网上的方法。所以这里只能写一些思路和线索,希望能帮到你,剩下的你就自己解决(毕竟谁让你买的是AMD呢)

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值