如何在matlab定义函数中定义参数的数据类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在matlab定义函数中定义参数的数据类型相关的知识,希望对你有一定的参考价值。

一个求解线性方程组的Jacobi迭代法函数
function [x,k,flag,err]=Jocobi(A,b,delta,max1)
% 求解线性方程组的迭代法,其中
% A为方程组的系数矩阵
% b为方程组的右端项
% delta为精度要求,缺省值为1e-5
% max1为最大迭代次数,缺省值为100
% x为方程组的解
% k为迭代次数
% flag为指标变量 flag='OK!'表示迭代收敛到指标要求
% flag='fail!'表示迭代失败
if nargin<4 max1=100;end
if nargin<3 delta=1e-5;end
n=length(A);k=0;
x=zeros(n,1);y=zeros(n,1);flag='OK!';
while 1
for i=1:n
y(i)=b(i);
for j=1:n
if j~=i
y(i)=y(i)-A(i,j)*x(j);
end
end
if abs(A(i,j))<1e-10|k==max1
flag='Fail!';return;
end
y(i)=y(i)/A(i,i);
end
if norm(y-x,inf)<delta
break;
end
x=y;k=k+1;
end

输入A阵和b阵后调用函数提示没定义参数类型

A=[4 1 -1;1 -5 -1;2 -1 -6],b=[13 -8 -2]'
[x,k,flag]=Jacobi(A,b)
Undefined function or method 'Jacobi' for input arguments of type 'double'.

请高手解答谢谢,如果回答正确可追加分

参考技术A 出现这个错误可能是你的自定义函数并没有加入matlab默认的搜索范围
可以试试看
在主界面中 file->set path->add folder
将你存储这个函数的文件夹添加进去
再试试看调用这个函数本回答被提问者采纳
参考技术B 直接把f作为函数的参数既可以。
1、f.m
function
y
=
f(n)
y
=
n^2;end2、demo.m
function
y
=
demo(f)
y=f(40)/(f(30)-f(20))end3、在命令窗口调用:
>>
demo(@f)ans
=
3.2000

在matlab中如何根据拟合图得到函数?

参考技术A

在matlab中根据拟合图得到函数步骤如下:

1、常用的模型有多项式模型、幂函数模型、指数函数模型等。

2、设出函数,用命令“plot”绘出图像作为对比。

3、准备好散点数据,用命令“plot”绘出散点作为对比。

4、调用函数“fit”,参数包括散点数据和曲线拟合模型。

5、按回车键即可完成曲线拟合,p1、p2、p3为多项式前面的系数。

以上是关于如何在matlab定义函数中定义参数的数据类型的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB:“char”类型的输入参数的未定义函数“libsvmwrite”

Java中如何调用函数和自定义函数

matlab自定义函数拟合

matlab 2014a调用所有自定义函数时,都出现”未定义与 'double' 类型的输入参数相对应的函数 “,怎么做

在Python中定义Main函数

es6新增--变量定义与变量类型