→ name0625: B的檔名是Amat嗎? 04/23 00:04
→ incessantgas: 是的 04/24 04:13
→ incessantgas: sorry忘記說清楚~ 04/24 04:14
→ name0625: 那我不太懂你的問題在哪耶,function都設好了,你是想 04/24 09:46
→ name0625: 為什麼阿? 04/24 09:46
→ name0625: 問什麼啊? 04/24 09:46
→ incessantgas: 我的問題出在A.m檔案裡指定的x傳入Amax.m(也就是B.m 04/25 00:37
→ incessantgas: )之後沒辦法被當成矩陣裡面的element. 04/25 00:37
→ incessantgas: 謝謝 04/25 00:38
推 profyang: 看不懂你問題 都寫好了傳進去不就好了 你可不可以貼一下 04/25 08:48
→ profyang: error code? 04/25 08:48
推 profyang: 你x傳進B之後寫a=x(1);b=x(2);b=x(3);之類的就好了啊? 04/25 08:50
→ incessantgas: 在B.m這個程序當中會先讀入data,才會有變數a,b and 04/25 11:08
→ incessantgas: c,然後才可以做矩陣運算X1。也就是說在A.m裡面沒 04/25 11:08
→ incessantgas: 有任何data,A.m只負責指定需要進入矩陣運算的變數 04/25 11:08
→ incessantgas: 。我要做的事情其實是在A.m當中指定多個矩陣,例如[ 04/25 11:08
→ incessantgas: a c]或是[a b c d e],然後進入B.m去做運算然後得 04/25 11:08
→ incessantgas: 到結果輸出report。在A.m中指定x=[a b c]會得到錯誤 04/25 11:08
→ incessantgas: 訊息 "Cannot find an exact (case-sensitive) matc 04/25 11:08
→ incessantgas: h for 'a'",若寫成x='a b c'則不會有錯誤訊息,但 04/25 11:08
→ incessantgas: 是這樣一來x就變成char,傳入B.m還是char而不是變 04/25 11:08
→ incessantgas: 數,這樣就無法做運算了。 04/25 11:08
→ incessantgas: 希望這次有把問題講清楚QQ 04/25 11:10
→ name0625: 好像看懂你想幹嘛了,你是想用x指定xls的某些數值運算 04/25 19:24
→ name0625: ,再存成y指定的欄位這樣? 04/25 19:24
→ name0625: 用eval試試? 04/25 19:24
推 profyang: 還是看不懂 所以你直接把x當input進去會有什麼問題?你B 04/25 22:36
→ profyang: 裡面不就是用x去做矩陣運算? 04/25 22:36
→ profyang: 你的a b c是在A.m中算出或填入的一些已知矩陣? 04/25 22:37
→ profyang: 那就要看你在B.m中的x大矩陣到底跟a b c這些小矩陣什麼 04/25 22:38
→ profyang: 關係吧 如果維度正確才是像你這樣直接串起來 04/25 22:39
推 profyang: 另外 除非真的非不得已不然還是不要用eval 正常來說沒有 04/25 22:42
→ profyang: 非得要用eval的情況 04/25 22:43
→ name0625: 因為他的B檔案才讀取xls抓數據,看起來是這樣 04/26 00:14
→ name0625: 我猜啦 04/26 00:15
→ name0625: 不過應該可以xls讀取完處理成cell吧? 04/26 00:20
→ name0625: 版本新一點還有readcell可以用 04/26 00:22
→ name0625: html 04/26 00:23
→ name0625: 或是readmatrix 04/26 00:24
→ name0625: 這樣就可以改成指定index避免eval了 04/26 00:25
→ incessantgas: 先謝過p大和n大熱心指教~~ 04/26 03:18
→ incessantgas: @p大: a, b, c要在B.m當中才會從excel讀進去。基本 04/26 03:19
→ incessantgas: 上A.m只是指定矩陣x要包含a,b,c而已。A.m本身沒有 04/26 03:19
→ incessantgas: 任何其他資料或是變數。 04/26 03:19
→ incessantgas: @n大:readcell也許是個好主意,只是不知道why我的 04/26 03:20
→ incessantgas: matlab沒有這功能(R2018a)。另外可否詳述一下所謂 04/26 03:20
→ incessantgas: "xls讀取完處理成cell"是甚麼意思?是指儲存成cell 04/26 03:22
→ incessantgas: 型態嗎? 04/26 03:22
推 profyang: 通常這樣我會從B中定義x和a,b,c的關係 因為沒必要從外部 04/26 07:55
→ profyang: 指定他們的關係 在B.m中搞定就好 不過你如果硬要的話不 04/26 07:56
→ profyang: 是有function handle這種東西嗎? f=@(a,b,c) [a,b,c] 04/26 07:56
→ profyang: 傳f進去B.m 然後在B.m中就x=f(a,b,c)就好了 04/26 07:56
→ profyang: 另外2019a才有readcell 在之前版本用[~,~,raw]=xlsread 04/26 07:57
→ name0625: 對啊,像profyang那樣的用法就存成cell了,可以避免eva 04/26 10:05
→ name0625: l,不然eval用下去,隔一陣子很容易看不懂當初在幹嘛 04/26 10:05
→ incessantgas: 小弟不才,今天才知道有handle這招,用handle我的 04/26 23:54
→ incessantgas: 問題就解決了!!謝謝p大和n大的熱心解惑 04/26 23:54