我无法重现您报告的第一个错误。它可能与文件不在路径上有关。避免这种情况的最简单方法是将工作目录更改为包含.m
文件的目录。
您在您的评论描述第二个错误是由于这样的事实,你想拥有的一个文件,该文件是一个Matlab的功能,并在同一时间MATLAB程序。两者都有扩展.m
,但第一个包含一个函数定义(可以用参数调用,具有局部变量,并且可以返回值的东西),另一个包含一系列matlab语句,这些语句要像执行一样他们在命令窗口中被逐个输入。
执行以下操作:
- 做一个MATLAB函数文件sierpinski.m
只包括你的函数代码:
function sierpinski(x,y,n)
hold on
if n == 0
fill(x,y,'r')
else
x2 = [(x(2)-x(1))/2, (x(2)-x(3))/2, x(3)+(x(2)-x(3))/2];
y2 = [y(1), y(3)/2, y(3)/2];
sierpinski(x2, y2, n-1)
end
将文件保存到当前目录或路径的目录。
- 在命令窗口中,输入语句sierpinski([0,1,0.5],[0,0,1],2)
。结果是一个带有倾斜的红色三角形的数字窗口。不是一个谢尔宾斯基三角形,但我想第一步就完成了。 ;-)
而不是在命令窗口中输入该语句,您也可以制作一个Matlab脚本文件。用名称编辑文件run_sierpinski.m
,其中包含声明:
sierpinski([0,1,0.5],[0,0,1],2)
再次,将文件保存到当前目录或路径的目录。
现在,您可以通过单击GUI中的“运行”按钮(绿色三角形左右)或在命令窗口中输入run_sierpinski
来运行该脚本。无论如何,结果应该与直接输入声明相同。
你能否提供更多的代码作为上下文?另外,当你从命令窗口调用函数时,会出现错误信息,还是在'sierpinski'代码中引发错误? – Alan
你的目录中存在这个函数吗添加到路径中? – user1343318
'函数的Sierpinski(X,Y,N) 暂缓 如果n == 0 填充(X,Y, 'R') 否则 X2 = [(X(2)-x(1))/ 2,(x(2)-x(3))/ 2,x(3)+(x(2)-x(3))/ 2]。 y2 = [y(1),y(3)/ 2,y(3)/ 2]; 谢尔宾斯基(X2,Y2,N-1) 端 端 的Sierpinski([0,1,0.5],[0,0,1],2)' 我的代码还没有准备好,所以我知道我我可能不会用到目前为止的代码来获得Sierpinski三角形。无论如何,我想得到的东西,而不是错误。 – Djamillah