2013-06-05 20 views
0

我沒有MATLAB或數學的經驗,但我想做到以下幾點:我在哪裏可以把公式在MATLAB

  • 轉換Excel文件的製表符分隔的文件,並在組織的MATLAB打開此通過以下方式: 每一行是一個新的課題 第一科拉姆爲主題的名稱 其他8列是每個科目的參數

  • 我想運行在每個主題一個growthfunction並得到如下結果 的最大限度城市和相應的增長和時間 達到最大速度之前的最小速度和對應的時間和生長 最大生長(函數接近的asymptot)

- 這是我會使用

代碼
tmin=0; 
tmax=20; 
dt=1 
t=tmin:dt:tmax; 
y = m1.*(1-1./(1+(m2.*(t+m8)).^m5+(m3.*(t+m8)).^m6+(m4.*(t+m8)).^m7)); 
dy=diff(y)./dt; 
max(dy); 
min(dy); 
imax=find(dy==max(dy))+1; 
imin=find(dy==min(dy))+1; 
t(imax); 
t(imin); 
y(imax); 
y(imin); 
y(20); 

我在哪裏放這段代碼,以便它知道m1到m8對應於我的文件中的不同列?我如何鏈接這些? 我怎樣才能確保每個科目的輸出出現在我的製表符分隔的文件(如Excel)

簡單列了我想這樣做: 有一個文件,每行一個新的課題和第2-9欄是參數m1至m8的值。運行公式,以便在第9列,我將有最大速度,在10個最小速度,因此一個...

誰能幫我出

感謝

回答

0

[〜,〜,RAWDATA] = xlsread( 'yourExcelSheet.xlsx')

SUBJECTNAMES = RAWDATA(:,1 )%我認爲()比{}更好,可能不得不將其切換。

數據= cell2mat(RAWDATA(:,2:9))%的最後8列轉換(2至9)的類型雙 %的基質這也^^假定有在Excel中沒有標題,如果有(2:結束,2:9),而不是我上面的

m1 =數據(:,2) m2 =數據(:,3) %等等。 M8 =數據(:9)

或者,如果你能得到在混亂,替補 「數據(:,2)」 在你的公式,而不是M1,它會給你一個小加速

聲明:我只是把所有這些都寫在了我的頭上,如果它錯了,希望它只是一些小事,否則讓我知道。

+0

@Hoogendijk,你的方法將無法正常工作。要麼你去消除所有的科目名稱(字符串),或者你將有 – Shaun314

+0

感謝 做我只是添加下面我已經作出這些腳本的雙重價值丟在一個墊子與cell2mat? – user1719126

+0

上面,您的腳本執行計算,我的腳本將爲您設置數據。 :) – Shaun314

0

你可以導入數據通過雙擊xls文件。應該出現一個對話框。選擇您要導入的數據範圍。

可以然後簡單地說明名字(:,1)= M1等