2010-05-29 67 views
0
>> fplot(fh,[-2 4]) 
??? Undefined function or variable "e". 

Error in ==> myfun at 3 
Y(:,2) = e(:).^x; 
Error in ==> fplot at 102 
x = xmin; y = feval(fun,x,args{4:end}); 

我試圖用這個m文件繪製兩個函數。Matlab Error- fplot();

function Y = myfun(x) 
Y(:,1) = 3*x; 
Y(:,2) = e(:).^x; 
+1

您似乎在使用矢量'e(:)'而沒有真正定義它。 – Donnie 2010-05-29 18:37:10

回答

1

由於甄子丹在自己的評論中提及,該變量e在m文件是不明確的。

如果您在其他地方定義了e,則必須將其傳遞給myfun,以便該函數知道其值。由於fplot不接受具有多個輸入值的繪圖函數,因此您需要將其傳遞給匿名函數。

首先,您需要更改的myfun定義,包括e輸入:

function Y = myfun(x,e) 
Y(:,1) = 3*x; 
Y(:,2) = e(:).^x; 

然後,創建你的函數句柄FH像這樣(FH仍然只需要一個輸入,MATLAB使用的值e因爲它是在工作區的時候定義創建函數句柄):

fh = @(x)(myfun(x,e)) 

最後,你可以調用fplot喜歡你用來

fplot(fh,[-2 4]) 
+0

問題解決了。但有人可以告訴如何在圖形上直觀地獲取根。 – Shamendra 2010-05-29 19:31:49

+0

在圖形窗口中,單擊數據光標並從數據提示中讀取根的x值,如下所示:http://www.mathworks.com/access/helpdesk/help/techdoc/creating_plots/f4- 44221.html – Jonas 2010-05-29 19:37:06