在R2010b和R2018a之间的某个地方,Matlab似乎删除了dos作为一个内置函数。
在R2010b中:
>> which dos
built-in (C:\Program Files\MATLAB\R2010b\toolbox\matlab\general\dos)
在R2018a中:
>> which dos
C:\Program Files\MATLAB\R2018a\toolbox\matlab\general\dos.m
为什么,什么时候做出了这样的改变?
我尝试在Matlab .m文件中编写一个函数:
function returnValue = someFunction(x, y)
returnValue = x * y + 3
end
然而,Matlab指出,我不允许在脚本中简单地声明一个函数。我尝试将函数移到文件的顶部,但是Matlab强迫我将函数重命名为文件名。
我很快就意识到Matlab函数必须与它们的文件名相匹配。如何在一个文件中模块化Matlab代码?我是否可以在脚本的中间定义一个函数?
我正在使用mcc来编译我的MATLAB项目。我使用的机器上安装了许多MATLAB工具箱,但我的代码只需要几个工具箱(例如distcomp和图像)。但是,每当我运行mcc时,它都会“处理”许多工具箱的mcc.enc文件,包括我的代码不需要的那些。
下面是mcc输出的开始部分(我使用-R '-nodisplay'运行它,以便与我使用的集群兼容)。
Warning: No display specified. You will not be able to display graphics on the screen.
Compiler version: 4.15 (R2011a)
Private Sub CommandButton1_Click()
Dim MatLab As Object
Set MatLab = CreateObject("Matlab.Application")
MatLab.Execute ("a = 1")
MatLab.Execute ("disp(a)")
End Sub
我需要在matlab中显示变量"a“的值,显示窗口对我来说应该是可见的,以检查命令是否被执行?
我需要从python运行一个matlab脚本。matlab脚本返回一个数组,我猜它可以保存为*.mat文件。
有没有可能直接从python中执行matlab代码,然后检索它?
例如:
myarr = somematlabbridge.execute("matlab function")
或者,有没有可能这样做:
somematlabbridge.execute("matlab functions to execute the matlab and save it in a file")
这样我就可以将文件读取到Python中,以检索matlab函数的输出?
我需
Simulink有一个名为"Matlab函数“的模块,它允许您在Simulink流程图中创建自定义函数。
在Simulink Matlab功能模块中实现了一个简单的函数。我的函数包含了对Matlab内置rms()的调用。当我运行Simulink模型时,会得到以下错误:
The function 'rms' not supported for standalone code generation
如果在Simulink模型中从Matlab函数中删除rms,误差就会消失,模型将完美无缺地运行。
问题:
在Simulink中是否有一种使用Matlab的rms 的方法?
我在matlab中定义了以下函数:
function draw_snake(snake,food)
但是matlab向我展示了一条错误信息,它说:
Error: Function definitions are not permitted in this context.
我是新来的matlab和刚刚安装它。
我正在使用MATLAB版本8.1.0.604。
我正试图使用C#类,特别是feval函数,从MLApp调用MATLAB函数。
由于我是一个初学者,我查看了互联网,并发现帮助调用MATLAB函数。我只是简单地调用了一个MATLAB函数,它以两个整数作为输入,MATLAB正确地返回和差。但我真正需要这样做的原因是将图像发送到MATLAB函数并进行一些分析。
到目前为止,我还没有在互联网上找到任何有用的东西。这个类可以用来把图像传递给MATLAB函数吗?如果是这样的话,怎么做?如果不是的话,还有其他的方法吗?
MATLAB
function [x,y] = myfunc(a,b)
x = a + b;
y = a-b;
C
MLApp
我在一个虚拟环境中运行Python2.7和matlab2015a。matlab和python都在路径中(我可以从终端启动它们)。但是,每当我这样做的时候:
python
from matlab.engine import pythonengine
pythonengine.find_matlab()
我明白了:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no att
这个错误在matlab中意味着什么?当我使用2个输入图像(图像为tif格式,浮点,32位,大小为(5165,11945,7))在命令窗口上运行函数时,matlab显示以下错误信息。
Undefined function or method (name of input image) for input arguments of type double。
有人说,这是因为不同的工作目录。但到目前为止,我在matlab (c:\User\user\Documents\MATLAB\)中只有一个工作目录。我所有的图片都在里面。我可以在matlab屏幕上的当前导向器图标的文件列表中看到它们。我真的很困
我遵循这些步骤:
但却得到了很多警告:
>> addpath(genpathKPM(pwd))
Warning: Function
D:\MATLAB\R2007b\toolbox\FullBNT-1.0.4\KPMtools\assert.m has the same
name as a MATLAB builtin. We suggest you rename the function to avoid a
potential name conflict.
> In path at 110
In addpath at 89
Warning: Function
D:\
我想把一个数字加到小数点3位。在MATLAB中,我可以很容易地这样做:
>> number=25.0001;
>> round(25.0001,3)
ans =
25
如果我试图在MATLAB函数块中的Simulink中这样做:
function D_avg1 = fcn(m)
%#codegen
D_avg1 = round(m,3);
它会产生错误:
Error calling 'round'. This call-site passes more inputs to this function than it can accept.
Func
我有一些使用MATLAB的的代码,我想给一个使用MATLAB 7.10.0 (R2010a)的学生。
由于某种原因,即使学生安装了曲线拟合工具箱,该函数似乎也不存在:
EDU>> ver
-------------------------------------------------------------------------------------
MATLAB Version 7.10.0.499 (R2010a)
MATLAB License Number: STUDENT
Operating System: Microsoft Windows XP Version 5
我有这个共享库作为dll文件,我试图在MATLAB中加载和使用它,它包含输出一些日志的函数,我想在MATLAB命令窗口中显示这个输出。
%MATLAB Code for loading and using the functions
NET.addAssembly('C:\Users\User1\Desktop\SomeLib.dll');
import Lib.DesiredClass.*;
myFun();%I'm expecting here an output.
我已经完成了我的研究,并找到了一种使用以下命令在CMD (单独窗口)中显示输出的方法。
C:\Use