2011-11-10 61 views
0

我被困在一個與matlab相關的案例中。如何在MATLAB中從m文件中刪除行

我通過使用這些命令創建通過腳本文件:

delete output 
delete f.m 
clc; 
% This is a Cell Array! 
prompt={'Enter Function f(x) Here :'};... 
% Name of the Dialog Box 
name='Trapezoidal Rule Input Screen';... 
numlines=1; % Number of lines visible for User Input 
% Default Answer 
defaultanswer={'1 + exp(-x).*sin(4*x)'};... 
% Creating the Dialog box where the User Input is stored into a Cell Array 
answer=inputdlg(prompt,name,numlines,defaultanswer);... 
global y1 
y1=answer{1};... 
diary f.m; 
disp('function y = f(x)');... 
      %disp('y = '),disp(y),disp(';');... 
      %disp('y = ((1+(x^2))^-1);');... 
      fprintf('y=%s;\n',y1); 
diary off; 
f(0); 

時已經建立的運行檢查按鈕,然後FM文件中的點擊,因爲它是腳本的一部分,併產生了FM文件

下面的代碼
function y = f(x) 
      %disp('y = '),disp(y),disp(';');... 
      %disp('y = ((1+(x^2))^-1);');... 
      fprintf('y=%s;\n',y1); 
y=1 + exp(-x).*sin(4*x); 
diary off; 

但它會停止並突出顯示y1在定義之前明顯使用的錯誤。

fprintf('y=%s;\n',y1); 

因此,如果有任何1有關於這個問題的一些解決方案,請幫助我。

+0

爲什麼你創建f.m呢?爲什麼不在原始腳本中做f.m文件呢? –

+0

請使用編輯器中的「{}」按鈕來格式化您的代碼。 – Mat

回答

1

我不會濫用這個日記命令。

爲什麼不乾脆:

fid = fopen('f.m','w'); 
fprintf(fid,'function y=f(x)\n'); 
fprintf(fid,'y=%s;\n'; 
fclose(fid);