這個問題很有意思,要綜合matlab的幾個函式。解決方案如下:1.建立一個文字檔案 function.txt 當然裡面的內容就是 cos(t)+cos(2*t)+exp(-3*t) 這個函數了(要提醒的是,乘號一定要有 你的cos(2t)就沒有 這個是不行的,還有對於e這樣的值,在matlab的表示是exp,因此e^(-3*t),也需要改寫成exp(-3*t))。2.使用importdata("function.txt")就可以得到這個字串形式的函式,不過這個函式是裝在一個cell中,所以得取出來,程式碼如下:fc=importdata("function.txt");fc=fc{1};3.取出來之後得到的是個字串啊 !怎麼計算呢? matlab中專門有一個針對字串函式的求值函式,eval,用這個函式之前建議你先help 一下 。eval的呼叫有兩種形式,一種是拼接,另一種就是直接對字串所表示的函式進行代入求值,很顯然這裡我們需要用到第二種。程式碼如下:t=1.2;%%測試值y=eval(fc); 完整程式碼如下:funcion.txt中 cos(t)+cos(2*t)+exp(-3*t) fc=importdata("function.txt");fc=fc{1};t=1.2;y=eval(fc);
這個問題很有意思,要綜合matlab的幾個函式。解決方案如下:1.建立一個文字檔案 function.txt 當然裡面的內容就是 cos(t)+cos(2*t)+exp(-3*t) 這個函數了(要提醒的是,乘號一定要有 你的cos(2t)就沒有 這個是不行的,還有對於e這樣的值,在matlab的表示是exp,因此e^(-3*t),也需要改寫成exp(-3*t))。2.使用importdata("function.txt")就可以得到這個字串形式的函式,不過這個函式是裝在一個cell中,所以得取出來,程式碼如下:fc=importdata("function.txt");fc=fc{1};3.取出來之後得到的是個字串啊 !怎麼計算呢? matlab中專門有一個針對字串函式的求值函式,eval,用這個函式之前建議你先help 一下 。eval的呼叫有兩種形式,一種是拼接,另一種就是直接對字串所表示的函式進行代入求值,很顯然這裡我們需要用到第二種。程式碼如下:t=1.2;%%測試值y=eval(fc); 完整程式碼如下:funcion.txt中 cos(t)+cos(2*t)+exp(-3*t) fc=importdata("function.txt");fc=fc{1};t=1.2;y=eval(fc);