matlab里面缺少自带函数怎么办?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab里面缺少自带函数怎么办?相关的知识,希望对你有一定的参考价值。

我是菜鸟,现根据书上的程序编写,然后运行的时候,就出现Attempt to execute SCRIPT histeq as a function. 但是在别人的机子上运行得好好的,这样的情况出现好几次了,说是缺少这些自带函数,难道说缺了这么多??请问各路大虾,除了重装之外,肿么办?望指导

有可能是因为版本不一样,或安装的选件不一样。
比较好的方法是重装,也可以缺哪个文件,就复制那个文件。

查看MATLAB函数源代码的方法:

1、在命令窗口中输入:type 函数名(例如type rgb2gray等),就会在命令窗口出现该函数的相关说明及源代码;
2、在命令窗口中输入:open 函数名(例如open rgb2gray等),就会打开该函数的m文件;
3、在命令窗口中输入:edit函数名(例如edit rgb2gray等),同样会打开该函数的m文件;
4、还有一种方法就是故意将原函数的参数类型或者个数写错,就会出现出错提示,点击提示出错处,也可以打开该函数的m文件;
很多大型的函数都能获得源代码,但是MATLAB里面有一些built-in函数是看不到源代码的,sort就是其中之一。这些函数是预编译好的,运行效率非常好,比如像find、min、max等频繁用到的一些函数还有很多矩阵运算函数都是built-in函数。
参考技术A 有可能是因为版本不一样,或安装的选件不一样!
比较好的方法是重装,也可以缺哪个文件,就复制那个文件(这样程序复杂)!本回答被提问者采纳
参考技术B 有可能是因为版本不一样,或安装的选件不一样!
比较好的方法是重装,也可以缺哪个文件,就复制那个文件(这样程序复杂)!
参考技术C 要搞清楚程序使用了什么工具箱,然后选择安装工具箱

matlab里面的function的输入参数有函数怎么调用?

这里举个简单的例子
function c=fun(y,a,b)
%%假设这个函数是求函数y在[a,b]区间的积分值。
上面的函数怎么调用啊。
我是这样调用的
syms x;
y=2^x;
aa=fun(y,1,2);

function用来定义函数,一般一个函数放在一个.m文件里。举个简单的例子建立一个myfunction.m,然后在文件中写。
function y=myfunction(a,b)
其中a,b是输入函数的参数,y是函数返回的值。当需要返回多个值时,可以将y看作一个数组,或者直接将函数的开头写成如function [x,y]=myfunction(x,y)的形式。
然后就是定义函数的内容,通俗的说就是怎样由输入参数a,b得到返回值y。比如最简单的y=a+b。

总结一下,将下面的代码
function y=myfunction(a,b)
y=a+b;
保存为一个m文件myfunction.m,调用方式如下。
num=myfunction(3,4);
这样就可以由函数中的y=a+b得到num的值是3+4=7。
参考技术A 个人感觉:如果要求一个函数在区间[a,b]上的积分,不应该这样定义函数
你是有什么特殊要求?
应该是在函数体里定义函数,然后在主程序里调用函数
例如:
函数:
function y=fun(x)
y=2.^x;
保存后
在主程序里调用:
aa=quadl('fun',a,b);才对呀。
怎么感觉怪怪的,可能编程思想不一样。追问

其实我那样调用好像是没错的;
没错我的求积分函数确实很特殊,是高斯勒让德积分求积分值~~

追答

我就说嘛,我也没说错,函数是可以任意定义的
可是你的函数体里并没有定义输出宗量的形式呀,就是说你定义的函数是什么形式呢?

像你说的这样,貌似主程序的调用也没什么大问题
要不把你的问题整个拿出来吧。

本回答被提问者和网友采纳
参考技术B 就是这样调用的。

以上是关于matlab里面缺少自带函数怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

Mathematica里面用Plot画图怎么只有坐标没有图像?

matlab为什么缺少工具

谁知道怎么用matlab调用lingo

matlab里面的function的输入参数有函数怎么调用?

matlab怎么调用函数

matlab里面怎么实现结构体数组的函数调用