我無法重現您報告的第一個錯誤。它可能與文件不在路徑上有關。避免這種情況的最簡單方法是將工作目錄更改爲包含.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