小编Jon*_*erg的帖子

当重载buildin函数时,避免MATLAB启动警告?

如上所述这里,我创建了自己figure.m这很好地重载内置figure命令.现在,每当我启动MATLAB时,我都会收到警告

警告:函数C:\ somepath\figure.m与MATLAB内置函数同名.我们建议您重命名该函数以避免潜在的名称冲突.

有没有办法停用此警告,因为在我的情况下它是理想的行为?

您可能会说我应该以不同方式调用我的函数而不是重载,但我觉得我的开发系统这种重载是正确的方法...

更新

正如Aabaz所提到的,您可以使用全局关闭此警告

warning off MATLAB:dispatcher:nameConflict
Run Code Online (Sandbox Code Playgroud)

需要在matlabrc.m(在设置路径之前)的开始处进行.但是,我仍然会对一个解决方案感兴趣,该解决方案可以特定地删除此错误消息以重载figure.m(或一些自定义的函数列表)而不是所有函数.我猜我在这里要求太多了一些;-)?

matlab overloading suppress-warnings

6
推荐指数
1
解决办法
2957
查看次数

这个 MATLAB 语句是什么:[MN ~] = size(imge);?

这个说法是什么意思???

[M N ~] = size(imge);
Run Code Online (Sandbox Code Playgroud)

不明白为什么要用这个“~”,这个语句也给出了错误提示。

matlab

5
推荐指数
1
解决办法
4234
查看次数

给定一个巨大的对称正定矩阵,如何计算其逆的几个对角元素?

更新:这是一个纯粹的Fortran问题 ; 我把数学的东西放在M.SE上.

考虑Px P对称和正定矩阵A(P = 70000,即A使用8字节双精度大约为40 GB).我们想要计算逆矩阵的前三个对角元素inv(A)[1,1],inv(A)[2,2]inv(A)[3,3].

我发现 James R. Bunch的这篇论文似乎解决了这个问题而没有计算完全逆inv(A); 不幸的是他使用了Fortran和LINPACK,这两者都是我从未使用过的.

我正在尝试理解这个功能:

    SUBROUTINE SOLVEJ(A,LDA,P,Y,J)
    INTEGER LDA,P,J
    REAL A(LDA,1),Y(1)
C
    INTEGER K
    Y(J) = 1/A(J,J)
    DO 10 K = J + 1,P
    Y(K) = - SDOT(K - J,A(J,K),1,Y(J),1)/A(K,K)
    10 CONTINUE
    RETURN
    END
Run Code Online (Sandbox Code Playgroud)

其中A是大小为LDA x P的矩阵,Y是一个长度为P的向量.

你能解释为什么他Y(1)在函数头中定义然后分配给Y(J)Fortran不关心已定义数组的大小并允许您访问超出其结束的范围吗?为什么不定义Y(P),这似乎可能根据 …

fortran

5
推荐指数
1
解决办法
866
查看次数

MATLAB的错误栏图是否可以替代允许刷数据?

如文档中所述,MATLAB brush不适用于errorbar绘图(请参见" 无法绘制的绘图类型"一节).例如,

figure;
errorbar((1:10)+2*sin(.3:.3:3),cos(1:1:10)/2);
hold all;
plot(10:-1:1,'o-g');
brush
Run Code Online (Sandbox Code Playgroud)

生成一个图表,我可以从绿色中刷出数据点plot,但不能从红色errorbar图中刷出数据点:

截图

更新

理想情况下,我想找到一种方法来追溯制作错误条可绘制的绘图,缺少提取XData和YData并重新创建图形plot.

如果不这样做,是否有一个替换功能errorbar允许我将来创建的情节?

matlab plot brush

5
推荐指数
1
解决办法
895
查看次数

为什么一些git提交隐藏在cygwin shell中?

我的一位同事最近注意到正常git log命令与以下别名之间存在差异:

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
Run Code Online (Sandbox Code Playgroud)

经过一番挖掘后,我们发现它可能与cygwin bash有关.

以下是我们的发现:

  • git log --graph

    所有提交都可见

  • git log --oneline

    一些承诺失踪......好吧!让我们通过将输出重定向到文本文件来准备错误报告:

  • git log --oneline > test.txt

    唉,所有提交都在test.txt?!?让我们通过拆分别名来进一步调查.删除颜色代码:

  • git log --graph --pretty=format:'%h - %d %s (%cr) <%an>'

    一些提交缺失.所以它必须是变量之一......

[...后来有些frobnications ...]

  • git log --graph --pretty=format:'%h - %d %s (%cr)'

    所有提交都可见

  • git log --graph --pretty=format:'%h - %d %s <%an>'

    所有提交都可见

在某些变量组合之后似乎会破裂.在这种情况下(%cr) <%an>

我也在linux上尝试了相同的存储库,在那里,它按预期工作(即所有提交都显示在日志中).

我们想知道为什么会这样.

git cygwin msysgit

5
推荐指数
1
解决办法
171
查看次数

在Matlab中是quadprog和frontcon等价的吗?

Matlab quadprogfrontconMatlab 的区别究竟是什么?例如,如果我quadprog在一个循环中使用(最小化方差)我不断改变10个投资组合的预期收益来计算权重,那么frontcon与预期收益和10个点的调用相同吗?

matlab finance

5
推荐指数
1
解决办法
862
查看次数

如何在Matlab中抛出异常?

我正在写一些代码,现在我正在编写一些函数,但我还没写它们.我只是制作了一个空无一物的功能.我想做的是在函数运行时抛出异常,以防止我忘记编写函数.

matlab exception

4
推荐指数
1
解决办法
7500
查看次数

如何在执行包含的VBA宏时重新打开Excel工作簿?

我在excel文件上做了各种各样的事情,最后我需要回到最后保存的版本.所以我关闭并重新打开我的excel文件而不保存,这有效.在关闭工作簿之前,我复制了一系列单元格(通过使用一些排序和过滤以及其他东西等创建),现在我需要在重新打开它时将它们粘贴到文件末尾.

但是当我们重新打开工作簿时,以前运行的宏不会在停止的地方继续.我想运行宏再次重新打开时停止的位置.那可能吗?

我的想法是在工作簿打开时放置此代码:

     sub Auto_open()
     sheet1.activate
     ' and select the last row of the sheet1
     activesheet.paste
     end sub
Run Code Online (Sandbox Code Playgroud)

因为当工作簿重新打开时,它会自动执行此子例程并复制单元格内容.但缺点是我们不能说它总是单元格被复制,因为如果用户将一些数据复制到剪贴板然后由于Auto_open子打开这个文件,它会将这些数据复制到工作表的末尾,但这不是什么我想要.

任何人都可以提出一个好主意来克服这个问题吗?

excel vba excel-2007 excel-vba

3
推荐指数
1
解决办法
2315
查看次数

命令行 - 等待进程完成

我正在无人值守的脚本中安装一组驱动程序。其中一个驱动程序(英特尔 USB3 驱动程序)在完成后启动 Windows 驱动程序查找应用程序(“drvinst.exe”)。然后,当 nVidia 驱动程序尝试运行时,它们会取消,因为该向导仍在后台运行。

我当前的解决方案是这样的,但它不是很优雅:

:INSTALLLAPTOP79
.\ELAN\Touchpad\Setup.exe /s /a /s
.\Intel\Chipset\Setup.exe -s -norestart
.\Intel\Graphics\Setup.exe -s
.\Intel\MEI\Setup.exe -s
.\Intel\USB3\Setup.exe -s
.\Realtek\Audio\Setup.exe /s
.\Realtek\CardReader\Setup.exe /s
TIMEOUT 180
.\nVidia\Graphics\Setup.exe -n -s
GOTO :INSTALLLAPTOPWIFI
Run Code Online (Sandbox Code Playgroud)

基本上,如果系统比“正常”慢,它就会失败,因为 180 秒还不够。我可以增加这个值,但这对我来说很混乱。

我基本上正在寻找一种方法来进行“检查”以查看“drvinst.exe”是否仍在运行,如果是,则等待一段时间 - 然后再次进行检查。

有任何想法吗?

windows batch-file command-line-interface command-line-arguments

3
推荐指数
1
解决办法
3万
查看次数

获取wifi信息时导致"EXC_BAD_ACCESS"错误的原因是什么?

我收到以下错误

程序接收信号:"EXC_BAD_ACCESS".
警告:check_safe_call:无法恢复当前帧

警告:无法恢复以前选择的帧.
警告:无法恢复以前选择的帧.

我的应用程序是获取wifi信息

libHandle = dlopen("/System/Library/PrivateFrameworks/ MobileWiFi.framework/MobileWiFi",RTLD_LAZY);

open = dlsym(libHandle, "Apple80211Open");
bind = dlsym(libHandle, "Apple80211BindToInterface");
close = dlsym(libHandle, "Apple80211Close");
scan = dlsym(libHandle, "Apple80211Scan");

open(&airportHandle);

bind(airportHandle, @"en0");
Run Code Online (Sandbox Code Playgroud)

当代码到达时open(&airportHandle),我收到错误,但我不确定,因为在此行停止.

我该如何解决这个问题?

iphone ipod wifi

2
推荐指数
1
解决办法
1933
查看次数

Windows 7 64bit上可以兼容TortoiseGit,Git Extensions和SmartGit吗?

我刚刚在30分钟前在Windows 7 64bit上安装了TortoiseGit 1.6.5,Git Extensions 2.21和SmartGit 2.0.4.

这会导致任何兼容性问题吗?


更新:

我认为TortoiseGit和Git Extensions应该很好地共存,因为默认情况下Git Source Control Provider会在上下文菜单中显示TortoiseGit和Git Extensions的命令.

来自Git Source Control Provider的官方网站:

在此输入图像描述

git tortoisegit git-extensions smartgit

1
推荐指数
1
解决办法
2037
查看次数

如何在MATLAB中优化矩阵乘法?

我可以以某种方式优化这个公式吗?我多次评估它需要很多时间......

w - 1xN双倍

phis - NxN加倍

x - Nx2加倍

sum(w(ones([size(x,1)1]),:).*phis,2)

optimization matlab matrix

0
推荐指数
1
解决办法
740
查看次数